Have you been thinking about learning how to program? Is switching careers one of the main reasons you want to learn to code? If you are interested in becoming a programmer and you are not sure what education route to choose, this article aims to give you true insights into my experience and experiences from other coworkers who are software engineers.
The reality is, you don’t need a degree to learn how to program. There is a wealth of information nowadays thanks to the power of the internet. In fact, you could learn just about anything you want by doing a quick google search. In case you learn better by watching videos or images, you can try searching for images in Google or videos on YouTube. Regardless of what approach you decide to take, you have “online teachers” sharing their knowledge for free online.
Some People Say Yes, Some People Say No
If you talk to different people, you will find different answers. Take into account most of these answers are based on their personal experiences. Not everybody’s journey is the same. Think of it as if you were traveling from one place to another. In many cases, you could have multiple routes. You can take the longest route and see other things along the way to get to your destination, or you could find the shortest path and still making it to the same place.
Since we have people telling us we need a degree to learn how to program and others saying the opposite, if there’s at least one person who says he/she didn’t need to go to school to gain a skill, we could immediately say that the answer is no (you don’t need a degree to learn how to program). The possibilities are there regardless of chances being high or low to succeed.
Whether you should or not get a degree to learn how to program depends on your ability to learn. Even if you are fairly good at learning, you must be comfortable at learning in the technology industry. Not everyone is good at learning everything. Some people are better at learning how to play soccer, or play the guitar, or paint portraits. The same way happens with programming. Not everyone will be good at learning how to program. In fact, there are too many programming languages to learn, and some will be easier to learn, and some will be much harder to learn.
In my personal experience with several years working as a software engineer, software developer, programmer, or whichever way you want to call it, you don’t need a degree to learn how to program. I went to university, but I learned to program before taking my first programming language class. I learned to program during my first university summer break. At that point, I had finished my first semester taking several non-programming-related classes. By the way, don’t think I was an expert at programming after that first summer. It takes years to learn how to program (well) as it is a continuous learning process.
Do You Need a Computer Science (CS) Degree to Work as a Programmer?
Contrary to other careers and traditional ways of thinking such as your parents telling you you need to go to college to get a job, you don’t need to get a CS degree to work as a programmer. In fact, you don’t need a degree to work as a programmer either, which I will prove based on my experience as well.
Like many, I went to college and got a degree. However, the degree was not Computer Science (CS), but Information Systems & Technology (IST). Although I took some programming classes in my IST degree, CS degrees put more emphasis on learning programming languages and software engineering practices. However, I knew my favorite classes I had while being in college were the few programming courses I took. Unfortunately, they were very basic in terms of covering a lot of programming topics.
I got an internship working for a software shop developing custom applications for their clients, which eventually turned into a full-time job. Technically, I got a job without a CS degree. Having a technology-related degree didn’t mean I was good enough to get a job.
Since some will think having a degree helped me to get the job, I will share experiences from coworkers. After some time working at my first full-time job, the company hired another developer. He didn’t go to college, but he went to a bootcamp to learn how to program.
For those who are not familiar, bootcamps are relatively short-term programs that help students learn the skills they need to get in a software developer job, from learning the highest in-demand programming languages to preparing their students for their job hunt.
He had spent not more than a year or two from the moment he started the bootcamp to getting his first full-time job. In fact, he quickly found a higher-salary job after working with us for a few months. Crazy to think about this when he was more of a junior developer in terms of real-world experience.
After 3 years working for the same company, I found another opportunity working remotely. There, I met a handful of software developers whose journey was far from the typical route of getting a CS degree. One of them was an intern. He had gone to school to get his Psychology degree. Unfortunately, there are not good salaries in that career. Therefore, he decided to get in a bootcamp, and 6 months after he got an internship with the second company I was working for. He wasn’t getting paid, but getting real-world experience after 6 months of education was pretty good. He didn’t stay long at the company as he needed to get paid to cover his expenses, so after a couple of months, he found his first paid developer job.
As you notice, you don’t need a CS degree to work as a programmer. I got a scholarship to play soccer for my university which helped me go to school in the USA, which is pretty expensive. If it weren’t because of the scholarship, I wouldn’t have gone to school in the USA. In the case I knew I wanted to become a programmer, I certainly would have recommended to my young self at that time to try to learn by googling and buying a programming book to get my feet wet in the field. I would have suggested taking online courses earlier on in that learning process as well.
Also, the rise of bootcamps came out of nowhere as an opportunity for many software developers to make money by teaching people the skills they need to become software developers in a short amount of time and help their students land a high-salary job. Bootcamps are my next recommendation for those interested in making a living by programming applications.
However, like many people, you don’t know what is out there until you realize or hear about those things. Until then, the most commonly known approach to get a job by many is and will continue to be to get a CS degree. Depending on the school you go to, this could be your best option. However, I believe you could make the most by trying an online course first and evaluate how things go from there.
What You Will Expect If You Decide to Get a CS Degree
No matter what school you go to, you will find a list of core classes you have to take. Oftentimes, these classes are not related to the main field you are interested in. These courses can take up to half of the time you are in school. That’s two years of paying school tuition to learn non-relevant skills of the career you are interested in.
Also, making the decision to become a programmer is to make the decision to be on continuous education. Every year you will and should learn something new. Technology constantly evolves and failing to keep up with the newer skillset will quickly outdate your skills, making the job hunt to look for other opportunities very complex.
If technology is in constant change and you go to school to get the skills you need for now, most likely you will need to learn newer skills on your own by the time you finish school to make yourself an attractive candidate for many employers.
A typical problem that you will find in school is not having the choice to decide what programming languages to learn. It is understandable you go to school to learn how to program. Therefore, you might not know what programming languages to learn in the first place. However, by doing a quick online search and checking the job boards, you will notice the programming languages in higher demand. Typically, there will be opportunities for just about any programming language you learn, but it is important to check which could give you the highest number of opportunities for your professional future.
Not being able to choose a programming language often results in many professional developers having wished they had learned a different language, but they learned the one they know because it was what the school had in the curriculum.
What Are The Alternatives to Getting a CS Degree
As mentioned before, there are other alternatives to getting a computer science degree. Some work better from some people than others, depending on how much dedication you are willing to commit on your own.
- Read Programming Books
- Enroll in an Online Course
- Go to Bootcamps
- Getting an IT degree
What Employers Are Looking For When Hiring
Depending on the hiring manager of each company, the requirements could change dramatically. However, most companies have similar patterns when it comes to hiring programmers or software developers. Some companies require you to have a CS degree or a similar degree. Don’t worry, there are plenty of opportunities out there that don’t require a degree.
Usually, when going through the interview process of a programming job, the interview wants to test the technical skills of the applicant rather than relying on their resume. Not because you have 5 years of experience programming makes you a knowledgeable developer or a senior developer. People have different speeds to learn and grasp concepts, and there is a lot of knowledge involved when it comes to developing software.
Interviewers are in most cases programmers themselves. Whether their title is software engineer or software developer, they have the technical knowledge they are looking for in their companies. In order to get their attention, your resume should have relevant experience working on real-world projects. Also, having a portfolio of personal projects and/or having a personal blog where you share your programming knowledge is something hiring managers always look for.
Employers also look the candidate is able to solve problems. This is the reason why software developer interviews often involve a technical challenge that tests the candidates’ abilities to solve any problem in the shortest amount of time possible.
Having soft skills is highly sought after such as effective communication and the ability to handle conflicts. Working in a programming job has more communication than what you think unless you work for yourself. Contrary to what many could think, programmers need to communicate constantly and failure to do so can incur serious business expenses. One quick example is that programmers need to provide proper documentation of their code. This allows anyone who wants to make changes to the codebase and good understanding of what the current code logic does.
I hope this article gave you valuable insights into your decision of which educational route is best to learn how to program and making a living of it. Just remember, there’s not the best route to choose as it relates more to what works best for you. If you are a professional programmer and have different points of view or different experiences, I highly encourage you to share your comments in the section below.