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 […]

The Cardinal Sin

There are lots of ways to fail. There are plenty of ways to annoy and frustrate your coworkers. And I’m not saying that these are small change, but there’s one sin that’s usually pretty easy to spot and almost always an indication of future failure. And yet, we sometimes let these people onto our teams […]

Kihon, Kata, and Kumite

In a recent post, I spent a couple of paragraphs describing how you might help a new manager learn how to manage people, and came up with a combination of incredibly banal advice (“buy donuts!”) and vague and unhelpful handwaving (“people are different”). This bothered me, so I wanted to sit down and attack the […]

Managing managers

For the past couple of years, I’ve split my time between managing individual contributors and technical managers. This is my first time doing the latter, and while I can’t claim deep experience, I’ve learned a lot, and thought I’d put down my personal, highly idiosyncratic, in-no-way universal take on the subject. Think of it as […]

How to Fail

In a previous post, I talked about what it was that stars did differently, and how it didn’t require either 80 hour weeks or incredible genius to shine. But there’s another side to this, and one that doesn’t get as much air time. Everyone wants to know how to be a big success, but the […]

Status Reports

This is a blog post about status reports. Yep. And I’m not going to lie to you – the fact that I find this interesting enough to write about is simultaneously disturbing, disappointing, and unpleasantly enlightening. I’m not proud, but it was something I was thinking about, and I thought I’d share. You see, I’d […]