Q&A
A Developer's Guide to Failure: Building Resilience in the Face of Setbacks
For developers, failure isn't a matter of if--it's a matter of when. Whether it's a botched deployment, a missed bug that triggers a major incident, or the slow accumulation of technical debt, failure is baked into the software development lifecycle. But while teams are quick to analyze the technical causes of these failures, the emotional and cultural impacts often go unexamined.
That's where Semira Allen, Engineering Manager at Grainger, steps in. In her upcoming session, "A Developer's Guide to Failure," at the VSLive! Las Vegas developer conference in March, Semira invites developers to reframe failure not as a career setback, but as a catalyst for growth and innovation. Drawing from her experience leading engineering teams, she will explore how teams and individuals can build resilience, learn from missteps, and foster psychological safety without compromising accountability.
"As an engineer you're always learning, always brushing up your skills. With that also comes failure. But as an industry we don't spend enough time acknowledging the impacts of failure on a team and individuals despite it being a normal part of working in this industry."
Semira Allen, Engineering Manager, Grainger
This 75-minute, introductory-level session goes beyond post-mortem mechanics to tackle the human side of engineering failure--from the isolation of imposter syndrome to the cultural cues that discourage open discussion. With a blend of real-world stories, behavioral insights, and actionable frameworks, Semira aims to equip attendees with tools they can use immediately--whether they're fresh from a high-visibility outage or simply striving to lead their teams more effectively.
Ahead of the event, we spoke with Semira about what inspired her session, how developers can shift their mindset after failure, and what it really takes to create a blameless engineering culture.
Visual Studio Magazine: What inspired you to present on this topic?
Semira: I was inspired to present on this topic because of the nature of working in engineering. As an engineer, at the core you are a hired problem solver. So much of our days include troubleshooting and architecting. A natural part of that process is failure. As an engineer you're always learning, always brushing up your skills. With that also comes failure. But as an industry we don't spend enough time acknowledging the impacts of failure on a team and individuals despite it being a normal part of working in this industry. That is why I wrote this talk.
What's one practical step a developer can take right after a high-visibility failure to begin shifting their mindset?
The very first step I would recommend a developer take after a high-visibility failure would be to reach out to a trusted mentor. Write down what went wrong, what supports you were lacking (in my presentation we talk more about creating an intentional support structure), what is within your power to change, and what your leadership can help improve for you. When you discuss these points with your trusted mentor, come up with a plan that helps you to acknowledge your role in this experience of failure and a plan for the future. I specifically mention reaching out to a mentor or other trusted individual because the experience of failure (especially one that is very visible) can be extremely isolating.
Can you share an example of a healthy way to run a post-mortem that avoids blame and focuses on learning?
The awesome thing about retrospectives (a kind of post mortem) is that they offer the framework for blameless reflection. I highly recommend reading a book called Agile Retrospectives by Diana Larsen, Esther Derby, and Ken Schwaber. They mention using something called the Retrospective Prime Directive which says, "Regardless of what we discover, we understand and truly believe that everyone did the best job they could, given what they knew at the time, their skills and abilities, the resources available, and the situation at hand." (Norm Kerth, Project Retrospectives: A Handbook for Team Review). For teams that I know struggle with finger pointing and placing blame, I start my retrospectives with that quote as a reminder that we're coming into this session as a team vs the problem rather than the team vs the team.
How can team leads help normalize failure without encouraging carelessness?
Great question! In my opinion the best way to normalize failure without encouraging carelessness is creating a culture of owning your choices and your learning. I don't believe in failure without reflection. When I work with a team member who may have experienced a recent failure, I always ask questions along the lines of "what can you do differently in the future, what training may help you in your growth, and what improvements to our processes can we make to better support you?". Team leads often play a mentorship role within their teams, they can be a great resource in helping individuals on the team to reflect.
What's a good way to support a teammate dealing with visible failure or imposter syndrome?
Imposter syndrome can be very emotionally taxing and the sad reality is that it's also extremely common in the technology space. Personally, I would take a two pronged approach to supporting a teammate dealing with a visible failure or imposter syndrome. I would start with personal support, reminding the individual of their value to the team and remind them that failure is a normal part of being a technologist. Second, I would look at systemic support. In our organization there is a culture of sharing failure stories not only within our teams but at our internal conference and COP meetings.
Are there any red flags that a team is developing an unhealthy fear of failure?
There are many potential red flags. A major red flag I would look out for would be a fear of speaking up; team meetings that are too quiet or lack discussion. I would also look out for finger pointing during retrospectives, I have seen many teams focus too much on pointing at who may have failed rather than what systems may have allowed the failure to happen.
How do you recommend balancing accountability with psychological safety in fast-paced engineering teams?
Accountability and psychological safety aren't at odds with each other, they're actually mutually reinforcing. The real tension usually comes from blame being mislabeled as accountability. True accountability is about clarity of ownership, learning, and follow-through, not punishment. In fast-paced engineering teams, leaders can balance both by being explicit about expectations and outcomes, while also creating space to openly discuss mistakes, tradeoffs, and constraints without fear. When failures are treated as signals for system improvement rather than personal shortcomings, teams move faster, make better decisions, and take ownership more willingly.
How can attendees learn more about this topic and also prepare for your session?
Attendees can get more out of the session by doing a bit of light reflection and curiosity-building beforehand, no heavy prep required.
I'd encourage them to:
- Reflect on a recent failure, misstep, or tense moment on their team and how it was handled; what felt supportive, and what shut people down?
- Notice language patterns in their environment: where accountability turns into blame, or where fear of failure shows up in subtle ways (silence in retros, over-defensiveness, risk avoidance).
- Skim a short primer on psychological safety (Amy Edmondson's work is a great starting point) and think about how it applies in fast-paced engineering contexts, not just ideal ones.
- Coming in with real examples and questions from their own teams will make the session far more practical and interactive.
Note: Those wishing to attend the session can save money by registering early, according to the event's pricing page. "Save $400 when you register by the Super Early Bird Savings deadline of Jan. 16," said the organizer of the event, which is presented by the parent company of Visual Studio Magazine.
About the Author
David Ramel is an editor and writer at Converge 360.