What is the best time to join a startup as a software engineer?
Everyday, someone, somewhere decides to build his or her own startup. And even if the product being built or the service provided is not mainly digital project, it still needs a website to promote the business and generate leads. In most cases, a developer will be needed.
Assuming that you are a software engineer, you will be approached in many stages of your career by a startup to start working for them. In this article, we will deep dive into the stages of your career and the stages of a startup growth to find out which type of startup would suit best your current career level.
Junior Developer (Frontend or Backend)
As a junior developer, who has just graduated from college, you need to keep learning to program. But not the theory, the practical skills that the market needs. You can satisfy this need for learning in 1 of 3 possible jobs:
- Working as a freelancer, building small basic websites and may be just adding features to existing websites or fix minor bugs.
- Get an internship in a medium to large tech company. Do not get an internship in a small startup. You won’t learn much and it won’t benefit your CV.
- Working in a software house. You will work on many projects, make many mistakes, get to understand many industries and how it gets digitized.
At this level, you have learned the basics. You have worked on multiple projects and you want to work on larger projects with a lot of features and get exposed to more advanced concepts. May be you want to become a full-stack developer instead of a specialized developer.
At this stage, It’s better to work at a startup that has secured a large fund (series A at least) and can sustain for a long time. It has to reach a very advanced stages that qualifies it to hire a big technical team where you can find a lot of mentors and provided guidance.
At this moment, you will be a part of something big. You will build cool features and will be exposed to concepts like Automation, CI/CD and most importantly Agile methodology.
As a senior developer, it will depend on if you chose to be a specialized developer or a full-stack developer. If you like to be specialized in one part of the development process, then that’s fine. However, I won’t lie to you, being a full-stack developer will give you a lot of options and a lot of career advancement chances that you may not get if you chose to be otherwise.
As a senior, you may want to give a chance to big tech companies but this time as a software engineer not an intern. If you’re into that path, try to apply there and see where it leads you to.
Another thing is to apply at a start that has just received a seed funding and just hired a tech lead or CTO and now they are expanding. They are building their big main product from scratch after their MVP proved to be valuable. You will learn a lot about the origins of this big apps and how it’s born.
Well, at this point, you can do many things. But if you are willing to take the risk, it will be a good opportunity to join a young start up. Be a solo developer for a while and build them an MVP or a proof of concept (PoC). Later, you may be asked to hire your own team and start building their product.
May be after a period of time, your risk will pay off very well and they will give you shares in the company to keep you with them. Especially, if you proved yourself at the early stages.
Choosing which company to join depending on your career level is tricky, yet crucial and may have huge consequences if done wrong. The lack of proper guidance in early stages of your career, may leads to you catching a lot of bad programming practices that will scar you for a long time of your career.
That’s why I shared this article since I believe it’s an important thing, yet no body is mentioning this topic as much as it should be.