Roger Ngo's Website

Personal thoughts about life and tech written down.

Too Many Languages

The one thing that sucks in this programming life is that there are too many general purpose languages out there. I love doing everything in C#, yet I am curious enough about Java that I am always interested in learning more about it and its API. There’s also my lengthy quest to become a C pro, and then I have a list of to-learn languages like Python and Rust/Swift. I'm not even speaking about just being familiar. The goal of course, is to always get to know the language and its tendencies/quirkiness in doing things.

Also, don't get me started about functional programming! I've always wanted to learn LISP or Haskell. I've barely dabbled in Scala in the past but I have no credibility to say that I have knowledge in this area of software development. But how about... JavaScript... does that count?

Then there are concepts... I'm always curious about computer graphics, algorithms/data structures, operating systems, architecture, more web development, etc.

I have come to a conclusion that the fastest way to learn is to actually just learn as you go along. Meaning, putting yourself in a situation where you have to figure something out in an unfamiliar technology would probably be the easiest way to pick it up. But what if you want to make sure you're not skipping any important?

An even better question, how does one become confident enough to narrow down their list of technologies and become more specialized without worrying about missing out on the coolest things?

How does one maintain an "outside" life while fulfilling the awesome, yet brutal grind of day to day activities as a developer?

These are questions I am still trying to find answers to.