Hiring competent software engineers is a real problem for many startups. You can have the best idea in the world along with all the funding you need, but make a couple of wrong hires and it all goes down the drain.
While you can always hire a reliable dedicated engineering team, it’s wise to maintain a healthy balance between in-house and dedicated specialists. Based on our experience working with startups, we’ll share our advice on hiring in-house and dedicated engineers for your startup: where to begin, how to know what dedicated developers you need, and how to know whether developers are truly professionals.
First, get some managing partners
Many founders don’t have enough engineering and recruiting experience to hire developers for a startup. So don’t start with that!
Start by finding experienced partners who can help you hire engineers and manage product development. Building a tech startup is probably unlike anything you’ve done before, and having the right people by your side from the start will help you build a truly worthwhile team.
Chief technology officer (CTO)
The CTO is your go-to technical partner. This is the person who should be making major decisions about the course of product development, maintaining the system architecture, interviewing engineers, and auditing the engineering team’s work.
Hiring a reliable CTO is far from easy: Your CTO should be someone whose opinion and expertise you can fully trust. If you’re not sure you can find a suitable professional yourself, consider hiring a CTO as a service. This is a relatively new commodity on the market: Companies lend their own CTOs to smaller businesses to provide the help they need. A CTO acquired this way can be a member of your team for as long as you need them — until your product is fully on the market or you’ve found an in-house CTO, for instance.
Project manager (PM)
A project manager oversees the development of your product. They encourage the engineers to maintain technical documentation, organize and manage the development process, communicate directly with developers, you, and all other stakeholders, and handle a whole variety of other tasks.
You should be able to trust your PM. They must understand and respect your needs while guiding your project through all of the inevitable hurdles. So try to get an in-house PM: they’ll be the person who keeps a steady hand on your project’s pulse, and you want to be able to talk to them in person at any time.
However, you can also hire a dedicated PM — and a really good one, too. Just look for companies that provide project managers as part of their dedicated teams.
Next, prepare the initial product documentation
The initial product documentation consists of requirements, user stories, acceptance criteria, and other materials that describe your product very clearly. And when we say very, we mean it: Well-written documentation leaves no space for interpretation. You should be able to tell exactly which button does what and which screen takes the user where.
With product documentation, you’ll
- understand what specialists your product needs and when
- know exactly what’s being developed when
- make sure your product is developed correctly.
Creating and maintaining product documentation is likely the most important responsibility for a startup. The more meticulous you are at this, the easier it will be for you to find developers and make sure that your product gets developed. In fact, even if you have to put the entire startup on hold for a while, well-written documentation will enable you to resume development at any point.
Some project managers take on the task of creating and maintaining product documentation. Other times, PMs only agree to maintain documents and want to see the initial requirements before taking the job. In that case, look for a business analyst (BA). They’ll take you through several sessions of rigorous interviews to determine your exact expectations for the final product and compose product requirements, user stories, and acceptance criteria based on those expectations. You don’t, however, need an in-house BA, and you might be be better off with a dedicated one: their services are invaluable at the very beginning, but a skilled PM can easily cover the rest.
Proceed by setting a project development timeline
A project development timeline visualizes how long it will take to develop each component of the product. To create a timeline, a project manager takes the product requirements (which describe the product’s features) and divides them into sizeable chunks. The exact division will depend on the PM’s management approach. But no matter how you slice it, a project will always be easier to tackle if you divide it into small parts.
We asked Anastasiia Sirenko, a Project Manager at Lemberg, to create an example project development timeline. Her timeline outlines the first phase of developing a mobile application that consists of a backend API and two native mobile apps, one for iOS and one for Android.
Given that the customer has provided us with a finalized user interface and user experience design (UI/UX), we would dedicate a team of five to deliver the finished product in about two months. The dedicated team would consist of: 1 full-time backend developer, 1 full-time Android developer, 1 full-time iOS developer, 1 part-time quality assurance specialist, 1 part-time project manager.
See what we did there? We took the project requirements, divided them into phases, quickly pointed out that a project of this scope will require five people to develop, and estimated the amount of time their work will take. With a project development timeline, you should be able to do the same for your own project.
Now, decide who to hire in-house
This is definitely a tricky decision. Depending on your location, hiring in-house developers can be very expensive, and their rates won’t necessarily correspond with their professionalism.
If your budget is tight and you’re not sure whether your company can sustain an in-house developer, don’t hire one yet. Start by getting a qualified dedicated team and slowly work your way up to building an in-house team. Learn more about the development process, speak to your dedicated developers, and regularly talk to your PM and CTO. This approach will ensure that you don’t waste your money on hiring people you’re not completely sure you need.
If you do have the opportunity to hire an in-house developer, start with a backend developer. On most projects, backend developers are the ones most familiar with the system structure. They’ll be able to understand your product’s architecture and share it with other developers, whether dedicated or in-house.
Then, depending on your product’s needs — which you can learn from your CTO and PM — start forming an in-house engineering team. It can consist of: UI/UX designers, Solution architects, Back-end developers, Front-end developers, Firmware developers, Hardware developers, iOS developers, Android developers, Cross-platform mobile developers, Data scientists, QA specialists, DevOps.
If you want to be super secure in preserving the knowledge of your product’s system structure, hire two similarly experienced backend developers to share responsibilities. This way, they’ll be able to back each other up in case of emergency.
Always make sure to get real professionals
Each startup employee has a huge influence on the company’s success. That’s why you should make sure you hire professional engineers with proven skills.
Ideally, there should be at least two people interviewing each new engineer: your CTO (or an in-house developer if you have one) and your PM. The CTO will make sure that the developer knows their stuff, while the PM will see that they fit with the rest of the team. However, even though teamwork is beyond important in software and hardware development, this doesn’t necessarily mean that all engineers should be open and easygoing.
Although there are many articles that define good software engineers based on their communication skills, proactivity, supportiveness, and ability to propose amazing ideas, the typical real-life developer is far from this. What defines a great developer is:
- technical expertise
- responsibility for their work
- respect for their colleagues.
A great developer should be able to do what the PM asks them to and do it well. Otherwise, your project will struggle to be successful. These are the people you should really be looking for, not just someone who’s gotten really good at selling themselves during interviews.
Finally, find dedicated engineers at Lemberg
Lemberg has a lot of experience working with both startups and established businesses. We mentor at many European startup accelerators. Startups are the future, and we want to help them thrive.
If you have a startup idea and are looking for a professional development team, send us a quick message. We could be the ones to help you turn your idea into reality!