Learning Programming ONLY Depends on You.

Being a programmer undoubtedly has many advantages, but learning how to program is not an easy task.

Are you willing to pay the price?

Categories
IT Sector and Employment

Do You Want to Become a Programmer?

In every friend group, there’s at least one who’s a programmer.

The group’s programmer works from home, has a flexible schedule, and is the highest paid by the end of the month.

Though all the friends in the group would like to have the same work conditions as the programmer, how many of them are willing to learn programming, to gain experience over years, and to compete for the best job opportunities until they achieve it?

YouTube player
This video is in Spanish, but you can activate the English subtitles.

The journey to becoming a programmer is long and filled with obstacles that will make us stumble time and time again. But if you dare to try long enough and manage to overcome all the challenges, it will have been one of those decisions that radically improves your life.

I’m Carlos Sala, a software developer, and today we’re going to uncover the difficulties of learning to program that you should keep in mind before starting any course, if you don’t want to fail miserably.

Listen to Advice From More Experienced Programmers

From the moment you decide to learn programming, you’ll start receiving recommendations and advice from friends or family who are already in the job market.

Kung Fu Panda meditating.

The intention of these individuals is simply to minimize the number of mistakes you’ll make during the learning process. But it’ll be similar to when we were children, finding it hard to listen to adults’ advice and needing to experience things for ourselves to learn them. Keeping pride in check and allowing yourself to be guided during the initial months is challenging, yet it’s also the shortcut that will save you the most time.

Although I don’t doubt your ability to solve all the problems that arise while learning to program on your own, I’ll tell you it’s not the smartest option.

Pay attention to the words of more experienced programmers than yourself to avoid headaches and progress faster towards your goal.

How to Start Programming

Approaching programming with a willingness to learn everything, where should you start?

Bugs Bunny ready to run.

What Do You Want to Program?

Firstly, we need to understand that the programming world is vast, and we have to choose what we want to specialize in.

  • Do you want to program the visible part of web pages?
  • Do you prefer the backend and database part?
  • Are you interested in developing video games?
  • Mobile applications?

It’s most common to start with either frontend or backend web development, but don’t fret too much about whether you’ve made the right decision or not. Most of what we learn in one field can be applied to another if we change our minds in the future.

Ways to Learn Programming

Once you’re clear on what you want to do, the next step is to start. Initially, I can think of 4 different ways to learn programming:

  • Enroll in a 4-year computer science degree program at a university.
  • Complete a 2-year vocational or higher education program in application development at an institute.
  • Participate in one of the renowned 6-month programming bootcamps.
  • Learn to program independently by following programming courses.
University student in the graduation day.

Each of these options has a long list of advantages and disadvantages that we can outline. For example:

  • Studying an official degree at a university or institute guarantees that the content will be well-structured. Additionally, we’ll obtain a degree that will lend credibility when seeking our first job, even without work experience.
  • Programming bootcamps have been losing favor among companies for years. Increasingly, they avoid hiring junior programmers fresh out of one of these bootcamps. They’re often not adequately prepared for the job market and, during their initial months or years of work, are more of a burden to the company than a productive worker. It’s not feasible to learn to program decently in 6 months by memorizing bits of code from a framework without understanding how it works.
  • On the other hand, if you decide to learn to program by yourself without any supervision, there’s a high risk of quitting at any moment without explanation, wasting time on irrelevant knowledge, or watching hours of programming courses from scratch that you’ll practically forget the next day. Additionally, you’ll need to build a very impressive portfolio demonstrating everything you can do if you want any company to give you a chance.

The choice between one option or another will depend on each person’s availability in terms of time and finances. There are success and failure stories for all options, but one thing these ways of learning programming have in common: it’s up to you to put in the effort.

Looking for the Perfect Programming Course

Just like anything else in life, if we want to learn programming, we need to consistently apply effort over a certain period of time. It’s the only way to gradually grasp concepts from simpler to more complex ones as they emerge, even if it seems like an impossible mission at first.

A man thinking in complicated maths concepts.

Similar to when you want to improve your physical fitness, miracle diets or effortless muscle-building gadgets are deceiving; there are no miraculous programming courses that allow us to learn quickly just by watching videos. Solving practical exercises on our own and racking our brains for hours to find the best solution to a problem is what truly makes you grow as a programmer.

Most programming courses are nothing more than adaptations of concepts and examples found in the official documentation of each programming language or library. So don’t go crazy trying to choose the perfect course; choose one taught by someone you respect as a professional and get started.

Whether you take the course at university, in an institute, or self-taught at home, the differences in content will be insignificant. Don’t let doubts creep in about whether the course you’re taking is worth it or not, and if you do have doubts, you can always take a look to the table of contents of other courses to make a comparison.

Difficulty, Frustation and Excuses Phase

Undoubtedly, deciding to make a change in your life and choosing the learning method you’ll follow is important, but even more so is mentally enduring the initial years when you start learning programming.

Spongebob crying.

I don’t know if everyone experiences it the same way, but in my case, it was precisely two years during which all the concepts mentioned in the courses were unfamiliar, and everything I tried to program didn’t work.

Programming, Frustration, and Resilience

The constant feeling of failure when learning to program from scratch is akin to the experience of learning a new language. It’s so different from anything else you’ve learned in your life that it’s very difficult to recycle existing knowledge to ease the process.

After several days, weeks, or months of continuous errors and failed tests, there comes a day when you feel like it’s impossible and that you’re not cut out for programming. It’s at that moment, which we all in this field have experienced, when you must remember the price you have to pay if you want to pursue this profession: you have to overcome the initial learning curve.

If you consulted with other programmers before starting, I’m sure they warned you about how difficult the beginnings are in any object-oriented programming language. Just to lay the foundation, we have to learn what variables, functions, conditionals, loops, etc., are.

Neo from Matrix made with computer statements.

And in reality, problems don’t only arise in the beginning. The work as a programmer demands continuous learning. It’s very common that when you have to apply something you’ve recently learned, you encounter difficulties and enter this phase of frustration. Regardless of how many years of experience you have.

When you program, you’re going to fail more than a carnival shooting gallery, no matter how skilled you are. Just being a little distracted one day can lead to having to delete all the code you wrote the next day because it’s incorrect. So, what you should take away from all of this is the reassuring message that all programmers go through these crises and that you need to be prepared to mentally recover after a string of failures.

The King of Excuses

But what if we don’t dedicate all the time and effort required to learn programming and all we get is one defeat after another? We’ll become a factory of excuses.

Mr. Bean dancing with a crown.
  • The professors in the degree program don’t explain the lessons well.
  • The course I enrolled in is useless.
  • I’ve realized that I don’t like programming.
  • Programming is too difficult for me.

In just the first year of computer engineering at university, at least half of the classmates dropped out. What a coincidence that they were the ones who studied the least.

And well, over the 7 years that I’ve been working, my younger brother and several friends who wanted to get into the industry and asked for advice, as soon as they realize that money isn’t going to be handed to them on a silver platter, they bail out with one of the excuses from the repertoire.

It may be that you genuinely don’t like it and decide to quit after trying it, but from what I’ve seen, dropouts happen before reaching a minimum level of knowledge to say that we know how to program. As mentioned before, only by paying attention to the warnings given before starting could we avoid these failed attempts and a lot of wasted time.

Don’t learn programming if you don’t feel like it, but don’t twist reality to find a scapegoat for all your troubles. The power and responsibility to write the future in your life are solely yours.

The Reward

For the warriors who overcome all the trials to become programmers, a great reward awaits.

A man throwing bills.

The most obvious, and what most people focus on, are the working conditions. The IT sector boasts an almost nonexistent unemployment rate. And, although sometimes the sector goes through crises where there are more layoffs or it’s harder to find a job, salaries with up to five digits, flexible hours, and remote work are the biggest draws for pursuing programming.

But what I love most about my job is being able to solve problems in the best possible way by applying my knowledge. It makes me feel satisfied and valued as a worker, which unfortunately we can’t say about all jobs.

I remember that before getting into programming, when I was looking for summer jobs, I couldn’t even pass the interviews at Burger King or supermarkets. Literally learning to program changed my life because as a programmer, I’ve never been unemployed for more than 1 month and with conditions far better than those places where I was rejected.

Let this serve as motivation for you to give it a try. But be clear that money doesn’t grow on trees. If a company is willing to hire you, it’s because, as an employee, the balance between your salary and the problems you can solve generates profits.

Still Want to Be a Programmer?

If, with all the cards on the table, you still have the desire to learn programming, I can only send you my support to endure the toughest moments. Unfortunately, the rest of the work will have to come from you.

Organize a schedule to divide your time between your social life, work, and programming studies; put all your effort into it and stay in touch with programmers who are already working to keep your motivation up.

Once again, I’m Carlos Sala, a software developer, and see you soon!

Carlos Sala Samper

Handmade software.