Mistakes and hard times level you up
There are things you can learn from books and things you learn by doing them – the same way you can read as many books as you want about biking, you won’t know how to bike until you ride a bike. This is the reason why you can’t join a company as a senior engineer fresh out of school – even if you come from a top school.
One important aspect of growing through actual experience is that the hardest times are the most fruitful for your growth. For software engineers, shipping features while fixing a broken infrastructure will help you grow much more than if you are working on a well strapped infrastructure where changes follow a well documented SOP. It will help you grow more but because
- You will have a better sense of what a bad infrastructure looks like (the one you fixed) and what a good one is (the one you built)
- You will know how to transform a bad infrastructure to a new one
If you happen to just work in a company where infrastructure is amazing (e.g. in most FAANGs), you won’t grow as much because
- You may know what a good infrastructure is for FAANG but not for your own company
- You may not have a sense of what a bad infrastructure is and/or what bad technical decisions you should avoid
- You won’t know how to go from a bad system to a good one
This is why so many ex-FAANG struggle once they leave – they can’t build the right core infrastructure they need.
What I just wrote also applies beyond engineering – e.g. it does apply to manager skills. From recent-ish talks with directors, I came to the conclusion that I’m a “junior” manager – I never managed a team during difficult times (e.g. during layoffs, when growth was flat etc.). I may be a good one in happy times, but I have no proof/experience that I would be able to perform well during hard times.
I’m not saying you should always stick during hard times, but you should consider the growth benefits of staying. One of the best decisions I made in my career is to stick to YouTube Ads when literally all the infra team left – rebuilding a good infrastructure was by far the best experience I gained from my time at Google.