A few years ago I was reading the "Fergus" Thomas the Tank Engine story to my son and his catchphrase struck a chord with me. When you think about his character and approach to life it starts to dawn on you that he represents something very important that's often overlooked in this fast-paced world of "have everything now, worry about it later".
His catchphrase is "Do it right!".
"Do it right"
On first impression Fergus is pretty annoying, he's the one who knows the rulebook backwards, he won't stand for sloppy work, is always telling other engines to "Do it right" and appears to have no real sense of humour. As a result he gets tricked by other engines who find him annoying. The stories usually end up with Fergus getting into trouble and the other engines realising that he was only trying to do the right thing, albeit in a slightly annoying way.
After reading about Fergus you can begin to see him as representing something very important that's often overlooked. What he represents is doing the job right, doing it properly, doing it to the best of your ability. He represents taking the door off to paint under the hinges, cleaning the kit off properly after you've finished with it, going back to the shed for the right tool for the job rather than botching it with the one you have.
These are solid principles to uphold and can be applied to any line of work. Fergus is annoying because it really is annoying to do these things, the extra 10 minutes or few steps to "Do it Right". Some people get annoyed when faced with this kind of work ethic as deep down they know it's the right thing to do, even if they can't really be bothered. Fergus holds a mirror up to your own standards and work ethic, Fergus is a bastion of conscientiousness, Fergus is also just a toy train with a face, so we'll park the analogy there.
Fergus and Cowshed:Works
When building the products for Cowshed Works and our clients we strive to work like Fergus (isn't that a Maroon 5 song?). To paint under the lightswitches, to take the door handles off and paint the door properly, to clean out the buckets after mopping the floors.
This way of working translates perfectly into what we do. Here's a few things that are often overlooked in web development but can be done properly with a bit more effort:
- HTML Validation - properly validating the output of your systems, takes a bit more work but can highlight problems in your code that aren't what you'd expect.
- Testing - Tests are easy to put off right up until the point where you're deploying to production
- Refactoring poor code - Sometimes we all write code that gets the job done but is scrappy and has parts that we don't quite understand how they're doing what they're doing. Walking through these routines and functions can be educational and give you not only better code but code that you're less likely to have to come back to later on, and if you do you'll know what it's doing.
- Optimising assets - minifying JS and CSS, reducing the file size of images etc, annoying jobs that can be missed but can make a big difference to some users of your sites / apps
- Device testing - it works on an iPhone 6, an iPad and my MacBook Pro, so it must be fine on everything else. Testing other devices can reveal problems that you might not ever notice in your dev environment.
- Accessibility - dealing with this can be annoying, but if you're using a framework like Bootstrap there are helper classes like sr-only that can take a lot of the pain out of your designs for people using Screen Readers.
- Spelling and grammar checking - nothing says "I don't really care about this" like a typo on a home page or obvious grammatical errors. Fix these, they can and do cost business. If you've spotted an error on this page, congratulations, you passed the test.
So, next time you're not bothering to write that test, not validating that HTML, not refactoring that 7 level nested loop with 14 conditionals, remember this face... the face of Fergus... and Do It Right!