Easy traps for newbie programmers

Before starting i just want to note, that i have nothing agains those technologies, they are just tools.

React, Vue, Laravel, Rails, and dozens of others, they are so cool right? They are easy to get started, comes with “everthing” needed out of the box, and if you check

And everywhere AI, Machine Learning, Data Science are also trending right? You think why not learn them and get desent salary?

Here is what are wrong with them?

They are just trends

Believe it or not any technology can die anytime, some of them will die soon too, especially taking this tremendous amount of dynamics into account. By learning specific technology you are limiting your way of solving problems within boundaries of particular technology. Do you remember jQuery? If you are old enough, yes you are, but nowadays who are using jQuery, only a few companies, and most likely in their legacy projects, okay it’s not dead, but does that add any value in your resume? Same applies for most technologies, in the (near) future new cool technologies will come, old ones will be forgotten, will your skills be still relevant for that day?

Learn fundamentals

By fundanmentals I mean fundamentals, like 0s and 1s, you don’t have to create your own machine with light bulbs, just understanding how computers process the information will change you thinks about the computers.

CS basics is not likely going change in near future, they are still relevant and useful today. Okay, recently there was some news coming amd going around that OOP is not the best paradigm, but still most enterprise applications designed with OOP in mind, Functional Programming gains more popularity nowadays, but it’s not because it’s new concept, it has decades of history already.

Becoming good engineer is not “cheap”, like diving into some technology’s documentation, going through tutorial, learning and building, I mean it’s still cool if you create something useful, but the thing is, they are easy to use, most staff are given to you, thus you see the solution to the problem through the eyes of the designer of those technologies.

Do you develop a web application with database-first approach, try to the app without persistence layer, just objects, how you are going to relate those objects? Inheritance, Composition, Aggregation? How you will make sure the application works as expected? By manually testing or using Unit Testing framework? How are you going to make this application maintainable? How you will make sure newly added feature doesn’t break other parts of application?

Those skills are invaluable and timeless, this way you will become technology-agnostic, still very valuable, because you build something valuable through good engineering skills.

I hope I explained clearly enough, if you have got any question feel free ask.