The Four Stages of Every New Software Job
Oh yes!! the rush after getting the job offer email and starting your first day at a new software job is unmatched. A new team, a new domain, new technologies, …everything is new and awesome.
But at the bottom of your heart, you are aware you are just going to be hit by a storm of unknowns and unexpected challenges. It would be much better to have a plan and a strategy.
Every new software job has repeated stages. I have worked so far in 3 different companies and built freelance web apps with 30 clients. From this, I have found a pattern for every new software job.
The pattern consists of 4 stages:
Let’s see the timeline of each of them, what will happen and what you should do about it to be prepared.
Timeline: first few weeks.
Everything is amazing… new…exciting and you are full of energy and fire to understand everything and contribute to everything to show off and prove you are worthy.
Try to tame yourself during this period. You will receive a huge amount of information, have many onboarding sessions, meet new people, understand the company, the business, management board, …etc.
The only two things you have to do at this stage are Observe and Document.
Just listen to everything and document what you have been told and what you observe. Get a notebook or do it digitally whatever you like and start drafting everything you notice and learn.
Timeline: probation period (first 3–6 months).
At this stage, fear might start creeping in and imposter syndrome will start to grow as you get tasks and you don’t know what to do and start to feel disoriented.
This stage is critical to passing your probation period. It’s natural to feel overwhelmed and even not that smart but it’s normal at every beginning.
The only important thing now is: Asking.
Try to understand your team’s goal, the company’s goal, and what you can contribute. Understand the business, the process, and what is the added value, and the business domain.
Ask where is the documentation, how to start and test the project locally, what are the team's current and future plans, who is the first person of contact, what is the release cycle, how things are deployed, how to maintain code, how project management is done in the team.
Spend more time understanding legacy code and why things are like what they are.
This stage is to build a solid foundation.
Timeline: After probation.
This is when you have finally gained confidence and understand how to contribute to the codebase and meetings. I like to call it the pre-expansion stage.
This is when your only goal is: to build a system or a routine and improve it.
You need to increase your developer productivity but not over the expense of your private life so you don’t burn out or worse leave your job.
This would be an incremental process and would take a long time but its effect spans your whole career.
All of this is to prepare you for the next stage when you start to reap all the benefits.
Timeline: after 1–2 years
After you have finally settled in and get to know and contribute to the company, it’s time to grow and get to the next step and ask for a promotion.
To deserve a promotion, you need two things: expertise & responsibilities.
Expertise comes by learning more about different technologies and gaining experience building software and this comes from courses, training, and mentoring.
Courses and training are easy to find and I use personally FrontendMasters and Egghead. For mentoring it’s best to ask a more senior developer to become your mentor and guide you through the steps to get more experience.
On responsibilities, you can ask your manager to get more responsibilities, and if there isn’t try to make ones by starting new initiatives to drive the product.
Don’t forget to document all of your contributions, learnings, and responsibilities as it will come in handy during the reviews to help you ask for that promotion.
And don’t be shy to ask for what you deserve. You want to grow to get better in your career and of course, make more money since your employer is making money from you too.
If you find resistance then maybe it’s time to go on and find a new opportunity for you to grow and advance in your career and that’s why this stage can be renamed Growth/Exit.
Understanding patterns will help you build strategies so you can reap the benefits faster, more efficiently, and with less stress. These 4-stages will happen every time you start something new and will help you predict them.