10 Ways a Software Development Company Should Handle Developers' Failures

Photo of Mateusz Wąsowski

Mateusz Wąsowski

Jun 16, 2017 • 6 min read
breaking-glass-123608-edited.jpg

Can a single mistake of a software developer ruin an entire company?

The answer is yes, but only if the software development company doesn’t know how to learn from its past mistakes and grow as an organisation.

A recent Reddit thread tells a terrifying story of a software developer, fresh out of college and on their first day at their first job, messing up so bad they might have ruined their entire career. One copy-paste error wiped the company’s production database clean. (Read more in the Reddit thread or in an article by Quartz.)

Does this mean you should never trust a young and inexperienced developer with anything? Nope, to the contrary. Any response that puts the blame on the rookie instead of on the company’s flawed processes is a mistake.

In the above Reddit thread, an overwhelming majority of Redditors sided with the unfortunate young developer. At Netguru, we believe the same: employees should feel safe enough to try new things and make mistakes, while any company dependent on an IT infrastructure should have procedures in place that will prevent a large-scale disaster from happening.

Here are 10 strategies to implement at your company today to keep your business safe and allow your company and your team to learn and grow.

10 Strategies to Keep Your Business and Employees Safe

#1 Follow the Best Practices of Software Development

Having backups and performing their reviews periodically is a must. This is critical to ensure that even if something breaks, the damage can be reverted.

#2 Perform AARs (After Action Reviews) after Each Incident

Every time something major happens, gather the people involved, and anybody else you think might be willing to share interesting insights, and talk about what you did well, where you failed, and what you’ll improve next time something similar occurs. Action points gathered from these processes will work as a preventive measure and help your company grow faster.

#3 Teach Your Developers that Making Mistakes Is Human

Have them work with more experienced team members, who will provide mentorship and constant feedback on their rookie peers’ work. This approach vastly speeds up skill acquisition while at the same time strengthening team bonds.

#4 From Day One, Make Your Team Feel Safe

There is nothing scarier for young developers than knowing that they can sink their career with the push of a button. Reassure them that the company is there for them.

#5 Don’t Fire Employees Due to Incidents

Don’t fire your staff members due to incidents. Watch their growth and gather feedback to establish whether they should stay or not. Be aware that the people are your biggest asset, and that their experience earned while making mistakes might be invaluable for you in the future. They will push themselves and others to never make the same mistakes again.

#6 Don’t Play the Blame Game

If someone happens to cause a major issue by accident, it means the company did not have proper preventative measures in place.

#7 Have a Quick Response Crisis Team

A crisis team is a team of developers will be ready to immediately respond to any problem. Create an easy way to contact them all at once. This ensures no time is wasted looking up phone numbers or hoping for a response on Slack.

#8 Do Code Reviews All the Time

Even though they don’t give a 100-percent certainty of avoiding all bugs, they significantly reduce the chances of introducing errors into the production code.

#9 Automate

Automating certain some minimises the risk of misspellings. Using code style reviewing tools is a nice addition to every application, and deployment scripts are a must.

#10 Make the Visual Part of Your Documentation Richer

Use additional markup. Even something as simple as bolding a part of the text will be attention-grabbing and help send a better message to the person reading the documentation.

Take-Home Message

Hopefully, we all agree that it’s the company, not the young developer, that ought to be blamed for the unfortunate events described in the Reddit thread. At Netguru, we know the value of learning from our own and other people’s mistakes. Don’t let the opportunity of preventing mistakes and helping people learn slip past you.

Remember these most important pieces of advice:

  1. Use best practices
  2. Do AARs
  3. Remember that making mistakes is human
  4. Make sure your team feels safe
  5. Don’t fire people for their mistakes
  6. Don’t put blame on anybody
  7. Be ready to respond to crises quickly
  8. Do code reviews
  9. Automate
  10. Make your documentation readable

By introducing these measures today, you can prevent massive losses in the future. The saying that prevention is better than a cure doesn’t only apply to human health – it fits well with the business culture too.

If you have any questions, found something confusing, or feel like discussing this topic further, drop us a comment below or contact us at hi@netguru.co

Photo of Mateusz Wąsowski

More posts by this author

Mateusz Wąsowski

Mateusz is a student of Computer Science at Adam Mickiewicz University. Having lived in Italy and...
How to build products fast?  We've just answered the question in our Digital Acceleration Editorial  Sign up to get access

We're Netguru!

At Netguru we specialize in designing, building, shipping and scaling beautiful, usable products with blazing-fast efficiency
Let's talk business!

Trusted by:

  • Vector-5
  • Babbel logo
  • Merc logo
  • Ikea logo
  • Volkswagen logo
  • UBS_Home