Software development is a loser’s game

Great code doesn’t save you, but bad code will kill you #HoskWisdom

I’m not saying developers are losers but most software developers are not beating software development, software development is beating them.

Winner and losers

In the essay Loser’s Game by Charles Ellis, he notes that professional tennis is a winner’s game where players win points. Amateur Tennis is won using a different strategy of keeping the ball alive and letting your opponent beat himself.

The game of software development

I have worked in software development for 20 years, worked on many projects with many software developers. I estimate 80 percent of software developers are amateurs and 20 percent professionals.

  • Unit testing
  • Design patterns/SOLID principles
  • Learning and setting DevOps and ALM (They like using it)
  • Fixing the build
  • Code reviews
  • Code Analysis/Solution checking

Amateurs

If the majority developers are amateurs, we should approach software developer as a loser’s game and focus our efforts on reducing mistakes that amateurs are prone to making.

Invert

If we invert software development, the goal isn’t then to write code that works, it’s spending time on avoiding writing poor quality code and bugs.

Cost of bugs

The further you find a bug away from the time it’s written, the longer it takes to fix. E.g. if you find a bug in production, understand it, recreate it and then a developer has to fix the code and deploy and test in each environment until production.

“Professionals win points whereas amateurs lose them.”

Further reading

Have been working with Dynamics 365 since version 4 and enjoy reading and delivering enterprise projects. Books learn from the past to navigate the future

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store