What's the right way to think about spending time on your job vs. spending time on side-projects? Once I finish enough work to meet expectations, should I then work on side-projects? Should I think of it more time-bound, and think of my job as the coding I do during the day, and then on my own time I only work on side-projects?
My thoughts are scattered here, but I know that side-projects are key to learning new tech, keeping yourself sharp, and enjoying coding more. On the other hand, linear thinking would say throw yourself entirely at your job, and ride that as high as you can.
Appreciate any insights on the matter.
I'd say it's a mix of them being able to sustain their current level and finding enjoyment in their side projects (Alex also explicitly took a lower level at Robinhood so that he could have more time to take things on outside of work). My post really isn't about characterization fixed paths, but about identifying goals. If you do not have a clear goal in mind for taking on side projects (besides just wanting to do them), then you'll likely won't make signficant progress on your side projects and won't really have that much to take away from the experience.
It depends on what your goals are with your time.
If you want a midway-ish balance, you should look to identify bottlenecks in your day-to-day work and look to learn technologies that might mitigate them. Especially if your coworkers are experiencing similar issues, you'll have a stronger case to explore certain tools and technologies.
I don't know about your characterization, both Alex and Rahul spent lots of time building side-projects and they both had top-level income. And I think they both credit side-projects with making them great engineers. Wouldn't that indicate it's always important to be working on side-projects, or are they just anomalies?