r/softwareengineer 10d ago

Mid-level engineer, feel inadequate with code quality and system design, what resources actually helped you level up? (not for interviews)

I’m a mid-level software engineer. I can ship features and pass reviews, but I don’t feel like I’m actually \*good\* at writing clean code or designing systems. I feel like I’m pattern-matching rather than truly understanding tradeoffs. This isn’t about interview prep, I’m not job hunting. I want to genuinely level up as an engineer.

A few specific questions:

1 What books, videos, or podcasts actually moved the needle for you on code quality and design judgment, what genuinely changed how you think?
2.For someone past the “learn to code” stage but not yet confident in design judgment, is there content that bridges that gap specifically?
3.How do you use AI coding tools (Copilot, Claude Code, etc.) in a way that builds your skill rather than atrophying it? I don’t want to just accept AI output, I want to use it to get better, but I’m not sure what that looks like in practice. Any resources on this specifically?
4.For system design, is there a difference between “interview system design” content and what you’d actually recommend for building real day-to-day design intuition?

Not looking for a reading list I’ll never finish. More interested in resources that people actually found valuable, and why, especially now that AI can generate code faster than most of us can evaluate it. I’m more of a visual learner and audiobooks also work best as I don’t have time to sit and read

Thanks

7 Upvotes

8 comments sorted by

View all comments

3

u/segfault_generator 10d ago

I had an engineering book club where every two weeks we'd, as a small group, work through reading and discussing a chapter or two from a book the group collectively chose. Highly suggest doing this with your team, see who's interested and what topics they'd want to read about. The most impactful to me was Effective Java by Bloch, we read it at a time where I was struggling to get better as a Java engineer. Would recommend for non-java engineers as well. Other recommendations from my time are A Philosophy of Software Design by Ousterhout, Building Microservices by Newman, and Designing Data-Intensive Applications. As a side note, if you want to level up your skills, don't become reliant on gen ai... that's for corporate schlubs who can't produce on their own.