Skip to content

Learning to code and what not

Yosuf Ali
3 min read

As you may or may not know, I took the traditional route of becoming a Software Engineer. I Studied Computer Science at university, built things in my spare time, yada yada, got a job in tech, then a few more and that’s basically it in a nut shell.

And I’ve spent some time over the years talking to people who have backgrounds outside of technology, who wanted to transition into tech. They’d studied Chemistry, or English, or Civil Engineering, or Sociology, and they felt like they were constantly playing catch up. And what’s more, there were a few who actually saw their background in a non-tech field as a hindrance to their new career.

It was a specific conversation I had with a friend who was considering transitioning into tech that made me realise something. Even though he enjoyed studying the subject he did at university, he expressed remorse that he hadn’t studied Computer Science.

And this really blew my mind. Because it really didn’t align with how I viewed learning and problem solving in general. I could totally understand the sentiment and why one would feel that way, but I’m of the opinion that having a background outside of tech, and then transitioning into software development, is actually way more powerful than someone who has only studied software engineering / CS. And that this is becoming more and more true every year.


Because building software is a skill, much like any other, it’s something that you can develop at any point in your life. I don’t think I know of any other field where you can become an expert in a niche and eventually be paid the same amount as someone who has a degree in the subject, without ever having had any academic training in it. The amount of abundant resources that are available to help you learn for free is ginormous. From tech companies themselves no less.

Writing code is a tool that you use to be able to solve problems. But all of the worlds problems can’t be solved with just code. So as someone who has a background in History or Sociology for example, you have a unique set of skills that someone else may not. In my opinion, you’re likely better able to see problems in society and their potential “technical” solutions than a software developer who hasn’t studied these subjects.

(I’m a proponent of studying ALL of the things but alas only so many hours in a day and ones life)

A very beautiful thing about Software Engineering is that it intersects with everything. It compliments every other field or subject that there is. You studied Agriculture? You could apply tech to make yours and others’ lives easier. Studied linguistics? There’s an entire subfield of Computer Science (and linguistics for that matter), Natural Languages Processing, that you’d probably be better suited to than someone who hadn’t studied linguistics.

Having studied other than Computer Science just means you’ll have a cross section of skills that you can use to solve problems that not many other people are equipped to solve.

None of this is to say you shouldn’t study Computer Science at university, you totally should if it’s something you’re deeply interested in. But if you’re deeply interested in something else, like Physics, or Mathematics or Sociology, go and get really good at that thing. And then pick up software development along the way or afterwards. It’s the same reason I advocate for people to maintain their skills from their previous studies and jobs. I try to view life and careers less like a single thing that you’re going to learn and do for the rest of your existence. But to accumulate various seemingly unrelated skills that all provide different views of the world, and therefore equip you with different ways of solving varying and complex problems.

I try to say don’t think of learning to code as much as a career “transition”, and more as a new skill that you’re adding to your toolbox that will enable you to solve more problems.

If you’re picking up coding and you have a career in something completely different, try not to feel like you’re starting from scratch, and certainly don’t feel regretful for not having done so sooner. Knowledge is knowledge and life experience counts for something. You’re not behind, you’re actually much further along than you think.

Subscribe to my Substack to be notified of future posts.