DEV Community

Cover image for Stop what you're doing now and go learn more about computational algorithms
Valter Alves
Valter Alves

Posted on

Stop what you're doing now and go learn more about computational algorithms

Nowadays, we often underestimate the importance of studying computational algorithms. They are fundamental for solving practically all the problems that we deal with in the day-to-day of the profession.

The meaning of the word algorithm itself tells us why:

"Algorithms are finite and organized sets of steps that, when executed, solve a certain problem."

After all, what does our profession focus on? Solve problems.

When we apply the concept of algorithm to computers, then we have so-called computational algorithms, which are

"the steps to be followed by a processor module and its respective users who, when executed in the correct order, are able to perform a certain task."

As you can see, practically everything (at least the most interesting things) on the computer are processes that are based on algorithms.

That is why it is so necessary to give extra attention to algorithms.

But in-depth teaching of these concepts has been overlooked over time.

Over the years, there was a deficit between the number of people interested in learning programming and the demand for these professionals.

With this, the market itself has greatly reduced the depth of the average programmer's training, which today has very little theoretical load and much more practices, so that it starts working as soon as possible.

This is not bad, as it means that the market is heated enough, but also many topics that were previously covered at the beginning of the courses today are left out. Deepening in algorithms is one of them.

Algorithms give you more security when solving more complex problems

This generation of programmers who are trained quickly without much depth ends up developing a certain amount of insecurity when dealing with certain problems, especially the most complex ones. Consultations with sites such as Stack Overflow, among others, are becoming more and more frequent, as it is as if a pillar is definitely missing.

This also causes inertia in the face of several problems that can even be serious in the code, but that the programmer simply does not feel able to solve them.

The job market is increasingly demanding this type of professional

More and more we realize that the market has also realized that a programmer with mastery of the concepts of algorithms is more effective in his functions, in addition to being more productive. Much of the vacancies nowadays already cites as a differential or even a prerequisite a good performance in a technical challenge involving algorithms. And would you feel prepared to face such a challenge?

Over time, we end up learning some part of it "hard", because mistakes end up teaching. But if you can learn from others' mistakes instead of spending hours trying to solve a more complex problem, then stop what you're doing and go quickly to learn that topic. You will thank me at your next job interview.

If you are interested in a material to learn the content properly and succeed in the next selection processes, I recommend the book "Cracking the Coding Interview" by the author Gayle Laakman Mcdowell

That was my first reflection here by dev.to. If you liked it, consider following me as I plan to post more regularly.

Top comments (0)