Video: Stop Studying Programming

Video: Stop Studying Programming

From the YouTube channel bigboxSWE comes this very short video with a very concise message, but it's a very strong one! It's a reminder that I constantly need and possibly you do too. There isn't much to review here, but there are multiple quotes I'd like to emphasize and contemplate.

"Get off YouTube, [...] open up VSCode, and just write!"

How could he assume I use VSCode?! I use Neovim btw.. (jk)

You see, while YouTube, Twitch, Discord, etc. have their advantages in getting caught up with the development space and also connecting to the community, they are NOT what you truly need to get better. At many points in time, these will only be distractions - easy ways for you to trick your mind into learning when you're simply being entertained.

Over the last year, I started hanging out on Discord servers (shout out to the Learn Build Teach and Boot.dev servers) and watching more YouTube videos (lots of them were ThePrimeagen's clips). I may even get into watching streams soon. However, I discovered that I should manage my time while doing these things because any amount of time spent on those platforms is time I could've spent coding.

So, my advice for myself and you: don't lose focus. Remember that the thing we should be doing the most is sitting in front of our editors and building more stuff. The rest is only nice to have but not essential.

"Stop looking for the perfect programming language."

I have been guilty of this - multiple times. On the statistics side, I use R professionally at my job, but I learned Python, SAS, and SQL at different points in time. On the web development side, I discovered JavaScript and learned it, then learned React because it's the hottest thing, and Svelte because it's the coolest thing, then Clojure because it's a functional Lisp, and now I'm learning Go. I even thought of going all-in with the functional paradigm and learning Haskell!

At the same time this quote is said, the video shows "it doesn't exist," and I think I agree at this point. If a language seems exciting at first, the excitement fades. If a language seems elegant at first, you'll encounter its quirks sooner or later. If a perfect language exists, then I guess there wouldn't be so many of them.

Right now, as I'm trying to get serious with my programming and prepare for a job, I picked Go and am sticking with it. (That was also mentioned in the video by the way.) Maybe I'll pick up Haskell or revisit Clojure in the future, but I am still sticking to Go as my main language and the one I intend to use professionally. Anything else is just a hobby unless there is real job-related reason for me to change languages, and that's very unlikely.

"Stop trying to master programming languages."

What does it even mean to "master" a language? Memorizing its whole spec, learning every library or framework it has? You know that's, at best, impractical and, at worst, impossible... right? Also, since the web development space is based on open-source technologies, there are no official credentials or certifications for most programming languages. It's not that I like certifications anyway, but my point is that there is no clear-cut way of measuring programming skills.

I've been among those naive people, thinking I should "master" a language to qualify for working professionally. While it's great to learn your language's syntax and semantics, that usually tells you nothing about the common patterns and idioms for common development tasks like spinning up a server, connecting to a database, sending an HTTP request, etc. I mean being more familiar with a language will surely make it easier to learn and apply programming concepts, but you still need to learn and apply programming concepts. They are two separate things to learn, and they should happen in parallel, not in sequence.

"There is only hard work and long hours."

I'll end this article with this point, and I consider it the most important takeaway from either the article or the video.

I guess that's the only thing that I didn't need a huge reality check to realize: becoming a better developer is a grind - a constant one. It makes sense given that, as said earlier, there isn't any well-drawn path to mastery. You can always find new ways to do the same thing, new concepts to learn, or deeper levels in concepts you already know. Instead of passively learning individual concepts, the best way to make these connections in your brain is to keep building.

Conclusion

I did my best to echo bigbox's reminder that you need to build more. So, I hope that gives you some clarity on what our primary focus is. Get out of tutorial hell, reduce edutainment consumption, write more code, and (most importantly) enjoy the ride!