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.
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".
I love programming, but this skill/understanding plateau has left me a bit burned out recently.
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?
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.
Thank you for any insights you may have!
Also, read the code of good projects on Github.