I keep reading post after post after post. “Learn to code”, “Everybody Should Learn to Code”, “In the Future Everyone Will Need to Know How to Code, Learn Now!”, and so many more. I’m going to point out a few very important tips to life. These tips are especially important when it comes to programming, or NOT programming.

Then, I read something that was like a lovely breath of fresh air. It was as if someone had actually pondered the world for just one more second past “LEARN TO CODE” and though, “naw, that’s probably a bit much”. I read Yevgeniy Brikman’s blog post “Don’t Learn to Code, Learn to Think“. You might have seen it. It’s been picked up by more than a few other media sources and extensively tweeted.

Now, in Yevgeniy’s article there is a lot of talk about still learning Computer Science. I also agree with that, versus just learning the semantic and pedantic details of just programming. However I’m going a step further and advise this…


In addition to that advice, here’s some serious advice that goes above and beyond what to learn in school. This very short list of tips is about what to learn for life, to do well in life, and not just for the petty demands of school. These are tips are for any competent person, who wants to excel in anything that they do. If you’re about to get into high school, college, or whatever. These are the things you should be focused on and thinking about extensively.

Systems Thinking

Don’t learn to write code just to learn to program. That’s just absurd and it’s a waste of time. Learn to think, and not just to think, but to think about systems. Learn to understand how systems work together at a deep level.

An example, give into something like the freight system in North America (or Europe) and figure out how it works functionally from strategic to tactical levels.

Learn to throw away confirmation bias, cognitive dissonance, and always ask yourself if you have the data you need to draw the connections about life in an accurate and meaningful way. If you don’t, keep asking questions and keep learning.


Become an autodidact. You instantly become dramatically more powerful than anyone that requires structured teaching to attain new knowledge. It opens up doors and instantly gives you an advantage in any conversation, any new skill you want, and in visiting anywhere in the world. When you learn to learn the world changes for you. You’ll be able to understand and deduct conclusions and solutions faster than any counterpart that can’t do this. It also gives you a significant advantage in programming, if you do decide you want to code.

In the process of becoming an autodidact one helpful idea is to actually study learning. Take a course, get a book, find content, and just observe yourself. Get as much information as you can about how people learn and read it or watch videos on it. Whatever the case, get as many ideas and strategies about how you learn and what the most effective methods are for you to gain a deep, systemic, and ordered knowledge of topics you want to understand.


These two skills will give you far more of an advantage in life then merely learning to program or taking classes or going to school to learn to program/code/hack/whatever. So do yourself a favor, don’t get suckered by the “Learn programming and get a good job QUICK!“ nonsense. If you gain the two skills I mentioned and get your brain sorted, you’ll do much better than merely learning to program and you’ll thank yourself in the future!

I can promise you that! :)