Live data from Hacker News

The Worst Programmer I Know (2023)

dannorth.net

221–230 of 385 posts

Re: The Worst Programmer I Know (2023)

#221

The idea of measuring individual developer productivity is kind of absurd to me. I'm not saying that what we do is magic, there are just so many variables. Measuring story points or lines of code is kind of the opposite of productivity. This encourages developers to do as much meaningless work as possible. I'd want a developer to make a task simpler or use an existing tool which means less time writing code. The valu…

I had a director that was obsessed with github enterprise stats. He forbid people from squashing commits and told people to commit every day, even if you're in the middle of something. This was so that he could see who was writing the most code. One of our interns was close to the end of his term and this director wanted to hire him. He thought the intern was amazing based on the amount of code he wrote. The problem…

Reminds me of an old joke about a policeman who pulls over a poor driver. The driver complain "But I haven't been in a single accident", the reply from the policeman, "Yes, but you've caused dozens".

Some people are just oblivious to the trail of destruction left in their wake.

Re: The Worst Programmer I Know (2023)

#222

Tims job seems perfect for me. I like casually hanging around and telling people what they can do better. This usually results in me seeming unlikable, since I am so often pointing out mistakes.

> This usually results in me seeming unlikable, since I am so often pointing out mistakes.

"comms diff" as the kids say. Communicating is a skill, it is possible to get better at it and help people in a way that they enjoy your presence as well.

Re: The Worst Programmer I Know (2023)

#223

The idea of measuring individual developer productivity is kind of absurd to me. I'm not saying that what we do is magic, there are just so many variables. Measuring story points or lines of code is kind of the opposite of productivity. This encourages developers to do as much meaningless work as possible. I'd want a developer to make a task simpler or use an existing tool which means less time writing code. The valu…

Dev productivity is like quantum mechanics. The second you try to measure it, the wave function collapses, and you've fundamentally altered the thing you were trying to measure. That said, at every place I've worked you could get a starting point idea of who the top devs were by looking at overall code commits. This Tim sensei situation may be more common than I think, but I've never run into it.

You probably can't do it observationally. You could give several developers the same project, and probably see pretty big differences in timeline and quality. But no one is going to put in the work to run that kind of assessment at scale with the level of realism and time duration (probably several weeks) to make it meaningful.

Re: The Worst Programmer I Know (2023)

#224

Earlier quoted context omitted.

> What you want is measuring business outcomes but those are hard to attribute to a particular developer. I think we could solve this by eliminating some middle tiers and putting the developers on the actual customer calls every week. Each senior developer owns at least one customer. That sort of thing. It's a completely different ball game when you are a developer on some B2B/SaaS and you are answering directly to t…

lol no, I have worked with companies that do that. Many developers have very specific personality types, and they also think in technical terms rather than customer terms. It isn’t a bad thing, it is why they are good at what they do. The most successful companies I have worked with have a good product manager that can take customer input and work with a technical manager to balance priorities/effort. The technical m…

Farming would be extremely effective if the crops would be plowed down into the ground when they're ripe, instead of bothering with all the work of harvesting, refining, packaging and distributing to customers.

But fortunately, software developers are not involved in architecting farming.

What I'm saying is that developing for developments sake is completely pointless. The purpose of software is to help in the real world. And every developer should understand that connection, no matter how shy or antisocial.

Re: The Worst Programmer I Know (2023)

#225

The idea of measuring individual developer productivity is kind of absurd to me. I'm not saying that what we do is magic, there are just so many variables. Measuring story points or lines of code is kind of the opposite of productivity. This encourages developers to do as much meaningless work as possible. I'd want a developer to make a task simpler or use an existing tool which means less time writing code. The valu…

Everyone on a programming team knows who the good and not-so-good programmers are.

Re: The Worst Programmer I Know (2023)

#226

The idea of measuring individual developer productivity is kind of absurd to me. I'm not saying that what we do is magic, there are just so many variables. Measuring story points or lines of code is kind of the opposite of productivity. This encourages developers to do as much meaningless work as possible. I'd want a developer to make a task simpler or use an existing tool which means less time writing code. The valu…

  > The idea of measuring individual developer productivity is kind of absurd to me.
It is absurd to do in a lot of settings. The other day we had a similar story with the measurement of "value" just the other day[0]. I think there's been a big bureaucratic takeover where people are measuring for the sake of measuring rather than recognizing that these things are proxies and you need to be careful to ensure your proxy is properly aligned with the actual thing you want to measure.

You see this in research and academia by trying to measure by number of papers/citations/venue/novelty. You see this in the workforce with things like lines of code, story points, and any of that other bullshit. You see this with how people think about money. Like just think what a million dollars a month would mean what you __*couldn't*__ do wit that money.

The problem is that we've created scoring systems and people see the ultimate goal as maximizing their scores. This doesn't matter if the score is actually meaningful or not, but we'll sure as hell passionately argue that they do. I'll refer to my comment to [0] for more[1].

I've been calling this concept: Goodhart's Hell

The truth is that every system has noise in it. I completely understand wanting to remove all possible noise from the system, but after a certain point, attempts to remove noise are actually ignoring noise. Maybe the problem is that people don't recognize that randomness is itself a measurement of uncertainty. There is no measuring device that is without uncertainty. Embrace the noise. Remove as much as you can, but you need to embrace what is impossible to remove. You create more noise by ignoring the noise.

[0] https://news.ycombinator.com/item?id=43447616

[1] https://news.ycombinator.com/item?id=43448860

Re: The Worst Programmer I Know (2023)

#227
post #137
post #123

Earlier quoted context omitted.

Perhaps give it some time before judging too harshly?

vibe coding has been in the scene since the emergence of ChatGPT perhaps...

Much earlier. Ever since Google, I’ve been 'vibe' coding—just a different buzzword, I guess.

Re: The Worst Programmer I Know (2023)

#228
post #162

Earlier quoted context omitted.

> who was writing the most code There's yer problem right there. Code quantity is not correlated with value. In fact, it can be negatively correlated with value if it's buggy and laden with technical debt. Measuring productivity by lines of code produced actively discourages writing clean, maintainable, bug-free code.

I’m getting a similar sense from many of the AI “success” stories we’ve been hearing. There’s amazement about how many lines of code the AI produces in a short amount of time. But not so much about maintaining and debugging all those lines of code once they’re created.

But the code runs great, over a hundred transactions per minute! All on just a $750 a day AWS instance! Saved so much money on those expensive developers! /s

Math left as an exercise for the reader.

Re: The Worst Programmer I Know (2023)

#229

Earlier quoted context omitted.

Could a company keep a subjective poor performer on for the lifespan of the company? As in, what is the plus or minus in overall revenue or profit from this charity? What if all companies did that? Could we distribute the "burden" of the charity across all companies for a better society? My point is, I don't even know if metrics are good or bad, we may need to look at why we see each other like this. Is it so offensi…

Are you going to accept such free rider in your team? You will eventually do both your and his tasks but for the same or worse pay. Given you have a fixed budget for the team - do you want to split it more ways? Where can I send a CV?

If we were to do this, we wouldn't just pick someone so out of the range of what's needed. So basically, if you reframe your question, would I hire a 70 average student on a team of 90 average students? Yes. We would not pick the 50 average students. This is all possible within reason, the kind of stuff being discussed in this thread is to purge people who are 80 average students (free riders in a 95 average class).

Will we need to tutor and support the 70 average student? Yes. Why would we do this? It's good for the soul. The stuff I'm talking about has no place in business, as far as we care to understand as a society at the moment.

Re: The Worst Programmer I Know (2023)

#230

Earlier quoted context omitted.

Dev productivity is like quantum mechanics. The second you try to measure it, the wave function collapses, and you've fundamentally altered the thing you were trying to measure. That said, at every place I've worked you could get a starting point idea of who the top devs were by looking at overall code commits. This Tim sensei situation may be more common than I think, but I've never run into it.

With my minor dabbling in game theory, I've considered funny angles like secret-ish internal metrics and punish those who simply game the incentives. Example: bot detections and banwaves in MMOs. Instead of instantly banning plausible bots, the company has to hide its (ever-changing) internal algo and ban in waves instead. Basically, treating (non-)productivity like bot detection, lol.

[deleted]
Post reply on HN