Okay people, grab your goggles because I’m here to bust some myths wide open.
You see, when you’re a “normal person” (read: not super smart) and also happen to be a successful software engineer — a lot of people ask you what your deal is.
With a degree in Economics, a life in software engineering wasn’t quite what I was expecting. I simply took the least bad option in my career, right up until the point where people were paying money to code.
With that kind of background, it’s no wonder I’m such a massive evangelist that literally anyone can learn to code.
But most don’t.
The reality is, most people have built coding up into this demigod of fear. And all those fears stem from the idea that “I’m not good enough”.
So I’m here today to be a bit of a prick and tell you why you’re all wrong.
But like, in a nice way.
I have to be good at mathematics This is so ridiculously untrue that it hurts.
When I was in school, I was very bad at math. So bad in fact, that my parents got me a tutor. And even with weekly tear-filled sessions I barely scraped through my GCSEs.
I just didn’t get it.
Fast forward ten years and one glow up later, and I’m a full-stack software engineer.
How? Because I’m telling you, it wasn’t by getting better at math.
The reality is, math isn’t that important anymore. Sure, back in the day when we were writing in binary or building frameworks — mathematics was kinda a big deal. But now, outside of Machine Learning and academia, you’re not going to see much math that you don’t know.
Can you count to ten and know your timetables? Congratulations, you now know enough mathematics to be a software developer. Please collect your certificate at the door.
I’m not saying coding is “easy”. It’s not, it’s a lot of work to learn. But it’s also not a load of random green sprawling text from the matrix. It’s a language, and if you take the time to learn the concepts one by one, you will get it.
I mean, take a look at this website. It’s pretty beautiful isn’t it? I’m telling you, the math we used we used in that website — any kid with an abacus could do. But you know what that kid couldn’t do? Choose the right colours. Think about the user flow. Decide on the right fonts and sizes. Understand how to draw the user in.
There are whole careers in software engineering like that.
Careers where you won’t touch math. But where you’ll draw upon that calligraphy book your mum got you every day. Where that time you spent reading trashy magazines will help you plan better layouts. Where all those years playing Xbox will help you think more logically.
The web is art, and coding is simply a paintbrush.
I’m not smart enough From Zuckerberg to that creepy guy on Silicon Valley, our collective idea of what a software engineer is — starts and ends with that nerdy genius stereotype.
I’m not here to tell you they don’t exist. They do.
They’re also like the 1% of all software engineers. For every genius teenager living in a bunk bed in the valley, there are hundreds of regular people building neat stuff.
Think about Airbnb — one of the biggest software startups in the last decade. Okay, maybe now they’re a unicorn and have the time to do complex stuff. But back when they were a cereal company, their MVP was something anyone with Rails could do.
I don’t have the right mindset A lot of programming revolves around logic, and being able to reason about problems. My beef is this is often unfairly attributed to being a math skill — rather than a general life skill.
And sure, logic is pretty important. But it can also be learned. There are books that teach reason and the scientific method, and logic puzzles online you can do. Even reading blogs by other coder will give you an insight into how they do it.
But here’s the secret: There are other skills more important than logic.
You know what else is important? Communication. Time Keeping. People Management.
Let’s say you take my advice. You do a bootcamp, and survive by the skin of your teeth. Congrats! You’re now a very junior programmer. But if you can be that whilst being able to communicate with other developers and management. Whilst being able to plan out a project and keep to deadlines. Whilst getting people to like you, and persuading them to work hard to help you build cool things.