If You Stop Swimming, You Sink.
Settling in a software development job may not only limit your learning but also damage your mindset in the long term.
Background Process
One of the things I found most attractive about my various periods as a contractor¹ over the years in the grand game of software engineering was the ability to move around from job to job on a frequent basis.
Not only did I free myself from office politics, enjoy the happiness of out-earning ineffective and often vindictive anti-contractor management, but I was able to bring my own very specific technical skills to a role.
This made me happy as the skills I was best at were, naturally, the ones I enjoyed using — and by using them more and more I got better and better at them. Well, at least I thought so…
Management types might call this win-win, I call it doing what you love and having fun while you’re doing it².
I was also able to steer my career in specific directions by carefully choosing new contracts that offered me a chance to cross-learn new technologies somewhat adjacent to my own.
Through all this I kept pretty fresh (exciting!), learned the things I wanted to learn, did the things I wanted to do, and could easily turn down or walk away from the things I didn’t.