Ask HN: How to go from a good engineer to a great one?
After about 8 years as a software engineer, I've noticed significant growth in my skills, from grappling with messy code to crafting cleaner solutions, and from struggling with documentation to confidently delving into library source code. I've broadened my expertise across application, frontend, and backend development. However, over the past 2-3 years, I've encountered a roadblock. I find myself unable to progress further or delve into advanced topics. This stagnation has led me to undervalue my accomplishments and feel demotivated about further learning. I often admire individuals who can independently create remarkable tools, scale products from a few users to millions, and rapidly develop and deploy software within a week.
Has anyone else experienced a similar feeling of being stuck? Any advice on how to overcome this hurdle and continue progressing?
PS: And yes I asked GPT to format my question. So that's the reason it sounds robotic, its not bot spam. For me, leaving a plateau usually requires a paradigm shift. Here's a few rabbit-holes for you: • Learn memory management from Rust • Study Postgres internals: https://www.interdb.jp/pg/ • Learn architecture and design from Elm: https://taylor.town/elm-2023 • Try building things "from scratch" with zero dependencies • Watch online lectures from Joe Armstrong, Alan Kay, Gerald Sussman, Bret Victor, Casey Muratori, Greg Young, Richard Feldman • Build a robot • Learn a semi-esoteric language like Forth, APL/J/K/BQN, Lisp/Scheme, Wolfram Language, etc. But research isn't enough. I never really understood the value of new paradigms until I tried to use them in a personal (or professional) project. Let me know if you need any further resources or suggestions. Good luck! Thank you for the answer and all the resources. I've tried starting rust a couple of times but somehow something else came up always, I'll give it another go. I've been trying to focus my time on moving towards machine learning and its a paradigm shift for me because I've never been a fan of mathematics. I've started with Deep Learning Specialization on coursera but I don't know if that's a good resource. So if you have a better resource or a learning path you can suggest for this, that'd be great. I had no luck learning ML until I found a fun project to use it for. To me, all the courses were too abstract and ultimately unhelpful. It's also good to read the docs for the SDKs/APIs you might want to use. In my case, it was a lot of the Apple neural stuff that helped me along. Humility? The best engineering is engineering that doesn't reflect the engineer's ego. Great engineers are great because they maintain a focus on being good engineers. For example: Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. -- Brian Kernighan Good luck.