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