Let’s start by defining failure in engineering leadership. Not every deviation from plans qualifies as a failure. Sometimes clients don’t meet their commitments, or we lack time to respond promptly. For instance, an overnight request to restart production in the early morning can easily turn into a joint failure due to misaligned schedules. It’s a significant responsibility for managers, including myself.
Failure takes various forms and sizes. A prominent indicator is when clients or projects fall short of expectations. Learning from these bumps drives experience and growth, which is crucial for specialists’ development. Yet, attitudes toward failure differ across cultures. In my experience, Eastern European culture shuns failure, while American culture views it as a stepping stone. A seasoned entrepreneur starting the fifth venture after four failures is hailed in the U.S. but stigmatized in Eastern Europe.
What distinguishes a senior from a junior? Seniors have navigated the mistakes juniors will face. Learning from others’ experiences sounds good but pales compared to personal learning, a quintessentially human trait. Admitting mistakes is tough; no one enjoys it. Failures stem from poor foresight, often due to inexperience. Testing experience aids me in preempting overlooked errors and preventing immediate consequences. Timely communication here is crucial.
Failure isn’t about blame. This applies to negative feedback rules too. It’s counterproductive to berate a team with unconstructive feedback. Constructive feedback benefits the team and clients alike. Staying calm is the initial step. Develop a shared communication strategy. Inform the team and client honestly without assigning blame. Avoid collective responsibility; managers should step in when necessary, but it’s rarely required.
Inform the client calmly, focusing on what happened and why, avoiding finger-pointing. Clients desire action plans — how we’ll fix it and prevent a recurrence. This reassures clients. Often, this is sufficient as clients understand that mistakes are part of the process. Addressing recurring problems with calmness shows reliability. Such incidents are opportunities for process enhancement and proving our problem-solving prowess.
Project failures, particularly critical ones, are not unusual occurrences in our work. This is especially true on my current project due to its inherent quality issues. The code handed over by the previous vendor is plagued with problems, essentially translating into a heap of technical debt.
In essence, we’ve been wrestling with these challenges for five years now, and rectifying them can seem like a minor dent in a vast landscape of issues. Even seemingly simple changes, like enhancing a button function, can stretch out into months of effort.
Given the multitude of teams we have, uncertainty is constant. To truly fathom the root cause, a thorough investigation is the only path forward. Clients come to us because they recognize our capability to swiftly and effectively tackle these problems. Identifying the right expertise becomes a crucial element. This requires a modest grasp of the technical essence of the problem from my end to pinpoint who can provide a solution. It’s about delving into the landscape and direction of the problem.
Typically, it’s the same set of experts – senior developers, engineers, and DevOps – forming our core team that steps in. Our technical leads possess the ability to address such issues rapidly and efficiently. There’s also the potential inclusion of junior specialists to provide them with learning opportunities. To facilitate this, we share problem details and solutions in general meetings, fostering collective learning about the process.
In our constant pursuit of innovation, we consistently challenge ourselves to adopt fresh approaches in every aspect of our work. The mantle of responsibility falls squarely on us, compelling a comprehensive risk assessment as we plan actions. Ideally, alignment with the client is sought, sharing accountability throughout the journey. Thus, ensuring the client’s understanding of our intentions becomes paramount, especially when we contemplate venturing into riskier territory, like deviating from set timelines.
It’s imperative that the client comprehends our rationale behind such decisions and the potential benefits arising from success, fostering a shared perspective. This delineates a distinction between risk-taking and Innovation. While the former is to be cautiously navigated and should provide substantial project benefits, innovation inherently carries risk. Team alignment with the client’s appetite for innovation is pivotal, acknowledging that perpetual evolution renders the status quo less viable. Change management acts as an essential tool in driving process changes within teams.
Experimentation thrives on the trial-and-error premise. The team’s assurance that failures during experiments won’t trigger punitive consequences nurtures a freer flow of ideas. A parallel exists with brainstorming sessions, contrasting the structured nature of stand-ups. In brainstorming, refraining from dismissing an idea as ‘bad’ is key, as it sustains the creative stream. When charting new directions amid uncertainty, an inclusive approach encourages diverse idea generation, a vital facet for me. Integrating deadlines with experimentation hinges on effectively managing the expectations of deadline setters.
For me, the essence of a resilient culture lies in confronting challenges head-on. An approach centered on solutions rather than assigning blame is pivotal. It involves addressing short-term repercussions while seeking lasting remedies.
Moreover, resilience eliminates public blame for errors, replacing it with a focused examination of mistakes. I facilitate this within a limited circle, convening if individuals or small teams are involved. I present my perspective, discuss the issue’s impact on the project, propose solutions, and value diverse opinions, steering conversations constructively. Within our team, finger-pointing is not customary; instead, people willingly shoulder responsibility. My role involves guiding them to avoid self-imposed dead ends.
Constructive responses to problems are met with commendation, not censure. Mistakes leading to business losses are dissected comprehensively. The team understands the client’s business implications, motivating greater diligence than repeated reminders or blame-seeking.
This approach humanizes the client’s pain and fosters a more profound understanding. Detailed analysis explores the incident’s root cause, immediate actions, client-side notifications, and short- and long-term remedies, identifying responsible parties.
The cornerstone of this approach is the error correction procedure, shaped through client feedback. The client, advocating a no-negativity culture regarding mistakes, prioritizes solutions over reprimands. Their queries revolve around rectification efforts, appreciating the team’s commitment.
Frequently, individuals express frustration over perceived unproductivity. I guide them to view this as informative since identifying non-productive approaches is valuable knowledge. It’s crucial to grasp that not all tasks yield quantifiable outcomes. Sometimes, invested effort uncovers paths not worth pursuing, a reality to accept and manage within the team.
Engineering leadership hinges on mindset. Embracing a growth mindset propels learning from failures and feedback, welcoming challenges for personal growth. Conversely, a fixed mindset fears failure and avoids feedback. Evolving as a leader necessitates a growth-oriented approach: welcoming challenges, seeking feedback, and deriving insights from setbacks. Failure becomes a catalyst for learning, refining strategies, and fostering resilience—a trajectory toward authentic growth and enduring success.
Originally published on HackerNoon