Building a software engineer team
Usually, people ask me about how to build an engineering team in order to build an MVP. Usually, they are looking to hire a technical co-founder. Given a general lack of available engineers in Silicon Valley, it's now the most competitive market to hire software engineers. Startups have to keep offering perks and high salaries in order to attract the very best. So, It is natural that founders struggle to grow an engineering team.
a local or distributed team?
it's great to have everyone in the same place. And in the ideal world, you would. But If you focus to find talent locally it sort of limits the pool of people that you can look at. The issue with distributed teams is communication but with the new tools it becomes better working remotely.
Check Why work doesn't happen at work TED talk that supports remote work. You need to work with people that can handle not being in an office. This excludes juniors and inexperienced. The former needs support and the latter needs close supervision. You need to find people who are mature can do a good job owning tasks, following up and being proactive. In summary, they need to be self-motivated and self-driven. Also, a yearly meeting helps people bond and work better.
The way we approach this issue is with a mix of both: engineers work locally in Mexico and product managers work locally with customers and users. This way I believe we get the best of both worlds. Engineers can interact, support each other, do pair programming and share time outside the office. While Product Managers can work closely with users and understand the problems we are trying to solve with the software product. And since the team in Mexico is 4 hours away by plane we can meet every other month.
in-house or outsource
I have heard both sides of the story. There is the false sense of security having an in-house team. Managers think it will be a good investment for the long term but I've seen the opposite. Most engineers jump jobs in 8 months and they take the knowledge with them. I find interesting the low level of long-term commitment. Usually, stocks help to minimize this issue. Also, they prefer an in-house team so that they can supervise and troubleshoot all aspects of the process. On the other hand, I heard horror stories of bad experiences working with outsourcing companies. Lack of commitment, lack quality and lack of control. You don't know what's going on until it's already too late and you missed the deadlines. Also, there is the issue of lost knowledge transfer.
We work with the technical co-founders to share and document everything we build. Furthermore, we work on a long-term relationship. We have been involved in different projects from 1 and up to 4 years. We believe in building a sustainable process where the engineering team can find their pace so that we can focus on improving the process. This approach allows us to build well-designed features, provide accurate estimates and align due dates with milestones. We can deliver predictably Since the technical co-founders are involved in every step of the process we both learn how to run a sustainable. It's an amazingly unique experience with each team. I have been doing it for almost 10 years, and I always learn something new.
onshore or offshore
Some offshore companies have issues with cultural differences and time zone issues. Can an engineer in Mumbai understand the experience you are trying to provide? Do they fully understand the problems you are trying to solve? Also, working with a big timezone means a delay to get and provide feedback. a 10 hours difference could mean 2 days lost between sending a request, providing and giving feedback. On the other hand, onshore teams have a good understanding of the experience you are trying to provide but the premium costs make it prohibitive for most startups.
Our approach is a mix of both. We work on the same timezone to avoid any communication delays. Then our team works from Mexico and they are embedded in the American culture. Some lived in the US and decided to move back to Mexico. And we travel as often as once per month to work locally. I think is the best of both worlds that allow us to bring an exceptional team that can deliver high-quality software on time.
Choosing what kind of team you should work with is critical to the success of your startup. There are plenty of things that could go wrong: slow time to market, communication issues, testing the wrong things. Among other examples
We specialize in building the technical team, So you can focus on Customer and product development. You can leverage working with matured engineers and my 10 years of experience leading so you can launch the software product faster and better.