The more I tried to learn, the less I felt like I actually knew.
For the longest time, I thought becoming a better software engineer meant learning as much as possible, and I tried to do this as quickly as possible.
If a new Typescript framework appeared, I wanted to learn it. If everyone was talking about AI agents, I wanted to understand them. My thinking was simple: the more I learned, the better of a developer I'd become.
At least that's what I thought.
It wasn't until recently that I realised I wasn't running out of motivation, I was running out of mental resources.
My weeks started looking something like this:
AI became a big thing, and suddenly there were LLMs, agents, MCP servers, RAG, prompt engineering, and another hundred rabbit holes waiting to be explored.
Instead of feeling excited, I felt like I was just falling behind. Every topic I wasn't learning felt like I was falling behind.
Part of this came from conversations I'd have with senior developers. I'd walk away thinking, "I have so much left to learn". Now, I don't think that's a bad realisation; the problem was with how I responded to it. Instead of picking one area to improve, I tried to improve everything at once. Frontend, backend, architecture, cloud, devops, AI, all of it.
Every new technology felt like another piece of the puzzle I couldn't afford to ignore. Ironically, trying to close every knowledge gap only made me feel further behind.
I've tried creating the "perfect" schedule, as you read about previously...
LeetCode before work, tutorials over lunch, study sessions after work, and reading after dinner. On paper, it looked productive. But in reality, my brain could never adjust. I'd get stuck on a LeetCode problem before work, then I'd spend half my workday subconsciously trying to solve it. At lunch, I'd start watching a tutorial while still thinking about the feature I'd been building five minutes earlier. By the evening, I'd sit down to study another topic... The words on the screen made no sense, and it felt like a mission just to keep my focus.
I wasn't being lazy, I was just mentally exhausted.
I'd open my IDE, open the project I want to work on, look at the code, and just sit there. Not because I didn't want to work. But because I genuinely didn't have the mental energy to start.
The same thing happened with documentation or tutorials. I'd be three sentences deep until I realise I've just been reading, or listening, to the words but not actually paying attention to understand what is being said. That was always frustrating.
If there's one thing I'm embarrassingly good at, it's starting projects. Actually finishing them, though? That's another story. Every new idea felt more exciting than the last one. I'd jump into it, convinced this was the one. A few weeks later, another idea would steal my attention. Months later, I'd revisit an old repository only to wonder, "Why did I build this again?"
I wasn't lacking motivation; I was constantly resetting it on new projects.
The strange thing is that I was busy, really busy. But six months down the line, I struggle to point to anything I'd actually finished.
I'd spend more time planning how I was going to learn something than actually learning anything. I'd make enormous roadmaps and become overwhelmed by the size of them. So, I'd shorten the roadmap only to convince myself I was taking shortcuts. So, I'd rebuild the roadmap again.
Somewhere along the way, planning became a substitute for progress.
Now, I'm still figuring this out. I don't have a magical productivity system. But what I do know is that trying to learn everything at once has never worked for me.
So now I'm trying something much simpler.
Finish what I'm doing before chasing the next exciting idea. Accept that some technologies will have to wait. And understand that it's better to be great at a few things than to be okay at a lot of things.
If I could send one message back to myself a couple of years ago, it would be this: Focus on small increments. Decide where you want to go, commit to that path, and ignore all the shiny things trying to pull you away from it.
Software development moves incredibly fast. There will always be another framework, another AI model, another language, another "must learn thing". The list will never end, but your mental energy does.
Thanks for reading, and I hope that if you take anything away from this, it's that finishing what you start is far more valuable than constantly chasing the next big thing.