The Day You Become a Better Programmer.

The Day You Become a Better Programmer.

Tutorials won't make you a good programmer. I went from a copy-cat programmer to a good programmer in 6 months. No online tutorial will teach you this. The first trait of a good programmer is that he understands fundamentals well.

Programme is to the computer what sex is to masturbation. Understanding how computers work will improve your thinking process. You will not be the same person again. You will look at machines differently.

Here is my list of topics to master the fundaments.

  1. Computer Hardware. Just using just NAND gate you can build an entire computer. Understand how Latches help in storing states. How CPU is build using Adders. These things won't make you a good programmer but will give you a big picture.

  2. Operating System. Understanding Operating Systems will make you a good programmer. What Processes and Threads are? How Kernel works. What systems commands are. After understanding these concepts you will know why they designed Node.js as single-threaded.

  3. The Internet. What is the Internet? What TCP/IP protocols are. Why they are backward compatible. Why we use IPv6 instead of IPv4, HTTP/2 over HTTP/1.

  4. Algorithms. Now you can't escape this monster. But this time learn algorithms to understand it. To challenge old algorithms. They are meant to be challenged and redesign.

Just these topics. You don't need to master all these. Just understanding them will change your thinking. Instead of using other people's tools, you will build your own tool when needed. That's it.