For the past 2 years or so, I have been writing predominantly JavaScript. While I have mixed feelings on JavaScript as a language, the ecosystem is both awesome and utterly terrifying. There are so many options for every aspect of development and tooling that the choices can be paralyzing. The glut of options for, well, everything has caused me to focus more on deciding which technologies I really want to learn and for which ones I can be content in my ignorance.

In the spirit of being intentional about what to learn, I have compiled a list of 20 technologies that interest me. My plan is to learn at least enough about each one to carry on an intelligent conversaion about it and eventually do a deep dive on the ones that I enjoy the most. I plan to share my experience in this learning process as I go, so I’ll be posting to the blog as a work through each item.

The 20 things I would like to learn are - in no particular order:

  • Containers without docker
  • ARM assembly
  • Building a columnar database
  • Blockchain
  • Rust Programming Language
  • Linux filesystems
  • How an OS Works
  • strace
  • Raft consensus protocol
  • Device drivers
  • Type inferrence
  • Go language
  • Neural networks
  • TCP
  • Distributed filesystems and storage
  • Etherium Smart Contracts
  • Falcor
  • BSD Jails
  • GPU Programming
  • Algorithmic trading

Let me know if there are any topics that you’d like me to cover first or in more depth, just let me know in the comments. I hope that this learning journey is interesting/helpful!