Before becoming a web developer I spent about a decade as an aspiring professional musician. I earned a Bachelor's of Music in Instrumental Music Education and taught high school band after college. Throughout college and while teaching I played in orchestras, wind ensembles, jazz bands, and choirs. I gigged with over a dozen bands, recorded numerous albums, and at one point went on a cross-country tour with stops in over 20 states.
According to survey's like the one conducted by Stack Overflow, about a third of professional developers do not have a formal computer science education. When listening to these developers tell their stories on podcasts and in conference talks I notice that many have come from musical backgrounds.
While this is certainly a case of frequency bias, I'm not the only one to make this observation. A quick Google search comes up with Quora questions about the topic, along with articles from Huffington Post, Forbes, LinkedIn, and CNN about the phenomenon.
These articles point to musicians' pattern recognition abilities or their propensity for deliberate practice. Musicians are accustomed to complex notation and abstract theory. While I find these theories compelling, my own experience suggests an entirely different reason for the influx of musicians into the software industry.
It's no secret that musicians are poorly compensated for their craft. Recorded music has been slowly chipping away at the market value of live music for close to a century. This was kicked into overdrive at the beginning of the 21st century when these records where digitized, making it possible to infinitely replicate and distribute every record ever created.
And it wasn't just possible, it became culturally acceptable to expect these newly digitized records to be available free of charge. This has been slowly walked back thanks to subscription services like Spotify, but this has not translated to sustainable income for the vast majority of every day working musicians.
When you're young it's easy to shrug this off. Living in a cheap house with your bandmates and eating ramen all day seems like a small price to pay when you're enraptured in the sheer ecstatic joy of musical creation.
But as you get older you start to notice the things you are missing. Your friends with stable jobs start to buy houses. They get married and have kids. They go on vacations and invest in the stock market. All the while you find yourself maxing out credit cards and selling excess gear to keep from getting evicted. You start driving for Uber or cleaning Airbnbs just to make ends meet all in service of the fantasy that one day you might "make it."
As the years go on you eventually hit a breaking point and tell yourself that no matter what it takes you will never live your life like this ever again. That is when you start learning to code.
You spend hours a day completing exercises on freeCodeCamp, studying algorithmic challenges on Codeacademy, and watching tutorials on Youtube. You build projects, go to meet ups, and send so many job applications your hands start to hurt from typing. You do this because you believe it will lead to a better, more fulfilling, more sustainable life. And then one day after countless hours of grinding, it all pays off and you get that coveted junior developer role.
This is why you encounter so many of us in the industry, and why many more will find themselves here soon enough.