HACKER Q&A
📣 Szpadel

How do you master your programming skills?


I've been a developer for many years, and I consider myself proficient in my field. However, I recognize that my coding practices could be more polished, and my architectural designs are not flawless. There's always room for improvement.

The challenge arises when seeking resources for advancement at a senior developer level. The majority of online materials cater to beginners or intermediate-level developers, making it difficult for seasoned professionals to find content that can truly help them refine their skills.

I'm eager to elevate my abilities further. Beyond mere practice, what strategies or resources can I pursue? Are there any in-depth blogs, books, videos, or other materials focused on enhancing code style and architecture for those who are already familiar with the basics and aim to achieve mastery in these areas?

PS I primarily focusing on rust at the moment, but I believe that those skills are language agnostic


  👤 dartos Accepted Answer ✓
Look at an open source project you frequently use.

I’m talking redis, llama.cpp, vim, serde, wgpu, whatever. Literally anything.

Rebuild it.

That’s it, that’s how you advance at this point. Try to make it perfect for you. Rediscover why some things in that original project are unintuitive. Learn the trade offs that were made first hand.

According to the pragmatic bookshelf “a master has failed more times than an expert has tried”

So start failing at rebuilding these big powerful tools.


👤 gregjor
The fundamentals of programming haven't changed much in decades, so I'd start there. Probably more wisdom in The C Programming Language or any of Knuth's or Wirth's books than in the mountains of tutorials and Medium posts online. The languages and tools and frameworks in vogue change all the time, but they are mostly just new coats of paint on the same old house. As Alan Kay (another author you might read) pointed out, the programming profession is plagued by fads and fashion, constantly reinventing the flat tire.

👤 jeffreygoesto
Try to solve an interesting but not business critical side quest with a new method. Give yourself at least some time to play again. Then try to understand what your did and extend your taxonomy with that new understanding.

Going on a walk and explaining our debating it with a peer is great for that...

As an adult you typically learn through extending existing knowledge, not necessarily something completely new.


👤 stray
Build a better mousetrap.