Tip of the iceberg

Photo by 66 north on Unsplash

Tip of the iceberg

No this article is not about a physical tip of the iceberg, what I mean by this phrase is 20/80. I actually use this technique when learning new languages, I learn the base theory or 20% of whatever is useful in a language and leave the 80% up to the experience aspect.

Here are the ten steps I keep on doing every single time I learn a new programming language. Over my career so far it has helped me learn about 10 different programming languages.

  1. Write a text based game
  2. Write CLI tools
  3. Write a TCP server/client
  4. Write a UDP server/client
  5. Write a web app (some languages come with a basic http server framework, if it doesn't I use a TCP server).
  6. Write bots (slack, discord, irc?!?)
  7. Learn from others on Github, gitlab...
  8. Participate in open source projects
  9. Teach others