DEV Community

Maxim Thomas
Maxim Thomas

Posted on

What Should Developers Learn in 2025

With a headline like that, most tech bloggers will publish their articles, hoping to earn clicks/reposts/subscriptions. I'm no exception. Well, actually, why not? The topic is interesting to everyone, from beginners to technical managers who want to stay, as they call it, in the trend.

So, my little and not-so-little readers, let's begin.

In 2025, learn the same things that were relevant in 2024, 2023, 2010 and maybe even 1990. You don't need to chase the latest technologies, learn some newfangled framework, SaaS or AI tool, or a newly released programming language that its creators claim is bound to (but probably won't) make a breakthrough in the industry.

What should we learn then? - An impatient reader will ask.

So, you should learn:

  • Data Structures and Algorithms- some of the readers probably rolled their eyes immediately and are looking inside their heads. It's dark and safe there, of course, but if you want to have a good chance to get an interview in a company where it will be cozy and financially stable, you'd better pay attention to it. Oh, and in general, your code will become cleaner, and probably more productive and safe (but it's not for sure).

  • Object-oriented design is not a timeless thing either. The Gang of Four published their book back in 1994, but it is still relevant today and can be applied to almost any OOP language.

  • Software Architecture - It doesn't matter whether you have microservices or a monolith. The only thing that matters is what your system components are and how they will interact with each other. And, if are good at architecture, you will successfully pass the System Design interview, and your monolith will be well split into microservices and microservices will be assembled back into the monolith without much pain.

  • Testing - every developer should know how to test their solution, so it will crush in his local development environment rather than on the production on a weekend. And in general, a good programmer is a lazy programmer. He tries to do everything at once so that he doesn't have to work on a thing twice.

  • And So On

I wrote “and so on” because it's a long list. These include protocols - things that don't get outdated for decades, and scripting languages like bash and python that help you automate your work. Regular expressions, Linux tools like grep, curl, awk, and the vim editor. It's almost impossible to list everything. It's a real rabbit hole. I understand it's a lot of work. To begin with, you need to choose what you need or are interested in and start eating, as they say, the elephant one bite at a time.

But What About the Programming Language?

Okay, algorithms, data structures, blah blah blah. But what language to use for that? Well, if you haven't even chosen your first programming language yet, I will have to disappoint you a bit. There is no unambiguous answer to this question. The debate about the best language has been going on since the beginning of the Internet.

To make a more informed decision, look at the number of vacancies on the market, the amount of resumes, and their ratio. If there are many candidates for one job, you should think several times before diving into this field. If the ratio is attractive but resumes and job openings are scarce, even if the technology is interesting, you may have trouble finding a job.

If you need a simple answer to a question, you can look towards the most popular ones - Java, Python, perhaps JavaScript or Go.

And please don't look at the Tiobe ranking. Although its authors rely on formal data, it has little to do with the market. Take a look at the results of the annual StackOverflow survey.

And if you are completely stuck, ask on social networks. There, of course, they will send you to read other threads (and sometimes, quite right), but there may be kind people who will gladly help you.

Now let me give you a couple of examples why you should not rush out and learn some new shiny language or framework at once.

  • Dart - When Google released the Dart language, they positioned it as an alternative and replacement for JavaScript in the browser. Some developers even invested their resources and built their projects on Dart. But the community did not share the enthusiasm and it is almost impossible to find web developers in this language now. However, as well as vacancies. Dart is left only in Flutter.

  • Now about Go - the authors of the language broke all the development patterns. This is the absence of exceptions (hello, err != nil), implicit interfaces, absence of generics and many other things that caused the righteous anger of many developers, especially those who switched from C++ or Java. And there was a non-zero probability that Go would suffer the fate of Dart. But the community accepted the language, many popular products are written in it, and developers are actively hired.

  • JS frameworks - are a benchmark example of rapid deprecation. Where are Backbone, Ember and dozens of other lesser-known frameworks now? Only the Internet remembers them.

Conclusion?

I think it is already clear from the text of the article. All that remains is to add a link to the Lindy effect https://en.wikipedia.org/wiki/Lindy_effect (hi, Nassim Taleb). If you're too lazy to follow the links, the effect says that the life expectancy of a phenomenon is proportional to how long the phenomenon existed before. That is, getting back to our subject, if a technology exists for 20 years, it is likely to survive for the same amount of time (but this is not certain).

And afterword

By the way, soft skills are important too. And if programming appeared only in the middle of the 20th century, people have been communicating with each other for tens of thousands of years. And a primitive man from a tribe on the Serengeti River has to find a common language with his tribesmen and a shaman as you do with your team or management. And, if the ancestor does not find a common language, he will be hit on the head with a stick by the teammates or the shaman.

Nowadays, if you don't find a common language with your team and the shaman, i.e. the manager, you can stay without a bonus, and there will come a stick on the head from your wife, who won't get her trip to the Maldives or early repayment of the mortgage (or whatever she dreams of).

So, in general, even if you are a super professional, but Social Scaredy-Cat, the industry will be a bit hard on you and the team. So when you get tired of learning engineering skills, rock the soft skills.

Top comments (0)