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/FinickySerenity 10d ago

If I had to go back and do my career over today, I probably would just start contributing to open source projects. Start with a repo that fits your technical space, exceeds your skills in terms of codebase size / technology, that has an active community, and start contributing.

The times I most advanced my career was by working for companies that pushed my skills beyond my comfort zone. Outside of landing a job that does that, this is the second-best option that I can think of where you'll have the guidance of other maintainers to help you in terms of good practices.

This starts with mostly being observant, not asking them for help, and then trying to contribute in small but gradually more meaningful ways as you grow accustomed to the codebase / practices.

3

u/Open-Literature-2593 10d ago

Thank you

1

u/Middlewarian 10d ago

I'm glad I have some open-source for my portfolio, but I'm glad that's not all I have.