Applying Socratic Wisdom to Engineering Management
In my tenure as an engineering leader, I have observed our role demands more than just technical understanding;
it requires us to be open-minded, to be eager to learn, and to be reflective.
Surprisingly, or perhaps not, I found those characteristics connected to some of the principles taught by the ancient philosopher Socrates, as narrated by Plato.
Specifically, three quotes from Socrates stood out to me.
“I neither know nor think I know” (Plato, Apology 21d).
In technology, where changes are constant, Socrates’ admission of ignorance is a powerful reminder of the need for humility. The field of engineering is vast; no one can know it all. This mindset encourages a culture of open-mindedness.
A few years ago, during a post-mortem, I witnessed a manager dismissing a junior engineer’s suggestion about preventing an issue from happening again. The manager thought his position gave him the upper hand, and he decided to push on a different action item. Unfortunately, this suppressed his team’s creativity and led the team down a more convoluted solution path. Watching the danger of arrogance was a learning experience for me. I kept this experience in my mind as something to avoid in the future.
Later in my career, when faced with a critical system outage, rather than asserting a premature solution, I turned to the team, saying, “I don’t have all the answers; let’s figure this out together.” The solution was more robust and innovative than I could have discovered alone.
Being humble and declaring your ignorance on a topic is not a sign of weakness but of wisdom.
Possible action items: Publicly acknowledging when you don’t have an answer and creating an inclusive environment where every idea is valued are good ways to show humility and open-mindedness.
“I am a lover of learning” (Plato, Phaedrus 230d)
This quote correlates to continuous learning, a critical concept in leadership and especially in software engineering since it is a discovery discipline. We must be lifelong learners to keep up with the rapid pace of innovation. Beyond technical learning, leadership requires learning from our teams, successes, and failures.
I was fixated on mastering specific languages and tools in my early years as an engineer. While those were valuable pursuits, I was primarily focused on knowing concepts and less on the process of learning. It wasn’t until I stepped into a leadership role that I truly understood the difference between being a “knower” and a “learner”. When you step into an engineering management role, you are no longer the person to go for a specific technology, the person who “knows” the most about something.
You are there to support and help people — you have to learn a lot about your people, processes, and tech stacks, and you need to keep learning. It’s a never-ending process.
Later in my career, I noticed that our team's particular Individual Contributor (IC) had submitted fewer Pull Requests than usual over the past month. Drawing from past insights, I knew equating this directly with reduced productivity would be easy. Instead, I adopted a “learner” approach and reached out to the team’s direct manager for a deeper understanding. I then learned of the IC’s recent two-week leave and their deep dive into architecting a critical aspect of our backend systems. It involved more time crafting technical documentation than coding.
An engineering leader deals with many uncertainties and unknowns — being curious and wanting to learn continuously are key traits needed to be an effective leader.
Possible action items: Cultivating curiosity and embracing a growth mindset as a leader are critical steps toward sparking a culture of continuous learning for yourself and within your team. Moreover, establishing forums that facilitate knowledge exchange is essential for this purpose—more on knowledge sharing in a previous article.
“The unexamined life is not worth living” (Plato, Apology 38a5–6)
As engineering leaders, it’s easy to be caught in a perpetual loop of “doing” and the hunt for problems to solve.
However, Socrates reminds us to pause, reflect, and examine our actions, decisions, and lives.
Early in my career, I worked on a team where we had to ship websites for different clients and constantly didn’t meet our deadlines. Nothing changed until one day, during standup, one of the leads suggested having a quick retrospective for thirty minutes on what to do differently. People raised many ideas that took us on the path to constant estimation and better predictability around our timelines. This was an excellent learning for me on the power of reflection.
A few years later, in the race to roll out a critical product feature, our team worked a few weekends to meet our deadline. Post-release, instead of jumping into the next sprint, I set up a retrospective about the feature we just shipped. We reflected on the delays to the decision to work over the weekend, discussed other small failures on the way, and celebrated that we shipped this new feature. This was a costly meeting (one hour for eight people). Still, it was an excellent experience for the team, increasing psychological safety and learning that we applied in the following features.
Possible action items: Retrospectives and journaling are ways to encourage reflection in your team and for yourself.
As engineering leaders, embracing love for learning, acknowledging our limitations, and prioritizing reflection can be transformative — not just for our projects or teams but for our growth as leaders and individuals.