My father is a carpenter. When I was younger, he built custom homes along with my grandfather and several of my uncles. Being a family affair, I spent many a hot Arizona summer accompanying him to work, first picking up trash and scrap wood, and later learning to swing a hammer, safely operate a circular saw, put up a wall, decipher blueprints, and other skills of the trade. You could say it was a somewhat unique childhood experience. While I learned a lot during those summers, the most important lesson I learned (aside from the importance of staying hydrated and wearing sunblock) was the importance of your tools.
Today, I work in an air-conditioned building, sitting at a desk and typing at a computer. The tools of my trade are different and the materials I work with have changed; my laptop is light years removed from my first hammer, and ones and zeroes and pixels are my raw materials rather than lumber and nails. But the one constant is that my tools are my livelihood: without my computer and the software I use to build and maintain my clients’ websites, I’m just another guy out pounding the pavement looking for work.
And so, I spend a fair amount of time thinking about and taking care of my tools. I clean my computer regularly. I keep my operating system and applications up-to-date. And I’m always on the lookout for something new that will help me do my job better. When I first started creating websites during college, the tools I used were simple: I would either telnet to the server and edit code using vi or I would edit code locally on my computer using BBEdit and upload it to the server with Fetch. Almost everything was plain HTML (no Javascript or CSS yet) or CGI scripts written in Perl. Testing websites was simpler too: there was only one browser that really mattered, Netscape Navigator.
I still sometimes use vi today, but now I use SSH (secure shell) instead of telnet. Most of my work is done using Coda, a web development program that combines many of the most commonly used tools into one awesome package. Perl has been replaced by PHP, and rather than write applications from scratch I usually start build them using a framework such as Drupal or Symfony. Rounding out my toolbox are several other small utilities (xScope and Codekit are two). In future articles, I hope to go into more detail about why I chose the tools that I use and how I use them to deliver to my clients the best possible products that I can.
The images below show how coding websites was done “then” using vi, and then “now” using Coda.