I've been dabbling in programming for about eight years now, primarily using C#. I started with VB.NET, and I have a bit of experience in Java and C++. Although eight years sounds like a lot, I'd classify myself as a hobbyist – my learning has been mostly project-based without formal courses or books, so I feel like I have advanced skills in certain areas but gaps in my basic understanding. My goal is to fill those gaps so I can more easily pick up new programming languages in the future, especially since I struggle with syntax and terminology when things get different. Currently, I know about MVVM architecture, but I'm interested in broader architecture concepts that apply to backend development. I'd also like to deepen my knowledge in C++ and learn Rust. Any recommendations for books that could help with these goals?
1 Answer
It sounds like you're in that tricky middle phase where you can build things but still have some gaps in your understanding. I recommend "Clean Architecture" for system thinking, "Design Patterns" for understanding common solutions, and "The Pragmatic Programmer" for a good mindset overall. "Code Complete" is also great for solidifying the fundamentals. Just remember to balance reading with hands-on practice to really make the concepts stick!

Thanks for the suggestions! I have a bunch of projects lined up, so I’ll definitely find ways to apply what I learn. Just got an eReader, which is perfect for diving into books since I’m not a fan of video tutorials.