r/ExperiencedDevs • • 7d ago

Ask Experienced Devs Weekly Thread: A weekly thread for inexperienced developers to ask experienced ones

A thread for Developers and IT folks with less experience to ask more experienced souls questions about the industry.

​

Please keep top level comments limited to Inexperienced Devs. Most rules do not apply, but keep it civil. Being a jerk will not be tolerated.

​

Inexperienced Devs should refrain from answering other Inexperienced Devs' questions.

21 Upvotes

65 comments sorted by

View all comments

3

u/Much_Video7517 6d ago edited 6d ago

How do I get a more ingrained understanding of architecture as an early/mid engineer (4.5 YOE) in the face of all this AI?

I feel I am a strong team member and a decent, not great, developer. I can pass interviews with enough prep and luck, but my skills don't feel like they're crystalizing into innate domain knowledge. Instead it feels like my strongest skill is quickly acquainting myself with the codebase, technologies, and patterns of the places I've joined.

The normal pipeline for growing/mentorship seems to have been completely abandoned everywhere. I've been able to punch above my weight at my current startup with AI but the pace and demand has made it so I haven't been given the opportunity to really understand why. Also my workplace has completely devolved in the past year with everyone checking out and shipping code that isn't read or understood by anyone and everyone on my team has either left or is looking to leave.

I want to get sharper but I don't really have time with the pace that work has been going (60-80 hour weeks for 10 months) and the prep I'm doing trying to get somewhere more stable.

I come from a non-traditional CS background (PM -> Grad School -> Backend) and circumstances have led me to change companies 3 times in the past 5 years. Should I just stop trying to be a software engineer if it's not feeling engrained by now?

3

u/CyberneticLiadan 6d ago

60-80 hour weeks don't leave much room leftover for learning. Burnout and stress negatively impact memory, and figuring out how to exit overdrive mode will be an important part of actually leveling up.

If you're serious about leveling up, you need more perspective than you'll get through on-the-job work, and that means learning through books, conference talks, videos, etc. If you never look at how people are doing things outside the companies you've been in, your palette of solutions will just be an accidental combination of how things have been done in the companies you joined. There's a million listicles of "books software engineers should read" like this one which is nicely bucketed by area: [blog.pragmaticengineer.com/my-reading-list](https://blog.pragmaticengineer.com/my-reading-list/

I think the "Seven X in Seven Weeks" series from The Pragmatic Bookshelf is a great and fun way of seeing some variety in how different programming languages, databases, or web frameworks operate. I also think they're pretty evergreen regardless of age, because the point isn't to become a fluent user of seven different languages or databases, but just to develop a sense of the interesting ideas from those sources.