5 Lessons I learned the hard way from 10+ years as a software engineer
Guest post by Staff Engineer, Gourav Khanijoe
Hi fellow High Growth Engineer, Jordan here 👋
Today’s article features a special guest, Gourav Khanijoe, Staff Engineer and author of The Curious Soul’s Corner. Gourav reached Staff Engineer in just 8 years and overcame huge hardships getting there. In this article, you’ll learn 5 must-know lessons Gourav had to learn the hard way.
Without further ado, I’ll pass the mic 🎤 to Gourav 👏
When I was a junior engineer, I asked my cousin, a managing director at a software consultancy firm, “What do you do as a Leader?”
He chuckled and joked, “I schmooze my bosses and keep my organization on their toes.”
“Oh, that sounds like an interesting and fun job, isn’t it?” I replied.
He laughed hard and said, “You’ll come back to me one day and answer that question yourself.”
Indeed, he was right. Software engineering leadership, like any other leadership, can be brutal at times. It will challenge you in all aspects of your personality. But it’s also one of the best ways to discover yourself.
My journey from a naive software engineer to an engineering leader has been tough. I've faced unexpected challenges and learned hard lessons. In this newsletter edition, I'll share a few key lessons. I hope you'll learn from them to confidently elevate your path to leadership.
👋 Hey there, I am Gourav. I write about Engineering, Productivity, Thought Leadership, and the Mysteries of the mind!
1) No one is going to drive your career for you.
When I was a senior engineer working toward my next promotion, my manager told me, “Gourav, I can’t drive your promotion anymore. You have to do it yourself.”
I was puzzled. “What kind of manager is he? Hasn’t he handled staff-level promotions before?”
I was delivering projects, but I wasn’t demonstrating leadership. I complained about frustrations in secret instead of addressing them openly. This took a toll on my mental health.
Then, I did some self-reflection and read “Dare to Lead.” I realized that true leaders don't wait to be saved. They create opportunities for themselves—they provide value, learn, and teach others.
No one cares about your career as much as you do. Your leaders have their own challenges. If you don’t take charge of your growth and sell yourself, no one else will.
What I changed and what you can learn from it:
Beyond just delivering projects, sell yourself and be more visible.
Give talks at the company level to enable yourself to become a leader at a broader scale:
I gave demos of my projects and delivered tech talks showcasing the problems I solved.
I also conducted career growth workshops to help engineers grow in their tech journeys.
Make yourself visible at different leadership levels:
I provided regular project updates using the best practices of clear, upfront communication. The updates are succinct with clear action items.
My Director recognized my contributions when I used to write and review business strategy documents. It also provided me with a unique opportunity to influence the long-term vision of the organization.
I was proactive when operational issues came up and I helped the team automate fixes to recurring issues. For example, I automated reconciliation in our payment workflows. My leadership was thrilled to know that it improved our operational agility by 21%.
2) Trust and clear communication triumph raw intelligence
During a crucial Amazon Prime Day, my code broke, impacting thousands of customers. Yet, leadership still promoted me to senior levels.
Why? Because I consistently met stakeholder expectations and communicated proactively during the project’s execution. The proactive communication showed my team I’ll either always make progress or call out when things aren’t going well, which built trust in me as an engineer.
In contrast, a supposed 10x engineer struggled. He had poor communication in that he would miss explaining project statuses, didn’t engage, and lacked a track record of success. So, he was dismissed.
When there’s no trust, people doubt even good actions. But when people trust you, they see mistakes as chances to learn. For example, if you trust someone, you’ll find reasons to support them when they fail. But without trust, every mistake becomes a reason to criticize.
What I changed and what you can learn from it:
Speak with conviction and drive engagement.
I speak with confidence, leveraging my knowledge base while answering questions from engineers, and join tech discussions while also providing space to others to present their views.
I create different Slack channels to drive meaningful engagement and address ongoing concerns on the project that ultimately drives progress on the projects.
Be transparent about hiccups.
I keep my team and leadership in the loop on the newer issues as they pop up.
I don't make the mistake of notifying my manager or stakeholders at the last minute if something won't be delivered.
All these smaller efforts make it easy for others to trust and work seamlessly with you. Transparency and engaging communication builds trust; silence erodes it.