Title: I've been a software developer for 5 years.  It has been a good career from an outside perspective - great names, high salaries, chance to live abroad, responsibility beyond my years etc.<p>All is not well on the inside though.  I'm experiencing a bit of a career low and crisis of confidence, which is why I turn to the smart people at HN!<p>I'll give a brief history for context -<p>My first few years as a developer were great.  I learnt a ton about software and all things tech.  Combined with a bit of business awareness I shot up the ranks and ended up in 'senior' developer roles (in practice if not in title).  I worked on some fairly low level high performance stuff and off of this built a bit of a name for myself in some niche technical communities.  I was proud of what I achieved and felt I was learning every day and delivering good stuff.<p>The last few years though, this has really stopped.  I first had a bad year in one of my roles where issues outside of my control left me fighting fires for a year rather than coding.  I left and then spent six months in a contract role that just involved hacking HTML and Javascript together at short notice for demos.  I've now moved back into a permie role, but seem to be really struggling to get to grips with the code-base.  The bits of code I have contributed have in retrospect turned out to be buggy or poorly designed in the context of the code base.  I'm not covering myself in glory there at all.  I don't have a single achievement yet after 6 months on the job.<p>I'm fortunate in that my CV and interview technique is getting me into very well paid development roles, but every day I am feeling like more like someone who can talk a good game and live off past accomplishments, but not deliver.  It's really eating me up as I want to excel in my job and earn the respect of my team.<p>I guess I feel like I've gone backwards over the last few years.  A few reasons for this:-<p>- I never just sit there and crank out code anymore - I must have read 1000 lines of code for each one I've written over the last 2 or 3 years.<p>- I never get the opportunity to properly engineer something and learn from what works well and what doesn't work well as a result of my own design decisions.  My last few jobs have been weighted towards maintenance.<p>- I struggle a lot more with low level algorithms and data structures nowadays.  I used to be pretty good at this but have lost the edge as I've drifted up to middle tier business and CRUD coding.<p>- I have lost the art of elegant code - everything I write seems forced and fragile, too much repetition, too inflexible.  I look at other peoples code and algorithms and it just looks unattainable to me even though I was doing that 2 years ago.<p>- I've developed a few concentration issues - I drift off and surf the interwebs more than I used to.<p>- The learning has stopped - I learn new tools and languages but rarely take away a new idea from them which makes me better in the day job.<p>After this essay, I guess the question is, how do I get my mojo back and get that level of technical excellence back?<p>And did this happen to any of you guys part way into your careers, or did you have a pretty linear improvement over the years?<p>Any help appreciated!
Upvote: