I started my career building computers with one other guy, in his basement, back in 1996. Over the course of my 20-plus years in software, I’ve worked in large companies and small companies. I’ve run my own companies. One thing has stayed remarkably consistent: it feels like everything we do to understand the state of software engineering—estimating projects, evaluating performance, identifying risks-is still done by hand.

When I heard about what Pinpoint is doing, I was all-in. (It didn’t hurt that I was a fan and power user of Appcelerator, Jeff’s and Nolan’s prior startup.) They—we—are applying data to solve pains I’ve experienced my entire career. And I know I’m not alone.

The estimation game

When I first started my career, working with just one other developer in a tiny shop, we would often have people asking how long a project would take. We almost always underestimated, saying tasks would take a couple of hours, then seeing them take at least a day. But as I moved to larger companies, the methods for talking about the size and complexity of a project became even more bizarre. I admit that I personally continued this trend when I was responsible for other engineers. Here’s some of the ways I’ve seen estimating done:

  • The ole Fibonacci number—the more complex the ticket, the higher number it gets assigned. Of course, how a Fibonacci number corresponded to how much time the work would take to complete varied dramatically by company. At one place, a week-long ticket might count as a 13; at another it was a 3.
  • By asking team members to raise one, two, or three fingers to rank the complexity of a piece of work. Basically, the project manager would describe the ticket, then ask everyone in the meeting to assign it a number on the spot. The ticket would then be assigned the average number team members choose. Of course, there were different experience levels in the team, but that was never taken into account. The whole thing looked like a live auction, though I’m not sure there were ever any “winners.”

When I ran my own startup, I tried to focus on what could a developer get done by the end of the day—what could be finished, so there would be no loose ends if the developer got hit by a bus on the way home from work. I think that was slightly better than the methods that completely abstracted out the time element, but it was worthless in terms of thinking about building toward the company’s larger roadmap, which of course is what management wanted to understand.

Suffice to say, there’s a much, much better way.

Taking the mystery out of engineering performance

Speaking from personal experience, it can be hard as a developer—nerve-racking, even—to try to interpret your contribution to the broader company objective. Plenty of times, the objectives are too remote to the folks who are cranking day-to-day. It can leave you feeling a little paranoid about how things are going and what management may be thinking.

Look: developers are as keen as anyone to show what we can do. In some companies I’ve worked for, teams (including those I was a part of) would be obsessed with proving that we could do what we said we would. That’s good! Except sometimes it would lead to sandbagging. We’d throw out numbers we felt confident we could hit, so when we hit them we could say, “Well, we hit our numbers, therefore we’re effective.”

As I gained experience, I got a lot more interested in knowing—specifically, transparently, measurably—how I could do better. I didn’t care anymore about a pat on the head over some made-up numbers. The idea that there might be a way to take the mystery out of engineering performance, that there might be data to show me not only how I’m performing but also how my performance directly affects the broader team, even the broader company—sign me up.

Quite honestly, given the supposedly results-and-data oriented culture that we engineers aspire to, the current ways of working feel absurd. I’m making a career bet that Pinpoint is going to help us all collectively turn the page.


Matt is Director of IT Operations for Pinpoint


Get the data science behind high-performance teams.