Preface
Around half a year ago I’ve transitioned from a software engineer to a lead engineer position. This has always been my career dream. But as it usually happens, it turned out that I idealized the role. Sure, it’s satisfying. But it’s also very difficult in ways that I did not anticipate.
I do a lot of self-reflection: long walks with my son, meditation, deep conversations with my wife. This helps me come up with reflections and patterns. I now decided that I will document my journey in becoming a better lead. Instead of falling into the trap of burnout, I will strive to make something great out of it. Thus my idea for this series.
Dear diary, today I learned that
You will make mistakes. It’s how you learn and get experience.
Hard mode on

Becoming a lead engineer felt to me like switching to hard mode in the same game you know well. You’re still coding. You still join architecture discussions. You still estimate tickets. But now, you’re responsible not just for what you build, but for what the team builds, and how they build it, ship it and maintain it.
Your success isn’t just about clean code and performant services. It’s about how the people around you feel and grow. Are they motivated? Do they trust you? Can you sense when someone is silently frustrated? Are you helping them get better?
New skills tree unlocked
As a senior engineer, I had a well-honed toolkit: designing systems, debugging weird issues, shipping features. As a lead, that toolkit started to feel incomplete.

I suddenly realized that there are new skills on the skills tree that I have to invest my skill points into:
- Listening with patience, even when I disagree
- Saying difficult things with kindness and clarity
- Giving feedback (the real kind, not just the easy kind)
- Navigating scope and priorities with PMs
- Managing emotions — mine and others’
- Knowing when to push, and when to back off
- Thinking months ahead, not just days
Reading about these is easy. Doing them? Not so much.
Experience doesn’t come from books
Speaking of which – here are my book notes: https://softwarephilosopher.com/category/book-notes
You can read every leadership book on the shelf — it still won’t prepare you for that moment when you need to tell someone they won’t be getting the raise they were hoping for. Or when you have to call out behavior that made others uncomfortable.
Even before my first 1-on-1 call I had the jitters.
The only way to get better is to try, fail a little, feel the sting — and try again.
My two-year-old knows this better than me
Watching my son figure out how to jump, climb, or stack blocks is a constant reminder: mistakes are how we learn. He trips. He spills. He screams. Then he tries again.
No one expects him to get it right the first time. Why do I expect that from myself?
…and another mistake
I had a mid-probation conversation with one of my team members. My goal was to listen, get insights, and support them. I felt it went well.
Later, I proactively shared my notes with my manager. His first question? “What feedback did you give them?”
None, I said. I didn’t think that was the point of the call.
I felt frustrated. I wanted recognition for taking initiative — and instead I got a correction. It stung. But the truth is, he was right. I missed a chance to help that team member grow or feel appreciated.
Next time, I’ll come better prepared. The pain of that moment is now part of my experience bank.
No pain, no gain
When you lift weights, your muscles hurt. That’s how you get stronger.
When you lead people, your emotions take the hit. You feel the tension after a hard conversation. You regret things you did (or did not) say. You wonder if you’re doing it all wrong.
That’s okay. That’s the point.
Mistakes aren’t a sign of failure. They’re a sign that you’re doing something real, and you’re learning from it.
And one day — maybe not today, maybe not next week — it will get easier.
Until then: reps, reps, reps.
Thanks for reading LED — Lead Engineer’s Diary. If this resonated, share it with someone who’s also figuring it out as they go.