Skip to main content
Photography of Alvaro Montoro being a doofus
Alvaro Montoro

Command Line Lover

stetoscope with the text web development illnesses

Web Development Illnesses (Intro)

webdev programming

In the same way that we humans have illnesses that slow us down and make us feel terrible, software has anti-patterns and bad practices. When these are implemented, they make our code struggle and suffer... and make us developers struggle and suffer too.

The point of this series is to associate these bad practices with real life illnesses that we all know and that many of us may have suffered, so that we get a better idea of their severity and the consequences of suffering them.

What is a Software Illness?

Before we start, let's define what a software illness is. Although the series posts will be mainly web-focused, these illnesses are not something that only affect web development, but development as a whole.

There could be a lengthier definition for what a software illness is, but we'll try to keep it nice and short:

A Software Illness is a bad software development practice that will negatively impact the normal execution of a software application.

And now that we know that there are software illnesses and what they are, that raises another question:

Is the web sick?

And the answer is yes.

Otherwise this presentation would have been terribly short :P

I've been doing web development for 15 years, also I've checked web code for friends and colleagues, and reviewed thousands of questions as a moderator at the Spanish Stack Overflow site. I have noticed a common set of bad patterns and behaviors -of software illnesses- that repeat over, and over, and over again.

In this series, I will collect a list of the most common Web illnesses that I've seen, how to identify them, and how to cure them. Many of them are well known, and some others are not so common.

I have divided them into two main groups: design web illnesses for those that affect the user facing interface and development; and security web illnesses, for those that may affect front- or back-end related to vulnerabilities.

Without further ado, let's start. I hope you enjoy the series.

Article originally published on