Hi all,<p>I've been working professionally as a software developer for 3-4 years, and am currently in a large engineering organization (not a FAANG but a financial firm). While the day-to-day work I do is "coding", little of it has been on projects where I feel I've come out more knowledgeable about building good software.<p>My current struggle is having recognized the __large__ gap between writing "code that works" and writing programs that are stable, maintainable, and extensible. As much as I've been aware of it, I still find myself writing more of the former than the latter. Work projects feel limiting on how much I can explore new ideas / re-think architecture and design philosophies, while personal projects have felt mediocre and any attempt at writing good code has come off as "premature optimization".<p>I love programming, but this skill/understanding plateau has left me a bit burned out recently.<p>Have any of you ever experienced something similar after a few years in the industry or as professionals? How did you deal with it, and what were some actionable steps that helped you overcome it?<p>I know some of you on HN have been programming for decades, so I'm curious to hear what were the moments you were able to take and become better engineers.<p>Thank you for any insights you may have!