HACKER Q&A
📣 ocebe

Resources to move from intermediate to advanced programmer?


Today you can find a lot of information about how to start programming and tutorials for beginners. I find myself in the situation that I have 7 years of experience behind me and want to continue learning in a didactic way. I am a faithful reader of technical books where I learn a lot, but objectively, the way I have learned best has been following some online courses where teachers taught in a practical way and from the real world concepts such as hexagonal architecture, ddd, SOLID and a great repertoire of concepts that I consider important to be a good software professional. That is why I ask you, what resource (book, course, youtube channel...) has been the most useful for you in your career?

Translated with www.DeepL.com/Translator (free version)


  👤 huhnmonster Accepted Answer ✓
What has really helped me was Jon Gjengsets channel on YouTube. It is focused in Rust and advanced topics. His streams tend to be pretty long but they can easily be split up and watched over multiple days. https://m.youtube.com/c/JonGjengset

👤 taphangum
I am actually creating a resource for this exact use case. You are very right that there is very little out there that specifically focuses on the more intermediate to advanced developer.

A major issue that most of the developers like me and you within this demographic face is that of most beginner-focused content not being fast enough to learn with. This along with the fact that time is often a big issue for us. I've had numerous times where I had to learn a new framework within a 1-2 week time span in order to plug some work gap or speed up a project, and found no legitimate resources that could allow an intermediate developer like me to learn faster.

This is why I am currently creating content targeted specifically at intermediate to advanced developers and teaching new languages and frameworks (using the 'constructivist' method) in a way that makes the process of learning them much more efficient. In short, faster.

It's a little rough around the edges but you can check out the blog where I share my current tutorials here: https://fromtoschool.com.

To gain a better understanding of why the method of teaching that I've described is more efficient than others for the intermediate developer, check out this post: https://fromtoschool.com/why-most-programming-tutorials-are-...


👤 giantg2
Your company sets the guidelines/expectations for what determines the difference between intermediate and advanced programmers. You could meet the definition of advanced programmer in one company and not another.

There are also variations in titles, both real differences and just differences between what companies call you. Are you really a programmer? It sound like you might be a software developer since you are learning concepts and architecture.

So to get to that next level, you can either do it from your perspective or the company's. Use the company's guidelines and get promoted. Or, improve areas you see as an opportunity to improve.

My company sees me as an intermediate developer, but I have often been mistaken as a senior developer or tech lead (not currently as I switched roles/tech stack). So perspective is everything.


👤 ineedausername
"Learn you a Haskell for great good" - it will stretch your mind and shape-expand the way you think about solving problems

"Java concurrency in practice" - will give you deep insights into the "how" and the "why", on this subject which is very important if you wanna call yourself "advanced"