Performance management · Web Development

What are good ways to do performance management of software engineers in a small startup?

Frank Kelly

December 17th, 2015

Obviously NOT stack ranking :-)
Preferably not something that can be gamed e.g. bugs fixed, lines of code.
Ideally something that can help drive increased engagement on the developer side (autonomy, mastery, purpose) and with feedback to the "manager" to help remove roadblocks, improve productivity and create a high performing team.

John Maloney Internet of Things Executive Consultant, IoT Engineer

December 17th, 2015

In a 'small startup' performance management is a profound waste. Look, for the millionth time, startups are not small versions of established firms. C'mon. 

Putting in overbearing corporate practices like 'performance management' in a startup is ridiculous, incompetent and malpractice. 

Rather, the whole team needs to be focused on customer discovery, validation, creation and eventually scale. Period. Forget everything else - it's useless, particularly titles like 'software engineers.' EVERYONE needs to focus on customer creation or you are dead meat. Good luck.  

Jimmy Rimmer Senior Software Engineer and Technical Lead

December 17th, 2015

The trick to performance management of software engineering, whether you're in a small startup or a large organization, is to remember that software engineers' performance can almost never be measured in terms of "how much." Your most productive engineer could be the person who thinks about a problem for three days, writes two lines of code, and then you never see an error or hear about those lines of code again because they just work.

More to the point, most software engineers chose this career because software engineering is something they enjoy doing. (If your software engineers aren't people who would write code even if they didn't have to for a living, then you're hiring wrong.) They don't need to be motivated to produce *something*.

Rather, performance measurement of software engineering is about *what kind* of work the engineer is doing. Is what they're producing what will get you to a Minimum Viable Product, or did they go off and wander into something that's more along their latest interests? For starters, you need to have that MVP defined. That's not something engineers can do -- not alone, anyhow, even if we have a ton of experience and knowledge in the domain, because we always get drawn to what interests ourselves rather than what's best for the company.

So that's how you evaluate performance: Are they working on things that are building that MVP, or are they working on other things? Are they aware of how much technical debt you'll tolerate? Greatly exceeding that can be just as bad as introducing too much.

If you're following an agile method, this is going to be easy to track, because you're going to be involved in this process, interacting with the engineers on a regular basis and seeing what they've done, what customer-facing user stories they're using. You're going to have exposed for you who is constantly understating the amount of effort they need or overstating it. Because that's what scrum and agile do: They don't solve your problems, but they expose them, so that you can see what issues are there.

Steve Owens

December 17th, 2015

We do a customer survey after each job, and then give them a bonus based on this survey.  Works really well for alignment of goals.  Our customer are "real" and yours are likely internal, but I would suggest it still works.

Faisal Memon iOS Department Technical Lead at Citrix ShareFile Quick Edit

December 18th, 2015

I remember when I was a child, some other kids were performance managed by their parents - e.g. they'd be paid money for getting As (I'm not joking).  The best families seem close, supportive, have good communication, and arguments happen but are never left hanging.  It seems to me, startups are the same dynamic.   See it through a family lens, and you'll get the most out of it.  Startups are an experience, not a job. 

Roshan Diwakar CTO and Principal Consultant at Xtreme Automation Corp

December 17th, 2015

I think the best process is still a 360 degree 'evaluation/feedback' loop on a fairly regular interval (Say, Once a quarter).

However, you should also set your organizational culture to make this happen. Some salient points of this organization are:

* A culture of helping each other grow.

* A culture of open communications between any two employees.

* A culture of making statements after passing through a bias removal filter.

* A culture of self-awareness of human fallacies.
en.wikipedia.org/wiki/List_of_cognitive_biases

* A culture of hypothesis-based-decision making vs opinionated / loud-mouthed ones

This culture ensures that your 360-degree evaluation process is truly effective.

Zohar Hirshfeld Sr. Director Business Operations, Product Globalization and Chief of Staff for Central Engineering

December 17th, 2015

I totally agree with Roashan. I was going to suggest a 360 performance review and not looking at productivity measurements only. A good reason not to just look at numbers can be found in a good presentation I have seen a few years ago titles "Assholes are ruining your project"

Slides:
http://www.slideshare.net/dberkholz/assholes-are-ruining-your-project
Video:
https://www.youtube.com/watch?v=-ZSli7QW4rg