When Theater is Security

Unless you’ve been living under a rock for the past week, you should have some idea of what’s been going on in Boston – that there was a bombing at the Boston Marathon that killed three and wounded/maimed many others; that the bombers went on a rampage through the city after their photos were released […]

Lessons from Home: an Interlude

Though I’m in the middle of writing a longer post on software engineering, I wanted to quickly jot down some unrelated thoughts from earlier today. My son Jacob is three and a half years old. He’s a great little guy, I love him dearly, and like most three and a half year olds, he can […]

Anti-Mastery

All happy families are alike; each unhappy family is unhappy in its own way. ― Leo Tolstoy, Anna Karenina In my last post, I discussed how senior software engineers were different (in a good way), and promised to talk about how one can get there. The problem is two-fold, however. In addition to the slow, […]

How to Write a Great Blog Post

I’ve been writing this blog for a good number of months now, and I thought I’d share my well-defined, highly deterministic process for writing great posts. Come up with a great idea Start writing Realize that I’m writing about something completely different Try to get back to my original idea Fail Eventually accept the fact […]

How I know I’m still a nerd

I just installed Hadoop at home, and am working my way through the O’Reilly book. This is so that I can get to Hive, but no point putting the cart before the elephant. The annoying thing is that this is blocking me from getting to Bash Cookbook. And the Advanced Bash Scripting Guide. Once that’s […]

Opportunityspotting

When I first joined TripAdvisor, we had a pretty involved branch merge process that usually took around two hours, and involved over a dozen distinct steps. There was some initial pain for new engineers, but no big deal, you got used to it pretty quickly, at which point it faded into the background – an […]

Career Management

When you were a full-time hands-on coder, you probably tried to have many different types of coding experiences. Different languages, types of projects (web, mobile, shrink wrap, etc.), methodologies, coding responsibilities. Now that you’re a manager, the milieu may have changed, but the fundamental goal has not. Having different types of management experiences is important […]

Questions I Want to Ask, but Can’t

The perfect interview coding problem is one that will be easy for a great candidate, hard for a good candidate, and impossible for everyone else. Unfortunately, most of the problems you come up with are going to be way too hard, and will have to be thrown away. It’s great if a candidate gets one […]

Staying Technical

We used to see them all the time, before we knew the signs and started to avoid them. Engineers who had moved into management, turned architect, been CTOs and VPs for so long they didn’t know how to program any more. Long-time technical managers. Directors of engineering. And then, of course, at some point you […]