Code Renaissance is about building great teams and great software. By exploring best practices, team interactions, design, testing and related skills Code Renaissance strives to help you create the team and codebase that you've always wanted.

Complicator's gloves

Anytime we're discussing over-engineered code around the office it's a safe bet that someone will mention complicator's gloves. Picture a pair of magical gloves that, when you wear them, bestow you with the ability to complicate anything you touch.

Photo by Arts

Complicator's gloves are synonymous with a mindset that is always looking for interesting and novel approaches and is the antithesis of K.I.S.S. methodology. I even use the term now in place of my all time favorite aphorism. The phrase comes from a TheDailyWTF story entitled The Complicator's Gloves that struck such true note with some of the developers where I work that it became part of the vernacular. While the usage in the story is slightly different, the concept is the same.

The Complicator's Gloves story is a story of people who revel in abstraction, indirection and patterns viewing them as fun little toys to build puzzles out of instead of what they are: key tools for reducing complexity. Often complicators justify their bad behavior by trumpeting how much lower the implementation overhead is for themselves (while remaining oblivious to the huge implementation and maintenance overhead they create for everyone else).

All programmers have a tendency to slip into the complicator's mindset from time to time and though most developers fight this tendency it's really easy to grab hold of a shiny new hammer and see every problem in the code as a nail. Mentally you look down and it's like "Complicators gloves? How did those get there?". When that happens, when you get that mental nudge that you are going astray, you need to mentally check yourself, take the complicator's gloves off and begin again.

0 - What do you think?: