Are we grading engineers?
Three focus groups on a developer-activity dashboard, and the decision about what it was for.
At a glance
- Role
- Vice President, User Researcher, JPMorgan Chase; led the study
- Organization
- JPMorgan Chase, on JET, the firm's internal engineering platform. July 2023.
- Methods
- Three remote focus groups with developers and engineering managers, each opening with a live demo; sentiment and terminology analysis
- Outcome
- The dashboard changed: the commit streak was removed, the disciplinary labels were renamed, and weekend activity was made neutral instead of highlighted. The reframe from performance to transparency, stated in the product, was the recommendation behind all three.
Summary
A platform team had built Dev360, a dashboard that showed developer activity: commits, pull requests, commit streaks, a "top contributor" tile and activity outside business hours. I was asked to run a focus group for feedback. Before I did, I stepped back to define what developer productivity means and how other organizations measure it. Three focus groups later, the answer was clear: engineers read the dashboard as a way to grade them. I recommended reframing it from performance to transparency, starting with the words on the screen. The streak came off, the labels were renamed, and weekends were made neutral.
What the team got
- A decision about purpose
- Activity for understanding how work flows, not individual performance or policing, stated in the product itself along with who sees what.
- Three changes that shipped
- The commit streak removed from the landing view, the disciplinary labels renamed, and weekend activity shown as neutral rather than highlighted.
- Findings by audience
- What developers objected to and what managers would actually use, with the quotes behind each, sorted by sentiment and persona.
- A fix list managers asked for
- Reconciled totals, one sortable list of engineers, open pull requests ordered by how long they've waited.
- A way to restart
- A design-thinking workshop with focus-group members to choose which metrics matter, then a blue-sky redesign.
The work
The ask
The dashboard was already built when research joined. There had been no discovery work. The product manager's request was simple: run a focus group and gather feedback.
Feedback on screens would have produced a list of fixes. It would not have answered whether the tool should exist in its current form. So before writing a discussion guide, I asked two questions of my own: what is developer productivity, and what have other organizations learned about measuring it? That reading shaped the sessions. We still demoed the product, but purpose was on the agenda alongside usability.
What we heard
Sentiment was negative across all three groups. The strongest reactions came in the first minutes of the demo, at the summary tiles.
"I must admit this is the second time I've seen [the dashboard], it actually made me angry. Are we trying to grade engineers based on how many times they commit? This data can be used in a very negative way."
"I worry more than I see the benefit."
Developers: activity isn't the work
- Commits misrepresent real work. Large tasks start with days of analysis and no commits. Reviews, design and research produce none. One chart's empty ring read as "I didn't commit any code."
- Streaks invite gaming. "I need to get my streak going. Let me get a couple of defects so I can get my streak up."
- After-hours metrics reward the wrong thing. Weekend commits could be read as a positive. One participant said simply: "I wouldn't show it at all."
- Numbers need context. Meetings and planning explain quiet days. "Numbers are deceptive and need context."
Managers: show me the team, not a ranking
When I asked an engineering manager whether the tool would make him more productive, he answered: "Short answer... no." He knows what he did this week from his tickets and sprint goals. His worry was for others: "As an experienced developer that may not worry me, but as an inexperienced developer I may work nights to squeeze my commits in because it looks bad."
He did see value at the team level. If a team worked three nights in a row to squeeze code in, that tells a manager the sprint plan didn't work. Managers also asked for practical fixes: totals that add up, every engineer in one sortable list instead of pages, and open pull requests sorted by how long they've waited.
The words did the damage
The labels on the page decided how people read the data. "Top contributor" implies a leaderboard. "Activities outside business hours" reads as surveillance. Renaming the most charged labels was the cheapest trust fix available.
Context makes data useful
The weekday heat map was the view participants liked most, but only once it could explain itself. A light Tuesday might mean recurring meetings, not a slow engineer.
Recommendations
- State the purpose and privacy model in the product: activity for understanding how work flows, not individual performance or policing.
- Rename disciplinary labels, and remove "top contributor" and after-hours metrics.
- Drop commit streaks from the landing view.
- Add context to activity views: meetings, sprint phase, and the time range in view.
- Fix what managers need: reconciled totals, one sortable list, oldest open pull requests first.
- Restart with engineers in the room: a design-thinking workshop with focus-group members to choose which metrics matter, then a blue-sky redesign.
Three of these shipped: the commit streak came off the landing view, the disciplinary labels were renamed, and weekend activity was made neutral rather than highlighted. This study was the first of four on measuring engineers; the synthesis is in Measuring developer productivity without breaking trust.
What carries over
- Ask what it's for before asking what people think of it. The most useful thing I did on this project happened before the first session: I stepped back from "get feedback" to "what is this for?"
- A dashboard about people's work is never neutral. If its purpose and words aren't designed as carefully as its charts, people will design their behavior around it instead.
- Test the language before the layout. The words on a dashboard decide how people read every number on it.
- Engineers see the risk first. A few weeks after these sessions, the industry had a very public argument about measuring individual developer productivity. The engineers in these focus groups had already made the case.