A little while ago I was asked by someone trying to get their first role in programming on whether or not accepting a programming adjacent role would be a bad career move. They had up until this point not had much luck getting their first role, and had instead been offered a designer position, which they could do, but it wasn’t quite what they wanted.
What follows is mostly the answer I gave.
Them: “Do you think I should take the offer?”
Me: “The short answer is a sort of “yes”, but I think if I relay my personal journey, that it might help to lessen the uncertainty, or at least provide some level of comfort for whatever direction you end up deciding to take.
I have always known that I wanted to work with “computers”, but I wasn’t always sure that programming was something I “could” do. Even though I was programming before I entered high school (from about 11 years old), and doing it all throughout high school, I had lots of confidence issues, and something I was very sure of, was that I didn’t want to go through the pain of getting a degree, since I really didn’t enjoy my time at school.
So instead of programming, which I enjoyed the most, I managed to find roles servicing, building and repairing computers, since that was something I also had an interest in thankfully. I ended up doing this sort of work for a few different companies for about 3 years, before I lucked out and was offered a role as a software tester. Interestingly I didn’t actually apply for this myself, instead my girlfriend at the time (now wife), sent my CV in without telling me!
Once again, not quite what I wanted, but definitely a step in the right direction, since I was now in a company surrounded by a group of very talented programmers. After about 5 years as a tester I found myself in a position where I felt confident enough to take a chance and ask my manager at the time if he would be willing to let me try programming instead.
All in all it took about 8 years of working in other roles before I got my first full time programming position.
There is obviously a bit of luck involved here, but honestly not as much as you might think. Importantly, I didn’t simply wish for a programming position, and then wait for the opportunities to arise. Instead, no matter what role I was doing at the time, I constantly found a way to involve programming in the task.
Whether it was automating the reports I needed to generate, or writing something to track the calls for our call centre, I always found an excuse. I hung around with programmers online, and in the various jobs I had, showing them the things I was working on in my spare time, asking for advice, etc.
I would be constantly reading about various programming topics, and slowly learning more as I went. I was somewhat obsessed, and eventually just through sheer stubbornness, I managed to force my way into the role I wanted.
So this is why my answer is a sort of yes, since I personally don’t think that a single role you take on is the difference between success or failure.
If you can show your employer that you’re a hard worker, and are willing to put in the effort, then that is almost more important than the programming knowledge itself. Knowledge you can gain over time, but passion to further yourself and to just get better at what you do, is much rarer and extremely valuable in almost every profession.
So it is important that if you do take on a designer role, but programming is your ultimate goal, then you need to keep programming and learning about programming, until the right opportunity comes along that’ll make the hard work worthwhile.”
When it comes to things you are passionate about, especially when it relates to your career, you seldom if ever need to ask for permission. Do it anyway. When an opportunity does finally present itself, you’ll be prepared to take it on, rather than being stuck where you are and wishing that things had been different. In the age of AI, now more than ever, you have the freedom and the tools to just start. So what are you waiting for?