Have you just completed a new funding round or attracted external investments from VCs or private parties? Congrats! You’re now officially at the start of your startup product development journey.
Now when you have the money, you can start planning your product development roadmap and proceed with proof-of-concept/MVP development processes.
Having built many highly efficient yet cost-effective extended/remote development teams for multi-award-winning and successful startups such as e-bate, Hastee, Offerd, Zeux and others, we’re ideally placed to share with you some tips and tricks of building a software development team that delivers to your expectations and doesn’t cost you a fortune.
Technical Founder, CTO or PM
When drafting your future software team structure, you need to realise that the primary and most important role that will drive your team forward is that of a Technical Founder (Co-Founder), CTO/Head of Engineering, or Project/Product Manager (PM). This person can also act as your Team Lead or Product Owner (PO).
No matter what software development strategy you choose down the road, whether you decide to build entirely in-house or set up an extended team/R&D centre or outsource your project development to a tech consultancy – your tech decision-maker will need to lead this effort, so you should be careful selecting a candidate for this role.
The excitement of joining a startup is understandable. As a candidate, you may like the vision, the people around you, and the amenities in your new office! You can’t wait to get started with the software development team to push out the code. However,
the best way to speed up things is to slow down!
As a startup founder looking for a technical co-founder or CTO, you need to make sure you don’t oversell the opportunity and are entirely on the same page with the candidate with regards to a business goal, vision, expectations, timelines, and more. When evaluating each candidate, ask yourself the following questions:
- Do they really understand the founder’s vision, mission, and values?
- Will they be available to engage in customer calls as often as needed, to interact with other teams such as HR and marketing, stay synched with the founder (other founders)?
- Do they realise they’ll need to be hands-on managers and be ready to do many things on their own instead of following the temptation to handle the drudgery of management to other people (and thus distract them from their day-to-day tasks)?
If, as a startup founder, you have a technical background, you’ll most likely want to hire someone like the VP of Engineering to delegate people and process management while staying on top of technical vision and being responsible for the architectural decision-making.
We recommend you choose a candidate who has managed to send an unambiguous and clear signal to the rest of the startup as to how things will work moving forward. Make sure to choose the one whose ambition won’t come into play with the founder’s one to avoid losing a technical decision-maker when your project is halfway through. Replacing a strategic role in the middle of the project can be more expensive than hiring one before the project kickoff.
In your turn, make sure to create space for your technical founder/CTO to focus on strategic things like building prototypes, exploring new technologies and tools, giving demos, and troubleshooting. You, as a founder, will be talking to stakeholders and potential investors without distracting your CTO from their key focus.
Now when you have hired a CTO or got a technical co-founder, you can delegate the team formation tasks to them.
Define your team type first
Determining the type of team is the first step to building a successful development team. Should they be generalists or specialists or both (a hybrid team)? The answer lies in your project type, complexity, time and budget. Let’s take a closer look at these types.
A generalist team typically possesses a wide range of knowledge and skills. They can contribute to the project in different ways, instead of having one area of responsibility. That, on the one hand, can be very useful when developing complex solutions. But on the other hand, generalists can be a little frustrated if the project requires in-depth knowledge in a particular area.
The specialists are highly qualified and knowledgeable in one area. They are well versed in a specific field and can solve narrow problems faster and more efficiently. Expert teams are suitable for large projects that require in-depth technical knowledge. So if you’ve chosen .Net Stack as your core product development technology, make sure to hire Microsoft developers and roles familiar with C# and other Microsoft tools and frameworks.
However, there are some concerns about communication gaps that may arise in such groups due to misunderstanding of the roles of other members. Moreover, the dependence on team members is high. If one person with a particular experience is falling behind or leaving, it can slow down the entire project.
Building multi-disciplinary, or hybrid teams is a common approach these days.
Hybrid teams can be the best option for many types of projects. Generalists focus on the broader picture, while specialists focus on specifics. Their strengths counterbalance the weaknesses of the other side and vice versa.
Define your team size
You’ve probably heard of Jeff Bezos’ “two-pizza” rule, i.e. one team should be small enough to feed two pizzas.
The point is that small teams tend to focus on what needs to be done rather than scheduling and informing people.
The same approach is used in Agile methodologies. For example, a Scrum Guide recommends you have 3 to 8 members on one team.
However, the size of a software development team depends a lot on the complexity of the project, available resources, budget, and timeline. If you have a large team, communication becomes more difficult. Therefore, it is a good idea to divide a large team into several small, cross-functional independent teams led by different tech leads/external consultants.
Software development team roles and responsibilities
A successful software development team is made up of more than just programmers. There’re other members who are critical to the efficiency of the workflow. While the composition of the team can vary from case to case, here is the most popular example.
Product owner (PO) is a person who has a vision of how the final product should look and feel. The PO takes care of the needs of all product stakeholders, sponsors, end-users, and so on. This role is usually filled by the person who introduces the client to the development team or, in some cases, the client himself.
Project manager (PM) is responsible for the successful launch, planning, scoping, implementation, monitoring and closing of the project. PM optimises teamwork, sets goals and ensures that the product meets all requirements and milestones.
Scrum Master (if required) is a role that exists in the Scrum methodology. This person is responsible for ensuring that the entire team adheres to the most appropriate Scrum practices. Scrum Master helps team members understand the theory, value, and rules of this framework, etc.
Software architect makes key design decisions regarding the internal structure of a software system and its technical interfaces. S/He is a highly skilled software developer who can identify the technology stack and analyse the code to ensure the quality of the design. Architects typically mentor and assist developers throughout the process.
Software developers are the ones who make all the magic happen. These are team members who apply their coding knowledge to design and create software that works. Developers are typically divided into front-end (the visual part of the software) and back-end (the server-side, databases, APIs, integrations, etc.).
UI/UX designers are the specialists responsible for creating interface designs and delivering the best digital user experience in line with the user journey.
Business Analyst analyses the customer’s business needs, looking for ways to improve the quality of digital products and services and optimise costs of development.
QA engineers and testers are specialists who test the product at all stages of the development, identify bugs, and send error reports back to developers for fixing. This role is as important on your startup software team as the role of developers and other specialists.
Startup software team: to build in-house or to outsource?
This is one of the most burning dilemmas facing many entrepreneurs these days. If you’re on a shoestring budget or bootstrapping, hiring specialists locally can be too expensive and time-consuming.
If your startup is based out of the UK, brace yourself to spend on average 28 days interviewing each candidate. The average hiring process exceeds 40 days, as there’s too much bureaucracy involved (especially when you’re hiring full-time contractors).
Evolve runs its own R&D Centre remotely in Ukraine, where we’re able to find, recruit, onboard and bring a software team up to speed within just four to five weeks. Given not too many developers are willing to join a startup in the UK now due to fierce competition with larger and more stable and mature organisations, add up time to pitch your startup project (i.e. at different events, on job boards, in meetup groups, and online forums, etc.) and grab developers’ attention. It would help if you had a very strong internal HR team to fill up all positions fast enough with the right people, which is a rare case for startup organisations. So you won’t likely do without a recruitment agency. However, working with an agency proves highly inefficient and expensive.
Why? Here’re a couple of reasons:
- Each local agency sources candidates from the same pool, i.e. the same people will be shown to your competitors and other companies, so you’ll literally have to fight for each resource you want to see on your team, and you’ll be competing with much more mature brands able to offer higher salaries, better facilities, better social benefits, etc.
- In case of the hire through the agency, you’ll be charged up to 25% of each new hire’s annual salary. Let’s say you’ve found a good Java developer for £55,000 per annum, so you’ll have to pay up to £13,750 as an agency commission. The agency doesn’t provide any guarantee so if your hire chooses to leave you several months later, you’ll still have to pay to the agency and spend extra money on finding the replacement. All of this will lead to a significant accumulation of overheads.
The total cost of the in-house team in the UK
Also, when building an in-house team, you need to consider the following factors affecting your total cost of team ownership:
1. Specialists’ salary
According to Glassdoor, a London-based front-end developer makes around £40,600 a year, or £3,383 a month.
The same source states that the average salary for the back-end developer is £50,000 per year or £4,167 per month; with the annual salary of a QA engineer reaching £24,000 or £2,000 per month.
It should be noted that full-time employees are entitled to 28 working days of paid leave under UK law. This means that for 5.6 weeks each year, you will pay each of your developers a salary while they are away from work.
If you hire these three full-time professionals, your payroll alone will cost £114,600 per year or £9,550 per month.
2. Office rent
Office rent depends on the location where you’re planning to operate. According to the London Office Space calculator, we can see that a very basic office with open space for ten people and a minimum of other amenities will cost you between £41,580.00 to £93,870 per year when considering the long-term rent. The average rate is around £62,370 per year or £5,198 per month.
3. Other costs: additional staff, agencies, employee benefits, licenses, hardware
Hiring additional staff
If you choose to build your software team in-house, you won’t be able to avoid other costs. First, you’ll need to hire an internal recruiter (even if you deal with an agency, you’ll still have to hire one to serve as a middleman between your startup and external recruitment consultants). In addition, you’ll need to hire an account to keep the books.
This is the least that you may need at the initial stage. Later, as your startup grows, you might also consider hiring a system administrator or DevOps engineer, an office manager, or an additional recruiter.
If we turn to Glassdoor stats again, we’ll see that the average salary for the mentioned positions in London is as follows:
- Recruiter – £35,204 per year or £2,934 per month;
- Accountant – £42,053 / year or £3,504 / month;
- System Administrator – £39,223 per year or £3,269 per month;
- DevOps engineer – £53,793 per year or £4,482 per month.
Of course, your product will define your technology stack, and you will need to purchase tools and frameworks to help you develop software better and easier. However, for our assessment, we have included the most essential tools that you’ll most likely need to use no matter what you develop.
- Confluence (PM document filing tool) – £7.42 per month or £89.04 per year. This flat fee is for small teams only (up to 10 users).
- Jira (PM Tool) – £7.42 per month or £89.04 per year. Again, Atlassian uses the same pricing policy and charges a flat fee for a team of up to 10 users.
- GitHub (Product Development Tool) – £155.82 per month or £1,068.48 per year for ten users. This is the price of the Business package, where GitHub offers advanced features including access control and support. There are less expensive options, but their functionality is quite limited.
- Slack (instant messaging and chatting tool) is free for small teams. However, you can get a lot more with the paid version (£49.49) per month or £593.88 per year for ten users.
- Google Drive (data storage and sharing tool) is free with 15GB of cloud storage per user.
You don’t need to be a rocket scientist to see that a basic set of tools for your internal team will cost you around £220.15 per month or £2641.80 per year.
Employee benefits (aka perks) can vary largely depending on your startup size and its current stage. Typically, companies use perks as an added attraction for their employees, and each company has its own vision of what it can offer to its team members:
- Medical insurance;
- Gym subscriptions;
- Free lunches;
- Self-development opportunities (e.g., paid courses, event tickets, knowledge-sharing trips, etc.);
- Company-provided smartphones;
- Team building events.
Of course, in each case, the total cost of the benefits that the company offers will be different. The same goes for hardware costs, as hardware requirements are highly dependent on the type of project you are developing.
Let’s use the numbers we’ve calculated above to estimate the total costs of in-house software development team ownership for 1, 6 and 12 months (excluding taxes, employee benefits, and equipment costs from our calculations):
|1 month, £||6 months, £||12 months, £|
|Account + recruiter||6,438||38,628||77,257|
The Total Cost of Extended/Remote Software Team
However, you have an alternative option that’s already been a “rescue ranger” for many startups with a tight budget. We’re speaking about good-ol’ outsourcing! Instead of building an expensive in-house team, you can hire strategic roles internally while outsourcing your software team to a specialist third-party provider or tech consultancy like Evolve.
Here’re the benefits that can be verified with our existing Extended Team clients.
Benefits of building an Extended Team overseas
Besides cost-saving that has traditionally been the major benefit of outsourced software development, our clients mention the following advantages:
- Time to hire is 2-3x faster due to our access to a vast pool of software dev talent that’s untapped by local agencies in the UK;
- Faster time to kick off the software project as a result of the provider’s expertise and know-how in bringing tailored teams up to speed and productivity;
- Better and more achievable product development roadmap thanks to the provider’s tribal knowledge, experience and library of reusable components;
- The lower total cost of the team;
- Faster time to market;
- No HR, IT and administrative burden when managing the team;
- Retention of the maximum project management control.
If you’re using an outstaffing (aka team extension) model, your only expense is the hourly or monthly salary of each developer you hire and an employee management fee on top of that. Of course, your external development partner will take care of all administrative burdens, including taxes, payroll, recruitment, and retention, etc.
In Ukraine, for instance, the average hourly rate for a senior front-end or back-end developer is around $30 (already including the provider’s management fee), which is around $4,480 (£3,474) per month if you contract with a developer for 160 hours. The hourly rate for a mid-level manual QA engineer is around $18, or $2,880 (£2,233) per month. Thus, a team of three professionals will cost you approximately the following amounts in Ukraine:
|1 mon, $||6 mon, $||12 mon, $|
As such, you can have a full-fledged dedicated remote team that’s 30%-40% cheaper than the team built within the UK. The quality of Ukrainian developers is comparable to that of their British colleagues, and their English proficiency is pretty high.
While keeping a Tech Lead, additional staff like accountant, recruiter and DevOps in the UK, you can still benefit significantly from keeping some important roles overseas.
In conclusion, both in-house and outsourcing models have advantages and disadvantages. For an internal team, for example, hiring is a rather lengthy and costly process, which may impede the delivery of your product to end-users and, thus, result in decreased loyalty and lost competition.
When you outsource, you get a complete team almost immediately, and you can scale it up or down depending on your project requirements and current financial situation. You only pay for the actual number of hours each developer works on your project, not a dime more. Moreover, if you need certain skills for a short-term task, such as UX / UI Design or QA, you can get them for as many hours as you need.
Are you a startup planning to build a software product development team? Get in touch with us to discuss how we can help and how we make a difference!