Do you have what it takes to become a programmer? Chances are, you will base your answer on a bunch of untrue stereotypes and misconceptions. Those are harmful because they stop you from trying out this career path.
Let's take a look at some of the things that you do not need to become a programmer.
I have always found programming fascinating since I started using the internet in the late 90s. I was enthralled by the amazing things developers could do. And my admiration only grew as new websites and later apps started to radically change the world around us.
And yet, I never tried programming myself. Never even tried to take a look at how it worked. But I am generally a curious person who loves getting into things and learning about them. So what happened there? How was it possible to be fascinated by programming for decades and not even try it out?
The reason, in my case, is what I call the "Hollywood hacker" stereotype. Those of us who did not come into contact with the reality of the field only have media stereotypes to go by. I believed that programming was the activity of an elite, a select few. People who attended exclusive universities and completed very expensive and long degrees. People who had privileged minds who could do superhuman feats of mathematical genius.
I now know this is not true. It's not based on reality. And I wish I had known that earlier.
I eventually understood that this was a much more accessible career path than I had originally thought. I followed a few YouTube tutorials, and got really excited about programming. I got serious about learning, and in 10 months did a career switch from an unrelated field.
It wasn't a walk in the park, it was a lot of hard work. Like any skill that we learn, it takes time and practice. But it doesn't take special powers. Here's the story of how I made that switch.
Now that I'm working as a front-end developer, I want to help others. I want to encourage those who are thinking about programming as a possible career but are not sure if they "have what it takes", or think there are obstacles that aren't actually there.
So let's explore together 10 things you do not need to become a programmer.
These are the things that are rightly or wrongly connected with our popular image of what it takes to be a programmer. They are the kinds of things that are nice to have, and they can be useful.
Aspiring developers can dedicate time to attaining some of these skills. But none of them is essential to start, to learn, to get a job, or to have a great career in computer programming.
Be a genius. Be a mathematician.
This one is the most important myth to dispel – the myth of the privileged mind. There is no special thing your brain must have to become a programmer.
Programming is a skill like playing the guitar or running a marathon. You get better at it by doing it. By dedicating time and effort. By learning from others. It's a skill that you develop and grow the more you do and the more productive effort you put into it.
If you see a programmer who is capable of doing amazing stuff with a computer, it is always the result of dedicating time and energy into their craft. It's not some innate talent they were born with, or some divine inspiration.
Also, let's talk about math. Even though mathematics is at the heart of programming, you don't need it in your day to day work. The majority of programming languages used today for most jobs are high-level languages. These are closer to human languages than numbers, and don't need any special knowledge in math.
Programming is much more like writing than doing calculus. If you are good with math, it will help you solve certain problems faster. If like me, you didn't fall in love with it at school and never looked back, this won't be a hindrance.
Be a computer wiz
Programming requires you to write programs that run on a computer. You do so using a computer. It's the medium you work in.
But, you don't need to be able to build a computer from scratch by hand to be a programmer. You don't need to be able to understand the inner workings of a computer. Or be that person all your friends come to with their computer problems.
It's one thing if you use a car to do your job, but it's a different thing to actually be a car mechanic. Of course the more you know about your tool the more independent you'll be at tackling up and resolving problems. But you can be an effective programmer without first learning how to fix your aunt's virus-infected machine!
Have an elite university degree. Have a CS degree. Have any university degree.
A university degree is a great thing to have. It teaches you methodologies and investigation. It teaches you about your own learning style.
Being a graduate, if you are lucky enough to have access to a university, is a good thing in general. Being a Computer Science graduate is even better for programming. It gives you great depth and breadth of knowledge. An elite university will open doors and give you contacts.
However, none of the above is actually necessary to be a programmer. The field is packed with brilliant programmers who don't have a CS degree, or any degrees at all. If you put your mind to it, you can become a good programmer without any of it.
There are lots of different paths to becoming a developer nowadays. The traditional university route is only one of them. There are bootcamps that condense the essential knowledge into a few months of intense work. There's a wealth of online resources for those who want to go the self-directed route. This is a great option for people who need to continue holding a job while preparing the career change. And there are plenty of free or cheap options that remove the economic barriers too.
Have a state of the art computer or expensive software
This might be a bit silly. But for many people living in difficult economic situations, it means the difference between taking that first step or not.
I used to imagine that programmers needed the most advanced computer with the highest processing power since they are the ones who write the software and apps that run computers. I imagined that to develop software you needed specialized and expensive software. A bit like the toolkit needed by those doing design or video work.
So I was surprised when I followed my first tutorial and all I needed to build my first website was Windows's built-in Notepad. Notepad!! The humblest and most boring piece of software on any computer. A text editor that is as bland and basic as can be.
Well yes, you can do all the basic stuff on an old machine with no bells and whistles at all. One expects to have a good machine when working professionally. But as a learner, you can go very far with an internet connection and a basic computer that can run a text editor.
And besides, there are free versions of every tool you need to use along the way.
Be fluent in English
As with most of the above, being fluent in English helps. Programming languages were invented and flourished in English speaking countries. So for better or worse English dominates the field.
The words used in programming languages are English. And the majority of documentation, tutorials, articles, and resources about the subject are in English. So it helps a lot if you have a decent level of comprehension.
But, this shouldn't be the barrier that's holding you back from programming. You can learn and become good at it with an intermediate level of English. Many people get by only with being able to read and comprehend English.
There are a lot of stereotypes associated with programmers in the public imagination. Now let's be clear, I'm not saying these stereotypes aren't sometimes real, or that they are negative in any way. Only that you don't need those to fit in.
Be a nerd. Be a gamer
Let me repeat, nerds are great, gamers are wonderful. But you can be part of a tech team without being either of these things. This is not the 90s – people of every style now work in the industry.
When you are looking for a job for the first time, the team you end up with is one of the biggest factors in your success. So finding a supportive team with a good atmosphere is most important. Far more important than the hobbies you might or might not share with the other programmers.
Be an introvert
Same as above. There is no particular personality type that is well-suited for this profession. Don't go looking for personality traits that might show you whether this is for you or not. Your attitude is far more important.
Being able to deal with frustration and persist is a key ingredient. And that's a learned skill, not part of a fixed personality.
The following items are not stereotypes, they are statistics. Looking at the face of the industry as it is now, you might not see yourself represented. This might lead you to think that this is not for "people like you", however you identify yourself.
But our attitude should be the contrary. The lack of representation is all the more reason to get into it and put yourself out there. The industry has become much wiser about the importance of diversity in teams. Many companies and individuals are putting a lot of effort into making the industry more inclusive.
You do not need to be young to work in tech. You do not need to start young to be a good programmer.
I started learning at 39 and I was 40 when I got my first job. And there are people of every age group who have successfully made the transition.
It's never too late to learn. Never too late to change careers. Besides, a company that only wants to hire young people is probably not a good place to work for anyway. If you need some more inspiration, check out this story about developers who got their first tech jobs in their 30s, 40s, and 50s.
Be a man
This should be clear. But it has to be said. You don't have to be a man to be a programmer. And while men still make up the majority of programmers, this is hopefully rapidly changing.
Any company with insightful leadership has understood the importance of gender-diverse teams. It is not just good for "equality" (which is reason enough), but also gender-diverse teams make better decisions and are less likely to be biased.
Gender is not a factor in how good of a programmer you can be. There is no chromosome or brain configuration that is better suited. Programming is mostly about problem-solving. And we need as many perspectives as possible to solve a problem in the best way.
One of the things I loved the most when I first started learning to program was how democratic, open and inclusive the community is.
The programming world is filled with wonderful people. They dedicate time to help others become better programmers. They create resources and maintain open-source projects that benefit everyone.
Many groups and collectives are still underrepresented. Especially those who have historically been marginalized, or had difficulty accessing opportunity. But the community itself is much more welcoming and inclusive than it might seem from the outside. And it is continuing to change.
You may not see yourself represented in the popular images or the statistics about programmers. But this should not be a factor in being able to become a programmer. Your sexual orientation, your social class, your ethnicity, your disability, whether you don't live in the industrialized world, whether you are poor. These are all factors that are not a hindrance but a benefit. For the same reasons as mentioned above.
The greater the diversity of the team, the better it is at solving problems in a way that transcends biases. And that's always a good thing. And you can be part of the changing image of this industry.
I hope this article helps you in breaking myths about programmers and removing barriers to entry. I hope that if you are intrigued by programming that you give it a go. And if you find yourself excited by it and interested in pursuing a career that you will try it.
Ignore the self-doubt that comes disguised as one of these barriers that we think are in our way. Programming is complex and requires hard work. But everything about it is made up of skills anyone can learn if they persist.
Life can be tough and can put lots of obstacles in our way. The challenge is to react to these obstacles and find our way around them. So let's at least remove from our path all the clutter that isn't actually real obstacles.
If you know anyone who is thinking about whether programming is for them or have recently started learning, please share this article with them.
How about you? Do you have any other stereotypes and misconceptions about what it takes to become a programmer? Do you see things in the popular imagination about programmers that aren't true? Tweet me your comments, I would love to keep this discussion going on Twitter. Find me on Twitter and say hello.
My name is Syk and I’m a front-end developer based in Madrid. I career-changed into web dev from an unrelated field, so I try to create content for those on a similar journey. My DMs @Syknapse are always open for aspiring web developers in need of some support.