I have accepted a role at a new company since the time of writing this article. Please note that the contents of this article do not reflect the nature of my current employer.
I’m a husband, father, and software engineer. I read, write, I 3D print, I play video games, and I’m a sarcastic wisenheimer. For half of my career, I have worked at a huge Silicon Valley programming giant. I won’t name them here, they’re not relevant, but their existence is. When I joined the company, I had to disclose all of my side projects and websites.
Then they chose which ones I could leave in production and which ones I could not. They required me to stop writing new code for anything not owned by them. They informed me that they could potentially own anything new I wrote otherwise and asked me to stop adding features to my own blog, though I could continue to write content on it.
I was beyond ecstatic about the opportunity to work for this company, so I took this restriction very seriously. I stopped working on all side projects.
I removed my blog (because why pay for hosting when you can’t actually work on it), and took down all other projects from production.
I asked my manager about contributing to open source and was told that approvals come on a case-by-case basis, but it would likely be denied if [company] wouldn’t benefit. At this point, my employer was in full control of all of my professional development, and this is where the problem began.
After six years at this company (more than half of my career), I’ve found myself looking for my next exciting opportunity. The problem is, without side projects, open-source contributions, or a blog - I’ve realized the only skills I’ve gained have been on-the-job. Granted, I have gained some amazing skills but only my specific language (PHP) and team’s chosen framework (Laravel).
For the past two years, I’ve requested to be added to Python or Java projects, for opportunities to work with talented developers and gain those extra skills, but have received no traction.
As I look at job postings I feel like I actually took a step backward over the past six years and need to apply to jobs far below what I am capable of, purely because I went six years with no experience outside of PHP/Laravel.
So, I still take my job seriously. I still need to “not get fired.” I still want to be taken seriously as an active developer at [company]. But I also need to enhance my skills. So, I can’t (or shouldn’t) work on any production-facing tools, how do I move forward? Well, I decided to just bite the bullet and accept the fact that I can still work on side projects, as long as they never see the light of day, so to speak.
They can be built. They can be shown. I just can’t produce production-released tools or attempt to make any money off of these hobby projects. I recreated my old blog, with a new design and URL (I had let the old one lapse and now the sharks have it) and decided to just start hacking together some bits of code to learn. This is frustrating and disappointing, to say the least, but it’s something I just have to do in order to catch up to where I really should be right now as a developer.
So I decided to start a series of articles that I’ll post here in the dedicated learning space. My goal is to learn the basics of many languages. I know I, likely, won’t become as skilled in Java or Python or GO as I am in PHP, not without some work experience, but learning the basics will allow skills to translate.
That’s something I’ve seen in some interviews. The comment “well your skills in PHP won’t translate here.” Of course, they will! And I’m here to prove it. Every week I’ll post a new article where we learn some basic concepts in programming. Something very simple like Declaring variables. And we’ll do it in PHP first since that’s my core language.
Then we’ll do it again in Java, and in Python, and in Go, and in Scala, and in Bash, etc. Any language I can think of that has a valid role in modern programming so that we can start to learn all languages together. The goal is to create a record of proof for myself, and anyone else who joins me in this journey, that these skills are transferrable and that we can all do many things.
Stay tuned, I’ll post my first article this weekend. Happy Weekend, devs!