Do you know how to convert binary numbers into a decimal? How do you know that 11010 in binary is 26?


16--8---4---2- --1

You start from the end (0) and write down the exponents of 2, incrementing them until you reach the start (1). 2^0 = 1; 2^1 = 2; ... 2^4 = 16. Then you just add up the ones that have a '1' (16 + 8 + 2 = 26). Awesome! By the way, this is the only language computers can understand.

Even though everything gets faster, better, and smaller at a rapid pace, the principles under which computers work haven't changed much since the 1950s and 1960s. E.g., the programming language C was created in the '70s and is still widely used by software engineers.

The graph data structure from discrete mathematics graph theory has been around since the 1700s (!). Your connection to friends and their friends on Facebook? Graph. Google Maps? Graph. Google search? Graph. Instagram followers? Graph.

This kind of fundamental stuff is not going to go anywhere soon. It's the foundation.

Focusing on principles is what makes the difference - not the techniques or gimmicks - but the principles.

Of course, principles are not only found in the field of computing. They're everywhere - in every possible area.

Let us turn 180 degrees and go from computers to the field of social skills.

E.g., in some articles or books, one might read about the importance of strong eye contact. Your eyes shouldn't be darting around; you shouldn't look at your shoes etc.

This is a gimmick - a technique, not a principle.

If you're a confident person with a decent amount of social experiences and who has endured fair amounts of social pressure in his life, holding eye contact is most likely not an issue for you. In principle, you're a confident person, and you don't need a 'technique' to convey it.

Instead of focusing on eye contact or body language 'tips' or what are good conversational topics, it's a lot better to fix the underlying cause. Then you can just be yourself and forget about all the tricks and tips.

Back to computers...

Suppose you want to learn how to code. In that case, it's better to focus on the foundational computer science principles rather than chasing to learn every tool, library, and JavaScript framework out there.

There's a reason you can get a software engineer position at Google with exactly zero years of experience. That is, of course, if you understand the computer science fundamentals very well. Other companies may want a 5-year React (just a library) experience instead.

These people don't realize that React might not even be a thing tomorrow.

Google (and other tech giants) understand that it's the principles that matter - not the tools.

The point I'm trying to hammer in is that there's always a next shiny thing that draws our attention. That shiny thing is new and exciting but might become irrelevant as the next shiny thing comes around. These are the tools and techniques.

The principles that really matter might not be shiny, but they make the most significant impact at the end of the day.

In any field, there is a comprehendible list of foundational principles and a combination of a million techniques, tools, and methods that come and then become obsolete as something better comes along.

Your time is not best invested in going after this noise. Rather, find out what are the few essential topics and then focus on them. These will give you the most ROI.