Recent Articles

For pretty much my entire career as a techie (variously a developer, manager, and consultant) I’ve worked for very large, usually global, companies, most of them in the financial industry. A couple of years ago I decided I needed a break from that world.

After taking some time off to de-stress and pursue a few personal projects, I found a new gig that was different from anything I’d done previously: working as a consultant (and one of only two technology people) at a five-person startup, heading the effort to build a new web product from scratch. I’d like to talk about some of the things I learned in my 10 months there.

First and foremost, I thoroughly enjoyed the work I was doing, for several reasons. After years working for companies where security (not unreasonably) trumped all other concerns, this was a position where that black cloud was lifted.

In many ways, being a publicly accessible website, the web project required tighter security than I’d ever had to contend with before. But day to day, I was able to work on my own laptop, more or less anywhere, using my own tools, utilities, and browser plug-ins for things like editing (Emacs for OS X, if you’re curious), database work (Sequel Pro), password management (1Password) and source control (git).

At financial firms, in contrast, I’d always felt like we had to stick our arms through a set of thick iron bars to do our work, barely able to touch any actual source code. All development, deployments — everything — had to be done either on locked-down company computers (Windows, invariably) in the office or through several layers of somewhat shaky VPN software on our home machines. The latter entailed juggling multiple passwords and dealing with constant session timeouts just to keep a window into your office desktop open, not to mention having your SecurID with you at all times in case you needed access while travelling.

Coding Sans Frontières

Something's so appealing about your own dev environment

I realise I’m not the first person who’s ever had the luxury of doing design and development on their own laptop, but this situation was drastically new to me, and I was surprised at how much it affected my attitude toward my work. Among other things, I suddenly had the freedom to simply grab any open-source libraries or tools I wanted to tinker with.

I’ve worked at companies where getting a public Python library installed (if they’d used Python) might have taken literally weeks and required the approval of multiple high-ranking managers. But no: For proof-of-concept work in your own development environment, “sudo pip install [package]” does it. Amazing.

One result of all of this was the discovery that I still enjoy writing code – and the significance of that can’t be overstated. I’ve got a CS degree, I’ve been working in tech for decades, and…a few years ago I was shocked to find that I’d lost all interest in doing development. But the freedom to bang out scripts on my own computer late at night whenever I felt like it, or to build a custom interface to Google Analytics, or to use the Pushover API to plug mobile messaging into an app on a Saturday afternoon was genuinely exciting.

For better or worse I found myself doing things like voluntarily staying up till 3am, working at home, or jeopardising my marriage by pulling out the laptop to make assorted code tweaks while on our summer holiday (not recommended).