Tools of the Trade

For as long as I remember, I have always been enamoured by the latest in technology, especially when it comes to design, development and organization of data and thoughts. I have used spreadsheets, Trello and various other tools to do all my work… and yet, there is something always missing from these tools that causes me to go back to my trusted favourite: pen and paper.

When I have told people this story I have received myriad responses, from the eye-roll to a full-on guffaw. I'm not sure what it is about using a seemingly luddite toolset to develop in a high-tech atmosphere, but it really brings out the worst in people.

Design

When designing an application I always reach for a piece of blank paper (where possible; lined paper as a last resort) and a sturdy pencil. The ability to write ideas down in any format allows me to act unconstrained in my thinking, if I feeling like writing something down and then drawing a diagram I can do that without any extra overhead. There's no tool that I have seen or used that can match this feature.

When I write user stories or backlog entries, I will occasionally use tools like Trello to digitize them. However, the main reason I use those tools is so that the ideas can be shared and improved upon by others if I am on a team. But I find that I always fall back to index cards and forego the use of any other tool. I write all my user stories on these cards and then transfer them to a wall where I can see them at a moment's notice. If, when using a computerized tool, I need to view my user stories I first need to login to my machine, go to the website, login to the website, click a multitude of times and then I get to view the cards. However, the cards are arranged on my computer screen in the way that the designers want me to see them, not how I like to see them (case in point, I sometimes like to use row-oriented format rather than the usual column-oriented view because I like to view it as a progression of time).

My guess is that it all boils down to the feature set that one needs when designing. It is rare that I need to have everything digitized and remotely accessible. In fact, I actually like the feeling that I cannot access my index cards when I am away from the office. This sort of separation helps me to think up new ideas that I couldn't otherwise do whilst staring at a screen.

Code

As for code, I do actually write programming code on paper. It's certainly not the main thing I use to write code, because I also like to see my code run instantly and work out the kinks, but there's something very cerebral about programming on paper.

I was originally taught this technique while attending university, where I didn't always have access to a computer (or didn't want access to one) because I didn't want to be tied down to a desk (this is the late 1990s, before consumer laptops were affordable). The professors would actively teach programming by simply writing the code down on paper (well, the overhead projector) and then mentally working out the bugs. To this day I still use this technique, and it helps focus my mind on what the code should actually do, instead of allowing the IDE to do all the work (my hatred of IDEs is a topic for another day).

To any aspiring programmers out there, I implore you to try and write a small application on a piece of paper. You will find that you've made mistakes, but only after compiling it in your mind and then stepping through each line with your mental debugger. Once you do this enough times you will find that you don't need to use IDEs as a crutch, and instead be able to spot erros, race conditions, and bugs before they even reach a test suite.

Another added benefit of writing code on paper is that you will get better at technical interviews, the kind where you are asked to implement pieces of code. Writing on a whiteboard is the same as on a piece of paper, albeit with a more vertical writing surface, but you will be able to spot errors very easily, maybe even before the interviewer. That should impress anyone in the room.

Tools

Below is a list of the items that I use on a daily basis. Some won't make sense unless you actually use them, but they are all amazingly good (but definitely not cheap).

Staedtler Mars 780 Technical Mechanical Pencil

I was forced to use this pencil when I began Engineering at UBC, but I soon grow to love it. The only downside is that you constantly need to sharpen it, but thankfully the tail of the pencil doubles as a sharpener. It's the last pencil you will need.

Rotring 800 Black Mechanical Pencil

This is an expensive pencil but it since the body is metal, it will last forever. You will love it.

Sharpie Stainless Steel Pen

This is a new entry into the Sharpie line, but it is amazing because the body is metal so it holds up well, and the tip is very fine so it is easy to write with.

Robert Bateman Sketchbook

Sketchbooks for coding and design? Why not! If they are good enough for artists, they must surely be onto something. The paper is cardstock which means you can use felt pens and it won't bleed into the next page (unless you soak it, that is). The paper is also blindingly white, so you won't have any off colours. Lastly, the books are spiraled so that the pages get out of your way. The big downside is that these sketchbook are very hard to find and much more expensive than the average notebook. If you do want to find it, you can look online or in university bookstores or artist supply stores.

Dot Grid Books

These books are very cool, and they act like grid paper but only offer dots and the axes of the grid so that the lines don't constrain your imagination. I find that using grid paper causes me to only use straight lines and puts my mind into a box-like feeling.

Blue Ink Pen

Unfortunately I don't have a good blue pen, so if you know of any I'd love to hear it. My previous favourite blue pen manufacturer stopped producing it.

« Previous: Debt is Dangerous
Next: Skills »