When I joined TripAdvisor, I’d been out in the world as a professional coder for a decade and a half. I’d had significant management roles at a prior company, and had just come off of six years of running my own company. I was used to being in charge. And so, when my soon-to-be-boss asked me whether I wanted to start out as a technical manager or individual contributor, it was an easy decision to make.
First impressions matter. It takes time to overcome an initial stumble or slow start, and it’s always to your advantage to make a strong initial showing. This is challenging when joining a new company, and doubly so when you start in a management role. It’s incredibly hard to manage a team when you don’t know the codebase, the build, development, or release processes, don’t know where to look to find log files or data, don’t know who does what, or how things really get done. It’s hard when your teammates don’t respect your technical skills, and when you don’t have the context to make technical decisions, or more importantly, to ask the right questions. And this doesn’t even get into the political mess that some companies make of management.
So I started out as a senior software engineer, and had a fun six months as a straight coder without any additional responsibilities. The company was significantly smaller at the time, and I had the chance to work across a wide variety of projects spread throughout the codebase. Eventually, my boss’s team started getting too big to be practical, at which point she divided it up into four functional areas, each managed by a technical manager (of which I was one). But each of us had come from within, each was a known quantity to our manager, peers, and direct reports, and each of us had a strong knowledge of the codebase. This made things much easier than they would have been had I started out as a manager.
Time passed, and the team continued to grow. We needed new managers, and consciously or not, we continued to follow the same pattern. We hired strong engineers who were interested in management, gave them some time to come up to speed on the codebase and prove their mettle, then moved them into management roles. Sometimes they’d spend all their time on one team, other times we’d rotate them through multiple teams to help them come up to speed on many different areas of the code. But when they ultimately took responsibility for a team, they had a solid grasp of how things worked, and were able to serve in a technical leadership capacity, not just an administrative one.
So, down to brass tacks. Right now I’m looking for a great manager to take over one of my teams. Unfortunately, it’s hard to find someone who’s not only a great manager, but also willing and able to start out as a senior individual contributor. Too many years as a manager and your coding skills seem to rot, but even for people who can still code, most are unwilling to “take a step back” in terms of title and responsibility. Of course, of those we’ve hired for management, only one person ended up staying in an individual contributor role, and that was by choice (we’ve tried to get him to change his mind, but he’s having too much fun). It’s hard to convince someone with this point of view, though, and so the search continues.
I don’t mean to be dismissive – I totally get where these people are coming from. Changing jobs can be a pretty traumatic experience, and the only way to really know what a company is going to be like is to work there. Feeling like you’re taking a step back can be scary – what will it look like on your resume? (Though frankly, I love to see people who go back and forth between coding and management roles – it tells me that they still love the code, have retained their skills, and keep getting tapped for more responsibility)
And so, dear reader, I put it to you. TripAdvisor is an amazing place to work, and I’m looking for a great senior candidate who’s interested in stepping into a role of significant responsibility. You will need to code, and be excited about drinking from the firehose while coming up to speed (it’s a different firehose after that :). If this is you, I’d love to hear from you!