You should be thoughtful when job hopping
To be clear, I’m not saying you shouldn’t change jobs, be loyal to your employer or some other nonsense – I’m saying you should be thoughtful when switching jobs or switching teams inside a FAANG/large company.
Building a system from scratch is “easy” but maintaining/evolving one is what’s actually difficult. If you launch a new service, get promoted for it and then leave, it’s not obvious to me that:
- You know if your system was actually good and/or how to build a good one – it takes time to assert the quality of a system (e.g. is it flexible enough to accommodate changes in product/regulations, is it scalable enough to handle the increase of traffic, do new employees quickly ramp up on it etc.)
- Your service is actually complete/fully rolled out – corners are often cut to reap early the benefits of a new system. These corners/edge cases are often the most difficult to implement/handle. This is the usual 80/20 rule where you can launch 80% of your service with 20% of the work – but the true/valuable experience comes from completing the remaining 80% of the work.
I personally learned more at Google in YouTube Ads through non glamorous multi-years long projects that I completed rather than the flashy ones that just took a quarter to launch. These long projects taught me how to better plan long-term roadmaps, use synergies between seemingly unrelated projects and expand my domain of expertise.
At the end of the day, this personal growth/experience is just one of the many aspects you should weigh when switching companies though it is often overlooked.
What are your thoughts/experiences on this topic?