I had dabbled in programming my whole life, starting with C64 BASIC. In high school learned some C and C++, but once the internet became more accessible moved onto web based languages. After graduating high school, mostly due to having no guidance what so ever, I never put together in my head that I could pursue programming as a legitimate career, walking around with a 16 inch green mohawk pretty much guaranteed that I was labeled a lost cause.
I did a short stint in the Army, ended up in a minor touring punk band till about my mid-20's. Decided that I wanted to pursue something different after realizing the band was a one way ticket to a dead end. I got the brilliant idea to pursue photojournalism. My timing was impeccable. As I was finishing the "great newspaper crash" had started and after working freelance for a few years I started a small photographic advertising firm. But... during all this I was still coding. This was in the early days of what was being called "New Media." A lot of the places I was working with, the older journalists were not interested in how to use the web for better story telling. I didn't hesitate to get my hands dirty creating web sites for stories, working with flash to create interactive pieces, etc.
When I started the advertising firm, a client asked me if I could create a website for their business. Never being one to pass on the chance to make a few bucks, I confidently said "Yes" and proceeded to learn PHP and WordPress as fast as possible.
Around this time I also took the plunge and got married, which ended rather quickly in divorce. I decided to give up my rights to anything we accumulated during our marriage and was living on my friend's couch just trying to get a fresh start. A friend told me about a company his partner worked for that was looking for a developer. With her reference and the pressure of being homeless and hungry, I was able to land a gig as the companies "Web Master" (yeah, they were still using that title lol). The company was sold and the purchaser had their own team and cut the local team to the bones so I started freelancing.
My tips?
- Most developers and SWEs are just as clueless as you even if they have a degree, don't be intimidated.
- Realize that as a self-learner, you have an advantage of knowing how to learn quickly and efficiently.
- Don't make money a priority, salaries for the most part are a side effect if you love what you do.
- Realize you need a break sometimes, burn out is real and will kick your behind if left unchecked (as my own failure of my first tip, I always am dealing with imposter syndrome which leads me to constantly spending even my off time trying to learn more so that my co-workers don't ever say anything negative about me being self-taught)
- Ignore trends and just follow what you enjoy doing or this will quickly become "work". In my own recent experience, I've been feeling the pressure about moving into ML/AI. After a nice long think these last few months as I end my first decade in this field I realized I have no interest in it, I just like building software. Coming to terms with that has done wonders in my mental state and brought a lot of inner peace.
Eventually a friend told me about a gig as a developer with an F500 energy company and helped me get my foot in the door. Worked my way up from a junior SWE to a lead position. I've now moved a few times and am now working in a financial company that is a major player in the world economy. Not because I think it will change much other than making me a better engineer, I've recently returned to school to get my CS degree and am preparing for another pivot into other areas of development once I'm done.
All in all, it wasn't the life track I expected. What I have learned in all this is I love doing what I do. As others have said I think my enthusiasm and passion have taken me a lot farther than the typical "coder bro" that comes out of college with a CS degree because they heard they can make big money quickly.