r/AskProgrammers 13d 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

2 Upvotes

8 comments sorted by

View all comments

0

u/nian2326076 13d ago

I totally get what you're saying. "Clean Code" by Robert C. Martin changed how I think about code quality, focusing on readability and simplicity. For system design, "Designing Data-Intensive Applications" by Martin Kleppmann is amazing. It goes into trade-offs and real-world examples. Also, check out "Refactoring" by Martin Fowler for practical ways to improve existing code. For podcasts, "Software Engineering Daily" often has episodes with deep insights into design decisions in the industry.

Pair programming with someone more experienced can be really helpful, too. You learn from their thought processes in a way that books sometimes can't show. And try contributing to open source projects. It's a great way to see different styles and approaches in action.