A problem I always find when I try to read books like these is that I don't find them very engaging, I don't know if it is because of a lot of technical language or what. Does this happen to you?
Hey Lucas, I'd definitely say that's a common thing. I never really found reading programming books in university to be "fun"; they all just kind of felt like work to me.
I think the moment that reading technical books became interesting to me is the very moment that I started having technical problems that needed to be solved.
For example, I have a codebase on a project that is over 3 years old and 100K lines of code. When output on new features started to slow down, I realized that my software architecture skills weren't quite up to par- so I started reading Clean Architecture, then read Domain-Driven Design. I found that having an actual project or product to apply the things I was learning to actually made it fun. I couldn't wait to figure out how to improve my code... which I was personally invested in!
Thanks for your reply. I can relate to this but I also think books like this should be more engaging, for example The Manga Guide to Databases, which is basically a comic in which you learn relational databases.
That's amazing... I can't believe that exists!
I think we're in a good place now though where we're going to start seeing more content like this. As I mentioned in the article, not a whole lot has changed about software engineering principles over the past 20 years. There's great potential for people to come up with creative ways like this for people to teach it to others. I love that.
I found most of the books on this list pretty engaging, with the exception of Design Patterns. I realize it's important, but I found it dull to the point of being unreadable, especially if your comfort zone is outside of Java/C#.
Definitely. Some leads swear by it, I think "Head First Design Patterns: A Brain-Friendly Guide" is a way better introduction to design patterns. I probably should have listed that one instead!
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.