Becoming a programmer is an important decision. It’s common for people to see movies such as Matrix and get the idea of programmers being genius human beings in front of computers, so people quickly choose to not attempt to become a programmer.  Hopefully, I can help you avoid making that decision too soon.

Some people erroneously think that programmers know everything about computers, and often confuse them as hackers even if they are only starting their programming journey. Although some programmers can become hackers, that doesn’t mean all of them are. In fact, it is understood a hacker is a person who does evil things on the internet, but there are also other things such as ethical hacking which allows people to detect deficiencies in software.

In general, you don’t need to be smart to be a programmer. Becoming a programmer is not an easy challenge and it can take years to get to the point where you know enough to develop software or applications on your own. However, despite how hard it is to become a programmer, that doesn’t mean only smart people can become programmers. Fortunately, many of the skills can be learned in a continuous learning process, helping you get one step closer to becoming a programmer.

For almost all new people interested in becoming a programmer, it feels uncomfortable to think of the idea of staring at the computer for longer amounts of hours speaking a foreign language that only other programmers know. Although sitting in front of the computer for longer periods of time is true, the act of programming requires constant mental activity to be able to make things work the way you want, which is fascinating to many programmers.

Programmers learn how to think, they are not born smart

It’s crazy to think programmers are capable of building intelligent solutions that make our lives easier, i.e. buying anything online using Amazon, programming Tesla self-driving cars, or developing the Google search engine everyone uses every day. Yes, these applications required the work of smart and talented people capable of coming up with solutions of this caliber.

We need to remind ourselves that nobody is born knowing all the terminal commands of a computer. We need to remember that each of these “smart” programmers didn’t know anything about programming when they started their own journey. Nevertheless, these “smart” programmers have gone through a continuous learning process, such as learning different things that work and don’t work, things that make an application run faster than others, things that make an application more scalable, etc.

More than anything else, programmers learn how to think. Programmers learn that it is not the person who writes the most lines of code, but the one who can effectively solve a problem with the least amount of code that makes the most impact in an application.

Programming is not only for nerds

Before we move forward, we need to remove from our heads the concept that programmers are only nerds. There is often a common stereotype about the typical programmer, which is often represented as an oversized white person wearing glasses and a hoodie, staring at the computer day in and day out with low to zero abilities to socialize with anyone else besides a machine.

The reality is that programmers can come from all backgrounds. Programmers can come from all ethnic and racial backgrounds. They can be white, black, Hispanic or Latino, Asian, Native American, Islanders, etc. Programmers can come from non-IT backgrounds such as cooks, teachers, police officers, firefighters, accountants, biologists, mathematicians, sports players, and anything else you could possibly think of.

Having said it is a lie that professional programmers are nerds, it is also a misconception that people are categorized as nerds only because they are passionate about developing software, or because they are oftentimes left alone in their own spaces being in their own world, not because they are weird, but because they need to be on a free-of-distraction zone to develop the best solution.

Programmers solve problems, they don’t memorize solutions

Unless someone has completely copied the codebase of an entire application, applications are built differently even if they are designed to solve a similar problem. Although eBay and Amazon were programmed to allow people to sell and buy just about anything online, these two applications are built differently.

Applications can have similar functionality, but they are built the same. The reason why is because each piece of software tries to solve a specific kind of problem, even as similar as you could think of, it could still solve a different problem. That’s why it is critical for programmers to develop problem-solving skills rather than memorizing all the solutions they could have possibly learned throughout their whole life.

Oftentimes, the act of memorizing leads to repetition and lack of innovation. This prevents developers from solving problems to new challenges encountered as they lack the ability to find alternative solutions.

Programmers don’t know it all overnight

Doctors take years to learn everything about the human body to be able to work in their profession independently. Professional soccer players take years of practice with the ball to master the act of passing high-precision passes. In the same way, programmers take years of learning to become masters at the art of developing software or applications.

It’s impossible to know everything you need to become a programmer in one month, 6 months, or even a year to get to the point of even solving simple problems that require an extensive amount of knowledge. In fact, it is not really feasible to know everything that is to be learned in the programming world throughout your whole life.

The amount of information available doesn’t have limits. However, it is critical for programmers or those who want to become a programmer one day to know it is not about knowing it all, but understanding the fundamentals as they are the foundation of any kind of program.

Programmers are not hackers

Thinking that because you know someone who is a programmer, they can hack the Facebook account of your ex-girlfriend or help you get the bank account information of an important person is a common misconception. Yes, programmers can be smart enough to figure out deficiencies in existing software that allows them to access sensitive information.

However, not all programmers have the skills to expose sensitive information. Hacker is a term given to a person with malicious intentions and also looking to commit criminal acts. Programmers use their knowledge to solve problems, not to do criminal acts. In fact, you don’t have to be smart to be a hacker. You don’t even have to be a programmer to be a hacker. Just like anything else, you can learn how to hack deficient programmatic systems.


You don’t have to be a genius to become a programmer. Anyone with the right attitude and perseverance to tackle an ongoing learning process makes them a good candidate to become a programmer, as the skills can be learned over time. Just like anything else, becoming a programmer takes time. For some people, it can take less time, and for other people, it can take more time. However, it is important to emphasize that you don’t need to know everything out there to be a programmer. In the end, programmers are always in a continuous learning process.