I consider myself a craftsman in that I dedicate myself to my work. I’m probably a few steps short of a perfectionist (though that term has been applied to me in the past) and while I may not know best any newfangled idea or technique must convince me of its value before I’ll give it a second look. I pride myself in creating the best work I am capable of.

But reality does not always give me the luxury of doing so. While a craftsman would prefer having ample time and resources to work on their projects, the real world cannot always accommodate this. In most cases it’s “now or preferably yesterday!”

Being a craftsman in the IT field brings it’s own unique set of challenges one of which is inheriting someone else’s code. And in keeping with tradition, the code is usually messy, devoid of helpful comments and full of leaps of logic you’ll wonder if the original programmer was at all sane.

A few years ago we inherited a website. The previous developer, from all I could gather, had supposedly gone out of business without informing their client base. Visually, the website design looked nice but the underlying code made me die a little inside. Some of the things we spotted included:

  • Having 2 image carousels on the homepage, one for mobile and one for desktops. Yes, this meant the carousel that wasn’t in use was hidden via CSS
  • Photographs without transparency saved as .png files
  • Incorrect HTML including using an href attribute with the img element (surprisingly the browser still displayed the image!)
  • Using a custom WordPress shortcode to retrieve data from the wp_options table (This really made me scratch my head)
  • Code that wasn’t used at all. I discovered they had saved the ideal width of the website as a variable but a file search showed the variable wasn’t used anywhere in their code.
  • Unlicensed fonts were packaged and used with the website.
  • A custom-coded “Contact Us” form which I’ve had to modify numerous times because it was so problematic.
  • Using nav elements on items that were not navigations
  • Custom Post types that were created but not used

The craftsman in me was ready to jump right in except that time and resources were not on my side. So instead we noted & prioritized all the jank that needed to be addressed and slowly fixed them over time.

A craftsman has a need to be proud of everything he produces. At the same time, I understand that clients may prioritize other facets of a project like speed and delivery. Years of experience and learning has taught me how to have the best of both worlds, a benefit which we pass on to our clients. And this is something I hope we are able to do for a long time coming.