In my previous post, I outlined when and why to hire certain tech roles in early- to mid-stage startups, and this article will build on Part 1.
Before we go more in depth, all of the roles below will most likely be “nice to have.” If you are struggling with your product market fit, have no traction, and are pivoting every two months, you likely have bigger fish to fry than hiring the roles below. Meaning, it would probably not be the best idea to do more hiring until you figure out these other issues.
I’ve seen this role mean many different things based on what type of company it is, the company’s size and how quickly growth happens.
As Greg Pollack would say, you should hire a project manager as soon as you can afford one. I could not agree more with this statement.
As the product grows, more features get added, more things get broken and complexity quadruples. Keeping track of all of that and making sure people are doing the right thing at the right time, quickly becomes a burden on a CEO/CTO. That is usually about the right time to hire a project manager.
- Managing a project
- Creating and following up on daily standup meetings
- Creating product roadmaps
When to hire: Early stage
Software Architect/Database Engineer/Developer Operations Engineer
The roles of a database engineer, developer operations (DevOps) engineer or a software architect are what I like to call “special” roles.
When to hire these roles will vary widely from company to company.
For example, you can go a long way in your product’s lifecycle without needing a person that will only deal with your database. Same will probably go for DevOps and software architect roles.
Having a CTO that previously scaled technology will come in quite handy here, because they will be able to determine at which point you do need what specialties.
Now, once you hire those “special” roles, the next step would be splitting everything into teams, but that’s a topic for another article.
Responsibilities of a Database Engineer:
- Handling database sharing
- Managing performance database issues
- Monitoring database for any flaws and security issues
Responsibilities of a DevOps Engineer:
- Ensuring developers have proper tools for deploying their code
- Making sure that all of the cloud infrastructure is running properly
Responsibilities of a Software Architect:
- Creating infrastructure/architecture needed to support your business
When to hire: Varies depending on the company and stage
Machine Learning Engineer
There is a lot of buzz in tech nowadays around topics like artificial intelligence and machine learning.
I would consider a machine learning engineer to be a specialty role, in the same vein as the ones mentioned above. Of course there will be use cases where the core of your product is based on machine learning, in which case you would probably want to hire a machine learning engineer sooner rather than later.
- Implementing different algorithms on various systems
- Being able to handle data science tasks
When to hire: Mid-to-late stage
Well, that pretty much covers the basics of technical roles and when to hire them. Good luck!