Always Have a Project on the Side
If you see programming as just another job, that is fine. There is nothing wrong with that. There are a lot of people that leave work at work and that is fine for the people that works for. It never worked for me.
When I worked in construction during the day, sometimes on the weekend I would come home and build furniture. Because I caught the bug. I was building all these cool things and learning many new techniques. Yes, I still was getting paid to do that but if I left my new skills at work, that was all I was getting out of that job.
But instead, I came home and experimented with how I could apply those skills to make mine and my families life better. I built shelves and tables from scratch with no plans to see if I could. Also nothing generic would actually fit in the places these shelves and tables would go.
So, in the end, I had furniture in my house that I took pride in. Someday, that furniture might be in one of my kids houses and they could tell their kids that grandpa built them. But you know what else happened. I became a better worker on the job. I took more pride in my work. I became a craftsman instead of the person who finishes a job when it was “good enough”. And because I cared and had more practice, I did my work in the same amount of time as those doing “good enough” work. In one year, I went from learning how to do construction to being a foreman with his own crew.
This same practice has worked well for me in the tech industry. Depending on the programming job you get, you will work in only a small section of the industry. You will be a frontend developer working only in JavaScript. Or a backend developer working only in Python. Or a database developer working only in SQL. There are still quite a few jobs out there for full-stack developers but you most likely have the knowledge or experience to land those jobs at the beginning of your career.
About the only way you are going to get the experience in technologies you don’t touch at work is by taking classes or just doing it. When I was stuck in the backend at work, I noticed the trend in single page apps and frontend frameworks. I also noticed that those developers were getting top dollar. Before then, the term “frontend developer” didn’t exist. It was sort of jumbled in with web developer. JavaScript was something you used only when you had to get a certain effect.
I realized that I was never going to get that experience at my job and I also knew I couldn’t get a job doing frontend work to get the experience without having at least some experience in the first place. So I started building a writing application. I had an idea in the back of my head. React was a good fit. And, now, at my current job, I work in React, a frontend Javascript framework.
So, what do you think I am doing on the side now, when my main job involves the frontend? I am working on cryptocurrency projects that use Golang, a new low level backend language that I have fallen in love with. I see it as keeping a balance.
And this is not my only example. When I wanted to learn deep learning, I entered a stock market prediction contest and ranked high enough to win money three tournaments in a row. Word got around at work and I was given the architect role on a new fraud detection project. The first time I held that title.
That worked out because programmers are expensive. And data scientists (the normal title for the programmers doing machine learning) are at the upper end of that scale. The company I worked for at the time was smaller and had one project that involved machine learning. The fact that I knew how to do it meant they could bid that project and not have to hire a data scientist they might not have work for once the project ended.
This industry will not really push you in the right direction. There will not be very many people that will hold your hand and show you the next thing you need to know to stay current. But it’s not going to stop you either. If you do your own footwork and keep up with new technologies and learn new things because you want to, you will reap the rewards. The tech industry is a meritocracy.
And yes, I do know developers who have been “web developers” for the last 15 years and don’t anything except how to write themes and plugins for Wordpress. They are the ones who “leave work at work”. I guess they are happy too, but I wouldn’t know. It’s not the path I have taken.