News for hackers. Stuff that matters.
Re:Measuring an Engineering Organization by Cardinal7167 on Tuesday January 03, 2023 @03:55PM (#34237909)
> "What should we measure to improve developer productivity?"

How about nothing? Honest question. I am sick and tired of being treated like cattle. I've never seen a single convincing argument that any metric of my outputs has mapped to some productivity metric in a meaningful way, but I have absolutely seen them weaponized against me and others to punish and fire engineers. All of these metrics have only ever boiled down to a negative reinforcement mechanism, in my experience.

Re:Measuring an Engineering Organization by dalyons on Tuesday January 03, 2023 @04:18PM (#34238214)
In healthy orgs you are collecting such metrics to help advocate for investing in tooling, automation, infrastructure, process improvements etc. It can give the business case for building/expanding dev tooling and cloud teams. I’ve found it helpful in past jobs… fully weighted dev salaries are so high, at a moderate sized org a little bit of rough efficiency math can make for obvious investment cases.
Re:Measuring an Engineering Organization by Kamq on Tuesday January 03, 2023 @11:47PM (#34242134)
> In healthy orgs...

This is, so far as I can tell, ~5% of them.

Re:Measuring an Engineering Organization by pixl97 on Tuesday January 03, 2023 @04:31PM (#34238362)
So how do you deal with bad developers? How do you even measure if they exist in your organization.

And as much as many of us on HN are developers and like to toot our own horn, some of us suck and don't get better with time. I mean in small organizations this is typically easy to figure out, but in larger organizations it's a problem that can persist for long periods of time.

Re:Measuring an Engineering Organization by lylejantzi3rd on Tuesday January 03, 2023 @04:34PM (#34238409)
Who cares? No company I've ever heard of has been killed by bad developers. The same can't be said for managers, Vice Presidents or the C-Suite.
Re:Measuring an Engineering Organization by pixl97 on Tuesday January 03, 2023 @04:39PM (#34238461)
This is a tautology if I've ever heard one.

If a bad manager keeps only bad developers around it will kill a (software) company just as fast as anything else. It turns out that paying customers like their software to work and be free of data corruption.

Re:Measuring an Engineering Organization by kqr on Tuesday January 03, 2023 @04:46PM (#34238545)
I disagree. Under good management, bad developers might progress more slowly than good ones, but they won't outright destroy the product.
Re:Measuring an Engineering Organization by theptip on Tuesday January 03, 2023 @04:56PM (#34238652)
Speed == probability of survival for startups. You only have so much runway; better developer productivity means more swings of the bat at finding PMF.
Re:Measuring an Engineering Organization by Cardinal7167 on Tuesday January 03, 2023 @05:27PM (#34239044)
That isn’t what is in contention, though. The mapping of some objective metric to that speed and productivity is what I’m arguing doesn’t make sense.
Re:Measuring an Engineering Organization by pixl97 on Tuesday January 03, 2023 @07:45PM (#34240316)
What we are arguing is the Chinese room problem coupled with Goodhearts law.

The people that need to interpret the metrics might be a professional that understand their meaning, or they might be an AI following arbitrary instructions. The first group will use the metrics to create a better team, and the second will make people angry.

Re:Measuring an Engineering Organization by Jensson on Tuesday January 03, 2023 @05:19PM (#34238948)
When you lack good developers stuff like this happens:

https://www.cbc.ca/news/business/sony-cyberpunk-2077-playsta...

Edit with more arguments:

You could of course blame managers for that, but delaying a game since your bad developers aren't capable of delivering isn't really an option either. How many years will it take those developers to get things right? What they would need is to delay the game and replace the developers with good developers, or scale back the complexity of the game to a level those developers can handle.

The company in question choose the latter, they said they will use unreal engine for future games instead of an inhouse engine. So they admitted their developers aren't good enough.

Re:Measuring an Engineering Organization by groby_b on Wednesday January 04, 2023 @12:54AM (#34242489)
> "So they admitted their developers aren't good enough."

Build vs. buy is pretty much never a question of developer quality, but a question of ROI. Even with the best devs in the world, building something on par with Unreal (or other commercial engines) is a huge outlay of capital. With relatively little return over a single game, you need multiple hits to pay off the engine.

There aren't a lot of companies that can afford that.

Here's a decent write-up of some of the major issues that actually plagued that project, as opposed to "bad devs": https://blog.devgenius.io/cyberpunk-2077-through-the-lens-of...

Re:Measuring an Engineering Organization by Jensson on Wednesday January 04, 2023 @02:54AM (#34243181)
> Here's a decent write-up of some of the major issues that actually plagued that project, as opposed to "bad devs": https://blog.devgenius.io/cyberpunk-2077-through-the-lens-of...

All of those issues were there for their last project as well, but somehow they only failed this time even though they had a much larger budget and larger team with more developers. The most reasonable explanation is "bad devs", even though that will never be an official reason. When you swell the team size quality tend to take a hit, and when the old good devs becomes managers and the new devs try to replicate the work you often get problems.

That article describes how you need to work if you have bad developers. CDP-R assumed that they still had as good developers as they had previously, which wasn't true and that bit them.

Re:Measuring an Engineering Organization by groby_b on Thursday January 05, 2023 @11:50AM (#34262645)
"scale" is a problem. It is not the same problem as "bad devs".

All the indicators point to "scale". Having worked in games for almost two decades and having seen anything from solo dev to teams of hundreds, and the growth in between, my experience leads me to say "scale" as well.

Do you have any indicators for the "bad devs" problem? So far, you're just stating it as if it were categorical truth.

Re:Measuring an Engineering Organization by theptip on Tuesday January 03, 2023 @04:55PM (#34238640)
The big problem with this line of reasoning is that good developers hate working with bad developers. So if you don't do something about bad developers (which might just mean train them, not necessarily fire them), then the good developers will leave.
Re:Measuring an Engineering Organization by lylejantzi3rd on Tuesday January 03, 2023 @05:15PM (#34238905)
In that case, the bad developers are easy to spot. The good developers point right at them. There's no mystery nor are measurements needed.
Re:Measuring an Engineering Organization by Jensson on Tuesday January 03, 2023 @05:39PM (#34239159)
That is circle reasoning, if you know which developers are good so you can ask them then you already know which developers are bad.

And asking good developers to identify good developers doesn't work either. Good developers hates working with bad developers, true, but like all other humans they hate working with all sorts of people for different reason so they will point out a lot of good developers as well.

Instead what works is if you have lots of data from diverse group of good developers. That way the personal noise gets cancelled out and you are mostly left with the "I don't like bad developers" signal. This isn't trivial data to get though, especially since people usually choose to work with people like themselves so a team likely isn't diverse enough to get you this kind of data, and people from other teams aren't familiar enough to give good data either.

Re:Measuring an Engineering Organization by pixl97 on Tuesday January 03, 2023 @06:35PM (#34239727)
You hire 5 developers.

3 of them point at 2 of them and say they are bad.

You fire 2 developers.

Nothing gets done. Turns out the 2 were the good developers.

Congratulations, you succeeded at making another bad metric.

Re:Measuring an Engineering Organization by naasking on Tuesday January 03, 2023 @10:03PM (#34241456)
That's just bad statistical analysis.
Re:Measuring an Engineering Organization by chenmike on Tuesday January 03, 2023 @07:38PM (#34240257)
Paying a non-trivial portion of your engineers high salaries will kill any startup without unlimited money, regardless of what other guardrails you have in place.
Re:Measuring an Engineering Organization by Cardinal7167 on Tuesday January 03, 2023 @05:41PM (#34239190)
> So how do you deal with bad developers?

The same way we deal with good developers? With managers, of course. That's the whole point of their role. Every developer productivity metric I've seen speaks to some disparity between engineering and the C-suite. I don't understand where these products originate that seek to do the manager's job for them but worse. I've been in management roles before, the numbers don't and can't always tell you the full story, no matter the size of the team or the quality of the data.

As always, good people are hard to find.

Re:Measuring an Engineering Organization by impute on Tuesday January 03, 2023 @08:39PM (#34240797)
What if the manager is bad? Metrics can help other people identify that a bad manager may not be identifying very good developers.
Re:Measuring an Engineering Organization by ajmurmann on Tuesday January 03, 2023 @09:05PM (#34241023)
If the manager is bad, we should address that by discussing metrics to measure manager success and identify three bad managers, work with them on improving and fire them off it doesn't help.
Re:Measuring an Engineering Organization by naasking on Tuesday January 03, 2023 @10:01PM (#34241442)
> So how do you deal with bad developers? How do you even measure if they exist in your organization.

Ask the developers that work with them? Who likes working with someone that isn't pulling their own weight, or worse, that is just making your own work harder?

Re:Measuring an Engineering Organization by senguidev on Tuesday January 03, 2023 @04:29PM (#34238345)
IMO some ~objective feedback of reality is good though. Probably not easy to set up without having it quickly turn into a negative reinforcement loop indeed. But let's not forget that, with the right supporting culture, it can be helpful (pleasant?) to the dev to have some metrics. I admit "how to do that?" remains unclear.
Re:Measuring an Engineering Organization by geekjock on Tuesday January 03, 2023 @04:11PM (#34238133)
I'm a developer and am right there with you. But if you're a decades-old corporation with 10,000 engineers, you need some set of signals to help guide improvements to tools and processes, right? This benefits developers, and there should be a set of signals to enable this.
Re:Measuring an Engineering Organization by closeparen on Tuesday January 03, 2023 @06:47PM (#34239814)
You need objective, measurable signals if you are concerned that developers might be confused or lying. Otherwise you can just ask us. Most people are happy to tell you what the pain points are in their workflow and how they compare to last year's. Maybe you need metrics to quantify specific complaints like "slow" or "crashes a lot." But I feel like most organizations doing this kind of measurement are looking for some kind of Freakonomics "developers think they want X, but what makes them better is actually Y" when they haven't even bothered to ask about, let alone implement, X.
Re:Measuring an Engineering Organization by impute on Tuesday January 03, 2023 @08:37PM (#34240773)
> You need objective, measurable signals if you are concerned that developers might be confused or lying. Otherwise you can just ask us

In an organization with hundreds or thousands of developers, there will be people either lying about how productive they are or genuinely think they are performing above average when they are not. It's like how 80% of people think they're above average drivers.

On the other hand, you may have excellent developers that are overly modest or not loud enough to sell themselves that they are truly exceptional and above the curve and should be rewarded for that.

Objective, measurable signals help to find the outliers at the ends of the curve that may otherwise be missed.

Re:Measuring an Engineering Organization by closeparen on Tuesday January 03, 2023 @09:38PM (#34241277)
It doesn't matter what percentile developer you are to guide improvements to tools and processes. It matters what slows you down.
Re:Measuring an Engineering Organization by yamtaddle on Tuesday January 03, 2023 @06:01PM (#34239385)
But if you don't measure them—or if, god forbid, you give them their own offices with doors—they might start to think they're in the professional/upper-middle class, not the middle class!
Re:Measuring an Engineering Organization by hcarvalhoalves on Tuesday January 03, 2023 @08:06PM (#34240504)
This doesn’t work, because then your company would have to measure your value by the value you deliver. That would probably mean having to compensate people like you way better, because software engineers can create immense value. Of course this can’t happen, as we apparently live in a universe where only management have bonus based compensation.
Re:Measuring an Engineering Organization by astrange on Tuesday January 03, 2023 @09:17PM (#34241113)
Who’s we? FAANG engineers have bonus and stock compensation.