You don't have to overthink too much as a junior engineer
Every now and then I have discussions with junior engineers who are trying to decide how they’ll build their career and figure out what they can learn from my experience. My regular feedback is that they don’t have to overthink too much.
At the beginning of your career, the expectations a company has from you is to be able to execute fast. You have to grow your understanding of the code base, develop your tools at your disposal and figure out how to become independent. You don’t have to think about whether you should become a generalist or a specialist engineer, what all the strategic decisions that could be made or how you can become a director.
When looking at my early career, here are some things I did that worked out well:
- I never really chase down promotions. I just focused on doing important/impactful work and had good managers who figured out how to build a narrative around my work.
- I invested in my tools – vim, window tiling manager, bash etc.
- I didn’t shy from hard/tedious work – Completing multi-year long tedious migrations is the best way to showcase strong ownership and how you can be a reliable partner.
- Keep an open mind on every topic – I personally was never interested in privacy until I got pretty deep into it. Everything becomes interesting if you have a deep enough understanding of it – this is my experience around privacy, rights, technical infrastructure and many other topics. That’s how you can constantly learn.
- Be nice and have empathy for others – people will be more willing to help you if you did help them in the past or showed consideration for their time/work..
I think once you reach L5, you need to be more actively thinking about how to get promoted but this is the story for another post.
What advice would you give to your younger self?