The Worst Programmer I Know (2023)

2025-03-2313:08520370dannorth.net

The great thing about measuring developer productivity is that you can quickly identify the bad programmers. I want to tell you about the worst programmer I know, and why I fought to keep him in the…

The great thing about measuring developer productivity is that you can quickly identify the bad programmers. I want to tell you about the worst programmer I know, and why I fought to keep him in the team.

A few years ago I wrote a Twitter/X thread about the best programmer I know, which I should write up as a blog post. It seems only fair to tell you about the worst one too. His name is Tim Mackinnon and I want you to know how measurably unproductive he is.

We were working for a well-known software consultancy at a Big Bank that decided to introduce individual performance metrics, “for appraisal and personal development purposes”. This was cascaded through the organisation, and landed in our team in terms of story points delivered. This was after some considered discussion from the department manager, who knew you shouldn’t measure things like lines of code or bugs found, because people can easily game these.

Source: http://dilbert.com/strip/1995-11-13

Source: http://dilbert.com/strip/1995-11-13

Instead we would measure stories delivered, or it may have been story points (it turns out it doesn’t matter), because these represented business value. We were using something like Jira, and people would put their name against stories, which made it super easy to generate these productivity metrics.

Which brings me to Tim. Tim’s score was consistently zero. Zero! Not just low, or trending downwards, but literally zero. Week after week, iteration after iteration. Zero points for Tim.

Well Tim clearly had to go. This was the manager’s conclusion, and he asked me to make the necessary arrangements to have Tim removed and replaced by someone who actually delivered, you know, stories.

And I flatly refused. It wasn’t even a hard decision for me, I just said no.

You see, the reason that Tim’s productivity score was zero, was that he never signed up for any stories. Instead he would spend his day pairing with different teammates. With less experienced developers he would patiently let them drive whilst nudging them towards a solution. He would not crowd them or railroad them, but let them take the time to learn whilst carefully crafting moments of insight and learning, often as Socratic questions, what ifs, how elses.

With seniors it was more like co-creating or sparring; bringing different worldviews to bear on a problem, to produce something better than either of us would have thought of on our own. Tim is a heck of a programmer, and you always learn something pairing with him.

Tim wasn’t delivering software; Tim was delivering a team that was delivering software. The entire team became more effective, more productive, more aligned, more idiomatic, more fun, because Tim was in the team.

I explained all this to the manager and invited him to come by and observe us working from time to time. Whenever he popped by, he would see Tim sitting with someone different, working on “their” thing, and you could be sure that the quality of that thing would be significantly better, and the time to value significantly lower—yes, you can have better and faster and cheaper, it just takes discipline—than when Tim wasn’t pairing with people.

In the end we kept Tim, and we quietly dropped the individual productivity metrics in favour of team accountability, where we tracked—and celebrated—the business impact we were delivering to the organisation as a high-performing unit.

tl;dr

Measure productivity by all means—I’m all for accountability—ideally as tangible business impact expressed in dollars saved, generated, or protected. This is usually hard, so proxy business metrics are fine too.

Just don’t try to measure the individual contribution of a unit in a complex adaptive system, because the premise of the question is flawed.

DORA metrics, for example, are about how the system of work works, whether as Westrum culture indicators or flow of technical change into production. They measure the engine, not the contribution of individual pistons, because that makes no sense.

Also, if you ever get the chance to work with Tim Mackinnon, you should do that.

We can help your organisation to go faster — ask us how

Read the original article

Comments

  • By morsecodist 2025-03-2316:0616 reply

    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 value of them saving that work from knowing another way is high but hard to measure.

    What you want is measuring business outcomes but those are hard to attribute to a particular developer.

    I think unfortunately we're left with our subjective judgement here. I think we'd do better admitting to ourselves that we can't measure this than to pretend we have some sort of science here.

    • By OnionBlender 2025-03-2317:067 reply

      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 was that this intern was bad, so we had him write unit tests. However, he was also bad at writing unit tests. He would run the code and then write tests that enforced the current results, instead of considering that the current behaviour might be incorrect. Thankfully we didn't hire him after myself and others explained why the intern had so many commits and lines of code written.

      • By hi_hi 2025-03-2323:161 reply

        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.

        • By linsomniac 2025-03-241:382 reply

          “Almost every software development organization has at least one developer who takes tactical programming to the extreme: a tactical tornado. The tactical tornado is a prolific programmer who pumps out code far faster than others but works in a totally tactical fashion. When it comes to implementing a quick feature, nobody gets it done faster than the tactical tornado. In some organizations, management treats tactical tornadoes as heroes. However, tactical tornadoes leave behind a wake of destruction. They are rarely considered heroes by the engineers who must work with their code in the future. Typically, other engineers must clean up the messes left behind by the tactical tornado, which makes it appear that those engineers (who are the real heroes) are making slower progress than the tactical tornado.” ― John Ousterhout, A Philosophy of Software Design

          • By JohnMakin 2025-03-2417:38

            Have had multiple roles running behind these guys cleaning up their messes. If I’m now ever in a position to just let them flail around (not always possible as these guys are often leads) I try to do so, if they are abusive about it, I’ll just quit. this is a major cause of burnout.

          • By lo_zamoyski 2025-03-2413:021 reply

            In other words, the "10x programmer".

            • By ignoramous 2025-03-2413:151 reply

              Not really; as a 10x programmer, to some, improves outcomes by 10x regardless of the team members and project status, but LLM and agents built on it, may soon qualify.

              • By dartos 2025-03-2413:411 reply

                The only thing more wild than thinking 10x devs is more than corporate speak is thinking that LLMs could be 10x devs.

                • By ignoramous 2025-03-2418:281 reply

                  LLM and agents may soon qualify as "tactical tornadoes".

                  > The only thing more wild

                  That's not my point, which was, to some a 10x dev != 10x code monkey.

                  • By dartos 2025-03-2418:55

                    I hear what you’re saying and was intentionally making a tangential joke about how “10x dev” is meaningless corporate speak and anyone who thinks otherwise is a little too lost in the sauce.

      • By paradox460 2025-03-2320:425 reply

        Reminds me of a manager and a QA I once knew. QA was a nice guy, but a terrible QA. Would fail stories on the most arbitrary guidelines. Story is about changing the font size on the home page? He'd fail it because he wasn't able to log in (he tested while the auth service was undergoing planned maintenance).

        Manager loved this guy, and pushed him through several promotions. Eventually other employees got tired of being skipped for promotions and left the company, creating a minor staffing crisis

        • By Aeolun 2025-03-240:181 reply

          We kinda have this, but… At least we have a dedicated QA team. That spends their whole day literally just confirming that the shit we write is up to spec. We spend a lot of time resolving discrepancies between implementation, spec and test, but when things roll out the other end, they work.

          • By j-bos 2025-03-241:03

            yeah a good qa team is peace of mind.

        • By renewedrebecca 2025-03-2321:132 reply

          I think just about everybody has had to deal with one or several of these guys.

          • By asdf6969 2025-03-2322:151 reply

            > Story is about changing the font size on the home page? He'd fail it because he wasn't able to log in (he tested while the auth service was undergoing planned maintenance).

            Average offshore QA team.

            • By paradox460 2025-03-2616:18

              This guy had offshore mentally but sat 3 desks away from me

          • By paradox460 2025-03-2322:04

            Much as cancer arises and grows from natural cellular processes gone awry, this seems to be an organizational cancer, present in any company of a large enough size.

        • By epolanski 2025-03-240:06

          Then the other employees found that this is how the world works: don't promote people that deliver results or you may have to replace them.

        • By rvba 2025-03-2322:10

          Well, I seen a fair share of "blind" programmers who just did their (very limited) scope, perhaps they did it well... yet the whole tool just didnt work and nobody cared.

          I imagine that if the guy pointed out things like this - he wasnt popular with the developmemt team, but popular with management and users.

        • By red-iron-pine 2025-03-2414:241 reply

          people get promoted based upon their ability to conform to management culture, and their ability to deliver outcomes; in most places the former is far more important than the latter but not always

          • By xdavidliu 2025-03-2414:38

            the former is often easier to measure than the latter, and the latter is often only measurable when superficial.

      • By lisper 2025-03-2318:574 reply

        > 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.

        • By jimbokun 2025-03-2321:531 reply

          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.

          • By giantrobot 2025-03-240:011 reply

            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.

            • By fakedang 2025-03-2411:58

              Well 750 a day times 365 comes out to 275k, which is still lower than a couple of Bay Area devs' salaries.

              That being said, I've found AI to be quite powerful given that I already know what infra I'm planning to use and restricting it to use only those tools and services.

        • By psychoslave 2025-03-2319:251 reply

          Turning a 100+ lines function of 5+ intertwined control flow mess into a single expression using a combination of method chaining of just a few lines is always a delighting experience to my mind.

          • By lodovic 2025-03-246:583 reply

            Until a coworker needs to debug a specific edge case that was too specific for the single expression, and it all has to be rewritten back to long form. Dense code is not always better and sometimes makes a code base incomprehensable.

            • By LandR 2025-03-249:102 reply

              I've experienced this watching a coworker debugging that sort of code, he had initially written it all as a long chained statements, then had to undo it all to allow him to debug. Once it was extracted it could be debugged and step through it, great!

              Once he was done debugging it he put it all back to how it was originally...

              The mind boggles.

              • By dormento 2025-03-2414:09

                Ahh, the fabled "write-only" code.

              • By psychoslave 2025-03-2421:19

                Looks like a limited debugger unable to let inspect what's happening in each chained function. Or is that something else?

                I mean, it looks like the same level as adding explicit temporary variable because the debugger won't give provide values of the different part of an expression assigned to a third variable. That's a way to circumvent the tool limitation, just as you can add a tap or map in a middle of a chain if the debugger is too rudimentary to provide more conveniency.

            • By rightbyte 2025-03-248:051 reply

              Single use long functions are great for debuggability and following the code path.

              Injection or whatever fancy term used for passing function pointers around is ofent write only.

              • By psychoslave 2025-03-2421:32

                If the function is long, accumulate variable along the way, and open intertwined control flow every three lines, no a single function is not at all a scalable way to expose a construction involving many transformations and sources and debugging will be as hard as the control follow depth times number of stacked variable so far as it's stepped through.

                With method chaining at each step you have only the complexity of the current method inputs to deal with: that's a far better noise/signal ratio.

            • By psychoslave 2025-03-2421:08

              No, with chained methods it's just as easy to move step by step in each method, and even in bodies of anonymous functions that you might pass as parameter. At least with a decent contemporary IDE and debugger.

              The reason code is terser is because it forces to streamline the process to a single output at a time, rather than an unrestricted number of variable control flow and return combined in a way that is easy to accumulate but all the more complicated to grasp later on.

        • By thesuperbigfrog 2025-03-2319:233 reply

          > 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.

          ** "No Code" or Nihilist Software Engineering **

          No code runs faster than no code.

          No code has fewer bugs than no code.

          No code uses less memory than no code.

          No code is easier to understand than no code.

          No code is the best way to have secure and reliable applications. Write nothing; deploy nowhere.

          One of my most productive days was throwing away 1,000 lines of code. -- Ken Thompson

          The cheapest, fastest, and most reliable components are those that aren’t there. -- Gordon Bell

          Deleted code is debugged code. -- Jeff Sickel

          Measuring programming progress by lines of code is like measuring aircraft building progress by weight. -- Bill Gates

          * Master Foo and the Ten Thousand Lines *

          Master Foo once said to a visiting programmer: “There is more Unix-nature in one line of shell script than there is in ten thousand lines of C.”

          The programmer, who was very proud of his mastery of C, said: “How can this be? C is the language in which the very kernel of Unix is implemented!”

          Master Foo replied: “That is so. Nevertheless, there is more Unix-nature in one line of shell script than there is in ten thousand lines of C.”

          The programmer grew distressed. “But through the C language we experience the enlightenment of the Patriarch Ritchie! We become as one with the operating system and the machine, reaping matchless performance!”

          Master Foo replied: “All that you say is true. But there is still more Unix-nature in one line of shell script than there is in ten thousand lines of C.”

          The programmer scoffed at Master Foo and rose to depart. But Master Foo nodded to his student Nubi, who wrote a line of shell script on a nearby whiteboard, and said: “Master programmer, consider this pipeline. Implemented in pure C, would it not span ten thousand lines?”

          The programmer muttered through his beard, contemplating what Nubi had written. Finally he agreed that it was so.

          “And how many hours would you require to implement and debug that C program?” asked Nubi.

          “Many,” admitted the visiting programmer. “But only a fool would spend the time to do that when so many more worthy tasks await him.”

          “And who better understands the Unix-nature?” Master Foo asked. “Is it he who writes the ten thousand lines, or he who, perceiving the emptiness of the task, gains merit by not coding?”

          Upon hearing this, the programmer was enlightened.

          Source: http://www.catb.org/~esr/writings/unix-koans/ten-thousand.ht...

          • By btilly 2025-03-2322:40

            The author of the shell script was probably Doug McIlroy. See www.leancrew.com/all-this/2011/12/more-shell-less-egg/ for more.

          • By musicale 2025-03-2320:131 reply

            Unix-nature loves malicious argument and code injection vulnerabilities, while C brings its own set of issues such as buffer overflows.

            • By gowld 2025-03-2420:191 reply

              Are you referring to bash when you say Unix-nature?

              Bash and C are both old and flawed early implementations that brought great ideas.

              Bash can be replaced by a much safer language that retains its shell nature (easily able to weave together many Unix programs).

              • By musicale 2025-03-253:20

                I was replying to GP.

                You could certainly replace bash and traditional Unix shells with something else. My favorite attempt is scsh (though mainly for the "acknowledgements" section of its reference manual.)

                But I'm in favor of a Unix/Linux command shell and scripting language that has type and taint checking for command arguments, and which differentiates between code and data. Typed data pipes could be nice as well.

                However, Unix/Linux isn't (yet) designed for those features. For example exec() doesn't type check command arguments.

          • By trelane 2025-03-2321:361 reply

            This is an amazing collection. Thanks for it.

            It's is exactly what I was needing for this slide deck on I'm writing how to improve our code.

            • By slowtrek 2025-03-2322:18

              a) Would make a great coffee table book.

              b) Would make a great poster.

        • By vezcha 2025-03-2321:23

          code is liability for both the business and the thinker at the end of the day. It's worth it to spend as much time as possible figuring out how to avoid writing it and keep it minimalized.

      • By rottc0dd 2025-03-2320:33

        https://yosefk.com/blog/engineers-vs-managers-economics-vs-b...

        > ...It's a common story and an interesting angle, but the "best vs good enough" formulation misses something. It sounds as if there's a road towards "the best" – towards the 100%. Engineers want to keep going until they actually reach 100%. And managers force them to quit at 70%:

        > > There comes a time in the life of every project where the right thing to do is shoot the engineers and ship the fucker.

        > However, frequently the road towards "the best" looks completely different from the road to "the good enough" from the very beginning. The different goals of engineers and managers make their thinking work in different directions. A simple example will illustrate this difference.

        > Suppose there's a bunch of computers where people can run stuff. Some system is needed to decide who runs what, when and where. What to do?

        > * An engineer will want to keep as many computers occupied at every moment as possible – otherwise they're wasted.

        > * A manager will want to give each team as few computers as absolutely necessary – otherwise they're wasted.

        > These directions aren't just opposite – "as many as possible" vs "as few as necessary". They focus on different things. The engineer imagines idle machines longing for work, and he wants to feed them with tasks. The manager thinks of irate users longing for machines, and he wants to feed them with enough machines to be quiet. Their definitions of "success" are barely related, as are their definitions of "waste".

        > The "good enough" is not 70% of "the best" – it's not even in the same direction. In fact, it's more like -20%: once the "good enough" solution is deployed, the road towards "the best" gets harder. You restrict access to machines, and you get people used to the ssh session interface, which "the best" solution will not provide.

      • By arealaccount 2025-03-2319:401 reply

        Probably not the point but committing every day is one methodology for TBD and it’s great for generating productivity. Not so much useful for measuring productivity though.

        I can’t imagine how miserable it would be to try to measure dev productivity by quantifying commits on a daily basis. What a waste.

      • By jimbokun 2025-03-2321:50

        This story tracks pretty closely with the Dilbert cartoon in the article. Except unintentionally.

      • By mx_03 2025-03-240:391 reply

        > The problem was that this intern was bad, so we had him write unit tests.

        Please tell me you assigned this person a "increase code coverage" task and not "I wrote a new feature, write the unit tests for it" task

        • By OnionBlender 2025-03-2416:01

          Yes, it was an "increase code coverage" task. The same director wanted 100% code coverage so I had the intern write tests for existing code that didn't have many tests.

    • By suzzer99 2025-03-2317:0011 reply

      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.

      • By lolinder 2025-03-2317:512 reply

        > 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 works for Junior through Senior level roles, but it falls apart quickly when you have Staff+ roles in your company. Engineers in those roles still code, but they write a fraction of what they used to and that is by design—you want these people engineering entire initiatives, integrations, and migrations. This kind of work is essential and should be done by your top devs, but it will lead to many fewer commits than you get out of people who are working on single features.

        With a few exceptions for projects with a high degree of source-level complexity, a Staff+ engineer who's committing as much as your Senior engineers is probably either misleveled or misused.

        • By suzzer99 2025-03-2318:311 reply

          Yeah, I've always worked at non-tech companies with pretty small teams and no roles like that. But it seems like any place with Staff+ engineers should know better than to try to stack them up against more junior devs based on some metric.

          • By philjohn 2025-03-2322:11

            Case in point, I worked with a Staff software engineer (I was also the same level) who consistently, half over half, had zero diffs to their name.

            Because they were leaning more into a product archetype - which it turns out they were very suited to.

        • By Aeolun 2025-03-240:24

          I have a decent number of commits as a staff engineer, but barely any are on ‘features’ as measured by story points.

          We’re building the things that other people use to deliver features better and faster.

      • By gopher_space 2025-03-2318:30

        I've worked on projects where every single ounce of enthusiasm is coming out of one mediocre developer. Nobody pays attention to team dynamics like this, but they're all over the place.

      • By winwang 2025-03-2318:073 reply

        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.

        • By closeparen 2025-03-240:48

          A few years ago we started tracking both office attendance and PR count. Management swore up and down that they understood the nuances, and these metrics would only be used to follow up on outliers.

          But then one middle manager sets a target. His peers, not to be outdone, set more ambitious targets. And their underlings follow up aggressively with whomever is below target. For a few months there was an implicit "no vacations" policy in much of the company, until they updated the attendance dashboard to account for PTO. And now an engineer's position in the stack rank is presumed to be her position in the PR count rank barring very strong evidence to the contrary.

          The approach you outline is probably optimal, but I don't think middle management as a culture would be capable of pulling it off. You give them a KPI in a dashboard, they're going to compete on it, in a very open and simple way. Metrics are hard to argue with, and nuance requires constant vigilance to maintain.

      • By __turbobrew__ 2025-03-2320:421 reply

        > 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

        Yea, in the current place I work at we do not measure coding performance metrics, but if you look at the top commiters to the repo — by number of commits — you will see all of the people who bring the most value to the company. Even at staff eng the best engineers are still the ones who crank out code, albeit maybe as not as much as a senior engineer. Staff engineers who only commit 1 a month are usually the ones who don’t bring value to the company, especially given their high pay.

        • By hamburglar 2025-03-2321:283 reply

          At my last gig I spent the last year and a half as staff engineer and made almost no commits because I was constantly writing proposals, defending them to execs, doing architecture reviews, doing design consultations, and planning long term responses to large incidents. I know for a fact that I brought a ton of value to the company but it was very uncoupled to commits. I didn’t really like it because I need to code, so I’ve moved on to a role where I commit like a maniac again. :)

          • By __turbobrew__ 2025-03-245:21

            Yea it is dependent on your company.

            When I think of highly functioning staff engineers Im thinking of people like Jeff Dean and Mitchell Hashimoto. Similarly at companies I have been at, even the highest level principal super staff++ engineers still code. They do the high level strategy and design, but they are still writing PRs at least every week or two. If you are spending 100% of your time on politics and architecture as a staff eng I think that shows a somewhat dysfunctional organization.

          • By jimbokun 2025-03-2322:00

            Just check all of your proposals and design documents into source control, and you’ll still have plenty of commits!

          • By milesrout 2025-03-249:472 reply

            Writing proposals, doing architecture reviews and doing design consultations sounds to me largely like busywork and bureaucracy rather than real and productive work.

            Maybe in a business where the cost of iteration is very high, it makes sense to do this. But in a good business you should not be doing architecture reviews and writing proposals, you should be doing refactoring and creating prototypes, respectively.

            • By pnut 2025-03-2413:30

              Funny, I've evolved the opposite attitude over time.

              Solving business problems using bespoke software solutions surely is the absolute most expensive option on the table, and should be aggressively avoided unless no other options are available, AND the problem is in a domain which is a core competency and market differentiator for your business.

              The process of figuring out what your company needs, and how best to solve that problem long term, is dramatically more valuable to a business than software/technology implementation.

            • By mierz00 2025-03-2711:02

              Software doesn’t live in a bubble.

              Architecture reviews ensure that there is some strategy on how things are being solved at an organisational level.

      • By elevatedastalt 2025-03-2317:07

        Thanks to Goodhart's law, it's true for any measure that becomes a target.

      • By xdavidliu 2025-03-2414:47

        > The second you try to measure it, the wave function collapses, and you've fundamentally altered the thing you were trying to measure.

        Related to Goodhart's law: "When a measure becomes a target, it ceases to be a good measure".

        I'm wondering if this is only true if the act of measurement is transparent (so that the people being measured can game them). If the act is opaque enough such that the form of the metric cannot easily be guessed SEO-style, then maybe wave function collapse can still be avoided?

      • By closeparen 2025-03-2323:38

        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.

      • By nijave 2025-03-2319:081 reply

        I like looking at lines removed and, in context with, lines added or PR count. Someone more experienced will be refactoring and removing old stuff while adding new stuff and will have some balance (barring vendoring or moving file trees between repos)

        • By suzzer99 2025-03-2320:45

          Lines removed should count like 5x lines added. I don't trust any developer who doesn't get a thrill out of removing code.

      • By naikrovek 2025-03-2417:00

      • By razeh 2025-03-242:32

        This is true for more than dev productivity.

      • By szundi 2025-03-2317:39

        [dead]

    • By bob1029 2025-03-2321:011 reply

      > 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 the customer regarding your work. There's no one to hide behind - your teammates are now aside you and can only render supplemental aid. Once you have developers answering directly to the customers, you have a simple, ~boolean, qualitative metric that virtually any manager/investor can get behind: Is the customer happy?

      If the developers are keeping the customers happy, then they are performing. If the customer is unhappy, then there is a performance issue. Whether or not most or all of it can be attributed to blockers on the customer's side is irrelevant at the senior levels of play. Developers should be helping the customers get unblocked. Offer meetings & screen share time. Generally, make yourself as available as possible. If you do this correctly, the customer is likely to take note and provide you with some amount of cover (i.e., not be in a raging fit when they call your CEO).

      There is no reality in which you can inject more middle management or process to get developers to take more accountability. The only thing that works is to get them out of the bullshit matrix and in front of the customers. They need to experience how it feels to work directly with a happy customer and then realize how important it is to keep them that way.

      This path also happens to solve a whole host of other maladies in technology business, most notably shiny rabbit chases. When you have the fear of god in you regarding the client, you aren't going to be as inclined to play in traffic with a NuSQL engine on their watch.

      • By eek2121 2025-03-2322:081 reply

        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 manager consults the team before making decisions (such as SCRUM meetings if using that)

        Issues come into play when folks start distrusting developers. When we say it will take 4 weeks or 8 weeks to implement something, there is a reason for that. We know the code. We know how much of a PITA it is to work with, and we aren’t being misleading. On the flip side, we have been trained to give conservative estimates thanks to crap management and unexpected pitfalls, so we try to understand promise and over deliver. If management could recognize this, everyone would be happy, provided they recognize that 8-week timeline is fine and they don’t promise something different to the client and trust devs to do their thing.

        EDIT: Managers also tend to forget that we aren't a machine in a factory. We have good days, bad days, and everything in between. We excel with using our brains, however our brains suffer from anything between lack of sleep, depression, and other nonsense due to just plain having a bad day. I feel like it is more noticeable with us because we rely on our brains so much more than other folks in other professions do. Shoot, even random noise in an office, whether working at home or at an office, can hurt productivity.

        Now I have myself missing dev work. Hoping to go back soon. Currently unemployed.

        • By carlosjobim 2025-03-2323:52

          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.

    • By slowtrek 2025-03-2318:134 reply

      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 offensive to the mind of the captain of a ship that they may have a few of not the best sailors? It's a chance for them to be on a ship, go on a journey. The concept of a "free ride" appears to be a serious moral hazard for us, but I can't figure out why.

      • By kragen 2025-03-243:35

        Sure, as long as they don't have any responsibilities. I've been a great performer at some companies and a poor performer at others, including one that kept me around without letting me have any responsibilities. It was not good for me. But I have been through worse.

        A better alternative I've seen is to help the poor performer hunt for a new job.

      • By ch33zer 2025-03-240:121 reply

        This is what Japan does. Employment is presumed to be for life. There are games companies play to get out very poor performers but most people get approximately lifetime employment.

        • By slowtrek 2025-03-241:581 reply

          How was that society taught this? Or how did they come to know this?

          • By hadlock 2025-03-247:421 reply

            What are you asking

            • By neverokay 2025-03-2414:171 reply

              I’m not asking you if you read carefully. This is not to be mean, I asked the GP specifically because they demonstrated that they understand the spirit of what I am talking about. Your own confusion is stemming from something else, not my question (you don’t even recognize my question, as evidenced).

              For example, who raised you? See, that’s a question you might not understand but it’s the spirit of my original question.

              So what am I asking?

              • By ch33zer 2025-03-2518:15

                I still have absolutely no idea

      • By ponector 2025-03-2323:041 reply

        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?

        • By slowtrek 2025-03-240:041 reply

          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.

          • By rpmisms 2025-03-241:112 reply

            My dangerous opinion is that the purpose of a company is to provide a living for its employees.

            • By slowtrek 2025-03-241:571 reply

              As in, if you are on the ship, we can absolutely find something for you to do. Here, color the fucking map, clean the sails. Why would we throw them off the ship?

              • By rpmisms 2025-03-243:141 reply

                That's another angle of what I mean, but absolutely. Stop expecting everyone to be above average, use your human resources intelligently, put people where they're productive and happy, and stop chasing nonstop growth. Mostly the last one. If we recalibrate our expectations about growth, I think we could tame the boom/bust cycle.

                • By slowtrek 2025-03-246:37

                  We need to start blogging about this, because it's been a torrent of utter filth advice being marketed to businesses.

            • By milesrout 2025-03-249:481 reply

              That isn't dangerous, just ignorant.

              • By rpmisms 2025-03-2415:531 reply

                It's not ignorant, it's a different perspective on priorities that is outside your orthodoxy.

                • By milesrout 2025-03-255:38

                  It is ignorant of history, law, politics and logic. Companies do not exist for that purpose. It isn't why they arose as a concept. It isn't why they are created today. It isn't why the law of companies exists today. It just has nothing to do with reality.

                  If you said that businesses should exist for the benefit of their staff as much as for the benefit of their proprietors it might make some sense as an opinion. But you said that companies (a specific type of legal structure) do in fact exist for the benefit of their employees (a specific class of contractual relationship), which is simply false.

                  If you want to make statements about how you think the world ought to be, then be my guest. If you want to lie about the state that the world is actually in, then you should be relieved when someone interprets your lie as mere ignorance.

      • By tbossanova 2025-03-243:30

        This reminds me a bit of how VCs bet on a bunch of startups in full knowledge that many will fail. The failures in some sense get a “free ride”. Why not the same with people?

    • By jasonkester 2025-03-246:26

      This is why I like working on my own stuff. All that nonsense goes away and I’m left with just the two numbers that matter to me:

      - how much money did it bring in this month, and

      - how many hours did I have to work to make that happen.

      The goal is to make the first number as big as possible while keeping the other as close to zero as possible.

    • By BobbyTables2 2025-03-243:35

      Where I work, the CI pipelines measure changes in code coverage.

      If I refactor repetitive code into something more concise and maintainable —- code coverage goes DOWN! (Now the proportion of untested code is larger!)

      Yeah, measurement is hard…

    • By fsndz 2025-03-2317:163 reply

      the worst programmer nowadays is the vibe coder. vibe coding is so overrated imo https://www.lycee.ai/blog/why-vibe-coding-is-overrated

      • By bitwize 2025-03-2319:528 reply

        Vibe coding is now a skill requirement for real, actual jobs but, thankfully I guess, no place I want to work (yet). The other day I saw a YC24 company in the "financial services industry" with a "vibe coder position". A prerequisite for the position was at least 50% of your current code being generated by AI; vibe-coding experience was "non-negotiable". Traditional programmers need not apply. And you'd better be ready to grind, 12 hours a day up to 7 days a week. It pays up to $120,000 a year plus squat for equity and relocation to San Francisco is required. That's like, McDonald's money in San Francisco, so guess they figure running a vibe-coding sweatshop is a huge savings for them.

        Oh, and the cherry on top? The "financial service" this startup provides? Automated robocalls demanding money from debtors on behalf of debt collectors.

        https://www.ycombinator.com/companies/domu-technology-inc/jo...

        YC has entered its villain arc.

        • By dragonwriter 2025-03-240:26

          “Your onboarding will be making collection calls.”

          So, your AI debt collection startup onboards engineers by...having them work as human call-center debt collectors?

          Is there really AI at all?

          Oh, but after passing through the onboarding, your vibe-coding engineers will be be focussed on building product by vibe coding, right?

          “(what you will be doing...) Onboard customers, talk to them and travel to visit them.”

          So, a traveling sales rep. Your onboarding is pretending to be the product, and after that you are a traveling sales rep who vibe codes on the side?

        • By stickfigure 2025-03-243:522 reply

          This must be satire. It is a stretch even for Poe's Law. Someone is punking YC.

          • By LandR 2025-03-2410:18

            Nothing about this job description sounds appealing, it has to be a joke.

          • By siva7 2025-03-247:11

            No it's not.

        • By ykonstant 2025-03-249:101 reply

          Fortunately, vibe coding skills are easy to demonstrate through vibe statements of such; recruiters should be skilled in judging the vibe of the statement claiming vibe coding skills and accepting or rejecting it accordingly.

          If, however, you are having trouble doing that as a recruiter, I am offering professional vibe-rating services as well as a full-blown software solution, the first of its kind, Job Market Vibe-Rater™.

          • By bitwize 2025-03-2418:40

            I was gonna say, the maintainer of Buttplug.io would be a perfect candidate, as he knows a lot about coding vibes...

        • By fsndz 2025-03-2320:56

          it's just a marketing stunt like prompt engineer with 200K salary back in the day. And the fact that you are talking about it and sharing the link to the company's profile means the stunt is working.

        • By godelski 2025-03-240:11

            > +3 years of experience.
          
          Ummmm..... what?

          This seems like it was written by someone who loves Dystopian Sci-Fi. Loves in the way that it is the future they want to live in.

        • By gabrieledarrigo 2025-03-2419:04

          I honestly call this a scam position:

          - Vibe coding "non negotiable" - 3 years of experience (of what, exactly? if the "Vibe coding" term was coined just the other day...) - 12 to 15 hours a day

          No thanks...

      • By sanex 2025-03-2317:213 reply

        I've been writing code professionally for a decade but I've never written so much code in my free time because I can just vibe code it all. I wouldn't do it at work and I probably wouldn't trust a juniors vibes as much as my own but no tools have made me feel quite so powerful.

        • By yodsanklai 2025-03-2318:112 reply

          I never tried vibe code as described in this article, but I could see where it breaks. Initially, code works. Eventually, there's a bug, and the LLM isn't able to fix it. At that stage, you're on your own with a potentially large codebase which is totally new to you.

          Even on small projects, sometimes I'm tired, I just try to get the LLM do some refactoring for me or write a couple of tests. First, whatever the LLM writes, it's going to code review and I'm not submitting code that I haven't read and understood just to have colleagues complaining. Second, if the code doesn't work, it gets frustrating. For LLMs to help, I like to have a pretty clear idea of what I want, how the "right" code looks like so I can give more indications.

          • By mrheosuper 2025-03-242:11

            The idea is "Rewriting is faster than debugging", so if something breaks, you ask LLM to rewrite it

            Not a fan of it.

          • By sanex 2025-03-2323:11

            Yeah it's totally a situation where obviously I can write it myself if I had the time so I just correct it as it goes. I also give it lots of guidelines on what I'm looking for but after some setup I can just watch TV and check on it every couple minutes.

        • By android521 2025-03-243:37

          Vibe coding works for experienced developers who give very detailed instructions including edge cases and potential issues or solutions. It is almost code already as it has already included all important code business logic (leaving the simple parts for Ai to fill in ). It is a maintenance disaster for junior developers or non-coders.

        • By fsndz 2025-03-2317:451 reply

          it's definitely nice for prototypes, but nothing more complex.

          • By eclipxe 2025-03-2318:043 reply

            I used to feel that way but my perspective over the last 6 months has changed greatly. You can absolutely build very complex things in this style

            • By Yoric 2025-03-2318:341 reply

              That's actually not a contradiction.

              As far as I can tell, you can build very complex prototypes. But unless these prototypes can be both trusted and maintained, that's all they are.

              • By NitpickLawyer 2025-03-248:441 reply

                > As far as I can tell, you can build very complex prototypes.

                I think GP was saying you can do more than prototypes. I agree, but it's not (yet) universal on where you can apply it. The best case for my projects has been in trivial but tedious "3rd party integrations". Say you have a mature product but client x wants integration with product z. We are now at a point where we can say "this is our internal model {json dump}, this is the 3rd party integration docs / example {code dump}, write interfaces for this". And it works most times. For things that are a bit more complicated, /architect first and then "now write it" w/ some things from the architect session in context also works.

                YMMV but don't dismiss it out of habit. Things are moving very fast in this space, and I choose to focus on what works now, not on what doesn't. I'm well aware not everything works, but when it does it saves a lot of time.

                • By Yoric 2025-03-2411:561 reply

                  We're talking about vibe coding, not just AI-assisted coding. Do you put this in production without review?

                  • By NitpickLawyer 2025-03-2412:301 reply

                    Oh, my bad, and TIL. I thought vibe coding is the trendy way of saying you're using LLM based code in tools like aider/cline/cursor/windsurf...

                    edit:

                    So I did a quick google, apparently it's this:

                    > Vibe coding is an AI-dependent programming technique where a person describes a problem in a few sentences as a prompt to a large language model (LLM) tuned for coding. The LLM generates software, shifting the programmer’s role from manual coding to guiding, testing, and refining the AI-generated source code.[1][2][3] Vibe coding is claimed by its advocates to allow even amateur programmers to produce software without the extensive training and skills previously required for software engineering.[4] The term was introduced by Andrej Karpathy in February 2025[5][2][4][1] and listed in the Merriam-Webster Dictionary the following month as a "slang & trending" noun.[6] (from wiki)

                    So ... now I'm confused again. I don't see the no testing / reviewing part in here. Is vibe coding the new AGI, where everyone has a different definition?

                    • By Yoric 2025-03-2414:27

                      Well, when Karpathy introduced it, I seem to recall he claimed that he didn't look at the code, just put it in production.

                      But it's entirely possible that there may be several definitions around by now.

            • By siva7 2025-03-247:13

              I wouldn't trust vibe coding to a junior. This would be a recipe for desaster. It's a skill best paired with a very senior dev who can correctly assess the output of the AI.

            • By fsndz 2025-03-2318:281 reply

              show me an example of such a complex thing obtained after just writing prompts

              • By godelski 2025-03-240:06

                Sometimes you enter a codebase and it looks like there's some obscure attempt to summon a Lovecraftian entity made of spaghetti and duct tape. Those codebases are both the shitiest and most complex stuff I've ever seen. They sure don't work well and I'm not even sure do a good job at summoning the old ones. I don't find LLM code significantly differing from that kind of monstrosity. It sure is complex.

      • By smokel 2025-03-2317:401 reply

        Perhaps give it some time before judging too harshly?

        • By fsndz 2025-03-2317:551 reply

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

          • By vincenthwt 2025-03-2323:58

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

    • By mrbadguy 2025-03-2316:12

      Well said. There’s a noticeable lack of judgement in many places these days; people think they can abdicate it to metrics and data but this is mistaken.

    • By WalterBright 2025-03-2323:572 reply

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

      • By dilyevsky 2025-03-241:421 reply

        Kind of meaningless statement though. Even if they do, which Im not sure is true in general case because you have to be good yourself to know who’s really good, they are not telling you anyway.

        • By WalterBright 2025-03-242:022 reply

          In every organization I've worked in, everyone knew who the productive and non-productive people were.

          Just like in school. Everyone knew who the good teachers were, and who the good students were.

          I don't fathom how you can work with other people and not be aware of it.

          • By dambi0 2025-03-2412:111 reply

            Have you ever found your opinions of things, including people’s relative worth changing over time? Perhaps as you had time to understand the context, or as time revealed the benefit of an action that wasn’t so clear initially?

          • By dilyevsky 2025-03-243:141 reply

            Frankly, I think you might be confusing "productive" with "smart" or "easy to work with". I've had several past team mates at several companies gush to me about staff eng Bob and while I agreed Bob was a cool guy (or just talked good game) I also knew his last few projects were a failure, it was 100% his fault, and management took notice. It happened in the other direction too but not as often. Alternatively you might be underestimating how oblivious some (most?) people are of those things.

            • By WalterBright 2025-03-245:161 reply

              > I think you might be confusing "productive" with "smart" or "easy to work with".

              Working in teams for most of my career, and especially when I make or lose money depending on how the team performs, I am not confusing them.

              At work, I am not really interested in how smart they are or how easy to work with they are, or how nice a person they are. At work I'm interested in results. I've had workers come to me and complain about "Bob" who has annoying habits and an abrasive personality. I defend the ones that produce results.

              Outside of work, I value smart people who are good friends. I've had several friends who were laid off for poor performance, yet we continued as friends.

              (Being somewhat on the spectrum myself, I recognize that in others and give them a lot of slack.)

              > you might be underestimating how oblivious some (most?) people are of those things.

              The oblivious ones were the ones who got laid off. They honestly believed they were god's gift to the company. Frankly, it was tragic. The ones I kept in contact with would ruefully admit to me years later that the company was right in laying them off.

              • By saagarjha 2025-03-249:472 reply

                > At work, I am not really interested in how smart they are or how easy to work with they are, or how nice a person they are. At work I'm interested in results. I've had workers come to me and complain about "Bob" who has annoying habits and an abrasive personality. I defend the ones that produce results.

                And what if "Bob" makes it so that "Alice" who is almost as smart as him can't work effectively?

                • By WalterBright 2025-03-2417:471 reply

                  That's why being a manager is not a trivial job.

                  Amusing story: one day, I got a call from "Bob" who complained that our receptionist "Alice" refused to forward his phone messages to him. Apparently, this was because "Alice" didn't like "Bob". What was this, high school? So "Alice" was informed that she was taking messages for the company, and "Bob" needed those messages to perform his job. She got the message.

                  • By saagarjha 2025-03-250:21

                    Sounds like Alice was the one who was difficult to work with in this case?

                • By milesrout 2025-03-249:521 reply

                  You mean what if Alice is intolerant? Bob would have to be pretty egregious to make it so Alice cannot work effectively, and that is when HR gets involved. But if Bob is just not the easiest to work with, then it is up to Alice and Bob to work together. You can't expect everyone else to always adjust to what you want.

                  • By saagarjha 2025-03-2410:081 reply

                    No, I don't mean that. You assume that this is a logical conclusion but the problem is that "Bob would have to be pretty egregious to make it so Alice cannot work effectively" is not actually true. Bob, being the slightly better coder, could make Alice's life miserable without, like, doing a harassment that HR would be interested in. Constantly changing APIs that Alice relies on ("they're better now, why are you complaining?"), being overly nitpicky in reviews ("I'm not wrong, aren't I?"), or just outright taking the more interesting work ("I think I would do it faster than Alice") are all ways Bob could reduce Alice's productivity. If Alice is 0.9 of Bob, then instead of getting 1.9 Bobs you might get 1.2, while Alice plus Carl–who is just merely half a Bob–might be able to outperform that.

                    • By milesrout 2025-03-2421:531 reply

                      And if Bob doesn't get to do that he will leave. If Bob has to put up with low quality code because Alice can't get the basics right but he also isn't allowed to point out basic mistakes in code review, he will leave.

                      There is no such thing as being "overly nitpicky in reviews". This sentiment reminds me of an old coworker of mine that would basically throw a tantrum when I asked him not to add new lines to a file, which was indented consistently with tabs, with spaces. He needed to be reminded of this every commit. This is the sort of crap that distracts from the substantive code review, yes. But the solution is not to do what Alice wants and ignore minor details. It is for Alice to get the basics right the first time so that Bob can focus on more substantive things.

                      This isn't just true in software development either. In law, the first thing a new graduate joining the profession is told is that whatever you do, the work you produce should be spelt correctly and your grammar should be right. The formatting should be consistent too. Why? Because inconsistency and error in those aspects is distracting to someone reviewing the substance of the work, and the basics are so easy to get right.

                      To put it concisely: if you got the basics right the first time, which you should, then you wouldn't get nitpicky comments.

                      There are obviously many ways that people might be less productive in combination than the sum of their individual productivities, but in my experience some unfortunate people make no effort to adjust the way they work so that they combine well with others, and some people blend in very naturally with others' working styles. Some people are worth having even if they're difficult. Some people are only worth having if they play nicely. Either be a star or play nicely. Mediocre performers that are also difficult to work with don't ever last very long.

                      • By saagarjha 2025-03-250:20

                        > And if Bob doesn't get to do that he will leave.

                        Maybe he should.

                        > If Bob has to put up with low quality code because Alice can't get the basics right but he also isn't allowed to point out basic mistakes in code review, he will leave.

                        There's a difference between nitpicks and "gets basic things wrong" or "doesn't format their code". Remember that Alice is 0.9 of Bob: she's not there fighting with him on formatting (everyone has CI do this anyway, lol) or getting basic things wrong. She's getting comments like "hmm, this API you use could be a bit better, could you also refactor that while you're at it?" or "can you make this more general to support this use case that we don't actually need right now, but could potentially need later?" I guarantee you, regardless of how smart you are, there are a multitude of ways I could tie up your review for a long time. And this happens all the time in projects with very smart people working on it.

      • By vraylle 2025-03-253:58

        This is the key. Ask all the developers for a ranked top-3 list of who they would most prefer to go to for help with a programming problem. Put that data together and you know who your best are.

        Before the inevitable protest: I believe the ability and willingness to communicate with other developers is a vital skill in this business.

    • By nijave 2025-03-2318:39

      I don't think productivity itself is absurd but it's definitely a hard thing to do, especially in small time intervals.

      I think it's important to measure employee performance and you can definitely can a macro look and say "what have you accomplished in the last year" which might be measured of delivery of "t-shirt" sized projects

    • By jckahn 2025-03-2316:53

      I don’t think it’s that we _can’t_ accurately measure developer value/productivity, it’s that doing so isn’t feasible with any methodology we currently have. As you said, we’re not doing magic, therefore our value is measurable. Measuring just requires an impractical degree of time and energy.

    • By Grimblewald 2025-03-253:02

      but also, the reason we come together to work as groups is so that we can achieve more than we would as the sum of the parts. The same is true for horses, two horses that work well together put out more power than two individual horses. So the problem becomes when you identify one of your horses has 1.5x the output of the other, and think firing the weaker horse will lead to minimal productivity gains, you end up with egg on your face when you realise you are not left with a horse that works 1.5x, but rather a horse now working at 0.5x what what it was in a team. The exact same thing is true for team work, team sports, etc. There is no one person 'holding it all together' if there is, then that person needs way better support and realistically, should get the entire departments pay when the remaining department is let go.

    • By godelski 2025-03-2323:58

        > 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

    • By naikrovek 2025-03-2416:58

      > The idea of measuring individual developer productivity is kind of absurd to me.

      that idea is very attractive to every manager on planet earth. they seem to quickly lose their ability to maintain contact with reality and they start using metrics to track everything, rewarding those who game the metrics best.

    • By Sparkyte 2025-03-2411:25

      If you are not committing any code that is a problem. But software development is more than just code. It is also more than just the individual.

    • By empiko 2025-03-2318:431 reply

      It is not absurd. From manager's point of view, when they are deciding to let someone go or promote them, they often need some arguments. And since software is invisible, it is often hard to just say straight away who is over/underperforming and why you think so apart from a "vibe" you are having. Measuring some relevant metrics can strengthen your argument and/or your overview of the situation.

      I don't think that the blog makes a compelling argument why measuring productivity is bad per se. It makes a compelling argument that metrics should not be interpreted blindly, but the metrics in this case identified a guy that was doing something unusual, and the managers managed to interpret why this is the case. But if it was an IC that is supposed to deliver, or if you did not want "Tim" to spend his time coaching people, this could still have been valuable info.

      • By morsecodist 2025-03-2319:21

        I don't think it is absurd to reason about individual contributions, just to focus on measuring them with metrics. I have been on the management side as well though I admit I am much more of an IC. But the way I think that should go is laddering up to business value by describing what the person did and why that contribution was important.

        So for example I would say something like: X deserves a promotion because their work was important to delivering project A on time. Project A was difficult but worthwhile because it allowed us as a business to meet goals 1 and 2.

        That said I mostly work in smaller orgs. I have never been in a situation where a manager would be so removed from a team they would need a sort of proxy metric to direct them where to focus their attention to understand what the people on their team are doing day to day. I can see how this would get more difficult as a company grows.

  • By JohnMakin 2025-03-2314:1411 reply

    Used to be bitten by stuff like this until I figured out something Tim and this author apparently didn’t - the problem is trivially fixed by management by attaching tim’s name to any tickets he may have helped out on. he can ask his teammates to do this and they gladly will, or, nice teammates will usually throw a “figured this out with the help of @Tim” in the ticket. goes a long way to keep “tim” on your team against obtuse velocity metrics like this.

    productivity metrics aren’t entirely worthless. if I come into a team, for instance, and I see they have 1 PR mapped to roughly every 1 jira ticket, and I see a guy on a 3 person team that’s got 70% of the PR’s in a year, that isn’t a clueless piece of info. he’s probably the lead. not always, and people game stuff like this, but it is a data point you can make note of.

    • By motorest 2025-03-2314:327 reply

      > the problem is trivially fixed by management by attaching tim’s name to any tickets he may have helped out on.

      I don't think this comes even close to solving the problem. This in fact makes the problem worse, because a) you admit the metric is shit and does not reflect work, b) you opt to keep the bullshit metric but instead try to manipulate it to bump the score under some scenario. That's not desirable outcome by any metric.

      In the end you're building up a system where everyone participating in it knows it's a fraude but just keep gaming it because they become too heavily invested in it.

      • By bberenberg 2025-03-2315:067 reply

        I don’t think anyone is saying it’s a good solution. It’s one amongst many bad ones that are used because that’s what we have. For example, I’ve been running a remote team for 8ish years now and I keep begging people to have conversations in public channels. One of the reasons is to see who’s spending a lot of time lending a hand. Guess what, devs refuse to do that. So what am I supposed to do?

        I have a person who I highly suspect isn’t doing much work, and is basically rotating through other team members to help him get unstuck. Not a bad guy, but probably not up to our standards. Just ask people you say? Many cultures don’t allow for someone to say bad things about their coworker even if it would help to improve the team.

        I’m not arguing for any one solution because I don’t know of any magical solution. If you have better metrics or management skills than what everyone in the world has figured out, myself and many others would gladly adopt these approaches.

        • By metric10 2025-03-2315:32

          Sounds like both a lack of trust and communication between you and the team.

          > If you have better metrics or management skills than what everyone in the world has figured out, myself and many others would gladly adopt these approaches.

          Oh boy...

          edit: One issue might be they fear that bad news will lead to a knee jerk reaction that gets them or their teammates fired. They should feel comfortable to encounter problems and openly discuss them in the open with out fear of repercussions. In fact, I would argue this is one of the major advantages of a team; pooling collective knowledge and abilities. If people fear honest communication then the performance of the team is impacted. The manager has the greatest ability to fix this, IMHO...

        • By hansmayer 2025-03-2317:472 reply

          First off - please do not be offended by the following comment, there is zero bad intent in it and is only meant as a way of nudging you into a correct mindset about the problem you described. Based on your public profile, you seem to not have much in the way of hands-on technical background and I suspect you manage your team based on some set of scrum/agile techniques. It can work purely for project delivery I suppose. However for the deeper analysis of your team productivity, the problem is you don´t have the necessary competence to validate your suspicion about one of them not getting work done, coasting off of others etc. There is only two ways to go about it. Either you hire (or promote) a technical lead in your team, who can then actually make that call, or you learn programming yourself, accrue at least a year of real technical experience and then try to evaluate. I am saying this because I have seen people with background similar to yours usually struggle, because they try to infer something about engineer productivity based on various proxy measures, such as who talks the most in the chat, who has most commits or even based on activity in Confluence. The way I would recommend any scrum master/PO/agile coach/MBA to think this dilemma is: you would not be able to judge the quality of work of a medical doctor, lawyer or a mechanical engineer, without having a similar background, experience and competence. So what makes you think you can evaluate software engineers without the same preconditions?

          • By bberenberg 2025-03-2319:30

            I think lots of the other comments are making wild assumptions leading to responses that don’t align with reality. Yours is actually the absolutely correct one. I agree with the solution wholeheartedly. The only difference is I have been trying to promote the tech lead from within vs hiring externally. I want the team to know that we value their contributions and that we’re going to do everything we can to promote internally. I have various challenges with this internally related to seniority, language skills, etc but I’m working to resolve that.

            But in the meantime, I still have a team to manage.

          • By rvba 2025-03-2322:281 reply

            One of the members of the team is barely doing anything and survives by constantly asking others to help with doing the job. This reducea productivity of other employees.

            A known archetype in many jobs, not only programming.

            Yet we get comments like this:

            > you don´t have the necessary competence to validate your suspicion about one of them not getting work done, coasting off of others

            Wow.

            In any other job, a manager ir HR will just read your chats, emails + demand to document calls - and guess what. It can be found. In a very not very subtle way.

            Also the problem above is like managememt 101? For all the talk about "no technical competence" you dont seem to have any managerial competence.

            Also the agile idea that developers keep each other to professional standars is a nice fairy tale (like whole agile in general).

            • By hansmayer 2025-03-245:391 reply

              Sorry but what is your point? I feel like you got offended by identifying yourself in it, but did not really understand it. My point being, as a non-engineering manager, you can be great at 1) approving holidays 2) doing a bit of project management 3) doing formal 1:1s . But it does not mean much because you don´t understand the work being done and you are just doing performative actions, e.g. busywork. Or we just say, f*ck it, let MBAs and scrum masters keep running our critical engineering businesses and at the end of the day the doors fall off of Boeing airplanes and astronauts end up spending 9 months instead of 9 days in space.

              • By rvba 2025-03-267:081 reply

                Only an engineer with 30 years of experience can tell that a Mustang is better than a Model T /s

                • By hansmayer 2025-03-269:111 reply

                  Why the /s? You're mixing apples and oranges I am afraid. Being a consumer of some product, is not the same as engineering the product. So you have the latest iPhone, good for you - still does not make you an engineer, nor do you have a clue what goes into designing, conceptualising and building a product. And yes, those of us with a bit more experience in the field, remember the times when engineering was done by people who had passion for it, not people desperate to make a career and income upgrade through bullshitting in meetings. For engineering a great product, as we can see with the great entshittification of pretty much everything today, Boeing being the most dangerous example, it's not just that the performative workers are being a drag on productivity and profitability, they are now also endangering everyone. I sure hope some idiot MBA does not come up with an idea of a medical PO or scrum master.

                  • By rvba 2025-03-2617:051 reply

                    One does not need 20 years of programming experience to identify and fire a shitty employee that coasts by constantly asking others for help with their job. There are tons of bad programmers just like there are tons of people bad at other jobs. Those employees are often a net negative for the team by constantly wasting someone elses' time.

                    On a side note, your constant whining about "MBAs" and "scrum masters"... it does not make you sound like a professional or reasonable person. This black-white view of world, that "all MBAs are bad". Whoa.

                    (Just because I know where you will take it: (sadly?) I dont have an MBA. I am also not a scrum master)

                    • By hansmayer 2025-03-2620:571 reply

                      No, please, instead of pointing out everything that is wrong in your reasoning: Please read a referent book about managing software development teams. For example "Peopleware", or "Dynamics of Software Development". Both a bit older, but valuable classics. The second one actually written by a relatively less technical author, a product manager at Microsoft. Maybe then you'll understand a bit more. By the way - I am not the only one complaining about the MBAs. Remember when that plane door fell off? US Congress was holding a hearing about that. And a number of US Congressmen (or were they senators?), people who literally never have the discussions that you and are having, kept asking one simple question: "How come the CEO of Boeing is not an ENGINEER"? It's so natural, that even those disconnected politicians made the obvious connection. Look it up in the archives.

                      • By rvba 2025-03-280:111 reply

                        Well, since you cant point out anything, you point out some random books.

                        I will point out something else: get tested for schizophrenia.

                        • By hansmayer 2025-03-2810:15

                          Random books, schizophrenia? I am the one not pointing out anything? Perhaps read your own replies slowly and reflect again :) I won´t dispute your medical competence, as I don´t have any and you seem to be an expert obviously, but for your own good, the two books are classics in their category, which you´d know if you approached your managerial duties with a tiny bit of sense of responsibility towards self-development.

        • By whatshisface 2025-03-2315:161 reply

          It sounds like your employees believe that talking to you or amongst each other, where you can read it, will get their friends laid off or bad decisions made without advice. You might want to put a layer of management between you and them, if you can find someone with the skill of trust and relationship building.

          • By hansmayer 2025-03-2317:50

            I think a competent technical lead would do wonders in this case too ;)

        • By marcosdumay 2025-03-2315:42

          Formalizing a productivity metric won't help you with any of that. And I'm sure that one guy you mentioned will learn to game the metric faster than the other developers will learn to fit it.

        • By bonesss 2025-03-2315:413 reply

          > "I keep begging people to have conversations in public channels... Guess what, devs refuse to do that."

          So, stop begging. Managerial directives come as orders, not pretty-please requests. Also, stop letting your subordinates refuse you. They are your reports, you are approving their money, that can change if they aren't doing their jobs. Fire one for ignoring policy, and their attitudes will change.

          On the tech side, clarify that you want all project comms logged and searchable for onboarding and auto-generating documentation as well as identifying technical hotspots where investments in refactoring can save the team time. Whatever. What gets measured gets done, if you are trying to spy on everyone, this is a bad way. Do it if it has value.

          > "Many cultures don’t allow for someone to say bad things about their coworker"

          Managers in any culture, and especially across cultures, are tasked with learning those cultural sensitivities and then working around them pragmatically. You have identified a problem. That is the start of solutions, not the end of them.

          > "If you have better metrics or management skills than what everyone in the world has figured out"

          This kind of attitude isn't productive at finding genuine answers, and might be obfuscating the problem.

          Lots of people have figured out better metrics and management skills than the local application suggests. It's not the advanced esoteric stuff that is missing, it's the basics.

          • By ModernMech 2025-03-2317:41

            > Fire one for ignoring policy, and their attitudes will change.

            Yeah, the next day they'll start updating their resumes and sending out feelers to their network.

          • By riehwvfbk 2025-03-2315:47

            With this attitude you will grow a very specific kind of team. They will be very productive according to your metrics, fiercely loyal, and lethal to anyone who doesn't fit in. However, $diety help you if you ever need to innovate.

          • By rvba 2025-03-2322:30

            It's sad that you get downvoted for providing solutions.

        • By giantrobot 2025-03-240:20

          > For example, I’ve been running a remote team for 8ish years now and I keep begging people to have conversations in public channels.

          No one does this because it's a bunch of bullshit noise in a channel disrupting everyone. It also opens a conversation up to bikeshedding which drags down the entire discussion.

          Small ad-hoc groups can be very effective at solving problems.

          1. The more intimate the group the less friction there is in conversation. There's less need/desire to put everything in "business speak" so no one gets their feelings hurt.

          2. Small groups don't need to dumb down conversations for less technical participants if there's no non-technical participants.

          3. Private chats mean no one is hovering over the conversation demanding some useless status update. A problem is either solved and committed or the group is still working.

        • By bornfreddy 2025-03-2316:28

          No offense, but it sounds like you have jumped to a conclusion (which you can't even prove) and are trying to change the process so that you could nail the poor guy.

          What is your purpose? Making the team perform great, I hope. Will you achieve that by picking on someone? Hell no. Others will protect him, because they know they will be next in line. Do you think the "underperformer" (if he really is that, even) is doing that because he is lazy? It is more difficult to ask for help all the time than just to do something.

          How about you try to find a way to help him achieve the level that others are at? THAT is what should be your goal. Instead of spying on them, award team members who help others, so that they won't feel the need to hide. And make weak members feel safe. Currently it sounds like the environment is pretty toxic with regards to admitting to any problems.

          If, after all the genuine effort, you still fail and need to let go of the guy, because he is really bringing productivity of the team down and you can't motivate him to change, then you should know that this is still primarily your own failure. Which is ok, everyone is allowed to fail from time to time. But it is a signal that you should try harder.

          (speaking as someone who had to let someone go because I wasn't good enough to make them better... on two separate occasions... so I'm not judging)

      • By hnlmorg 2025-03-2315:57

        I have managed a team in an organisation that used Jira heavily to measure velocity and having all contributors record time on tickets, even if they were just supporting, did actually help lots:

        1. It allows for more accurate estimations (ie this is not a multi-day task but it is a multi-person task)

        2. It showed where knowledge transferring was happing

        3. It showed that people were busy so that it meant we were making accurate estimates to begin with.

        I do think Agile can get overly prescriptive. But if you do happen to work in a company that operates that way, pushing back might be impossible. So having multiple participants record their effort against the same ticket then allows a more organic way for the team to operate despite the rigid structure of a stricter scrum dynamic.

        Or in other words: sometimes you cannot change the system entirely so you’re next best option is to tweak it so it at least better works for you. And that’s what the GPs suggest achieves.

      • By throwaway7783 2025-03-2314:591 reply

        While a number measuring productivity may not work, I read the GP as simply recording contributions.

        I like that approach. Now you can not only have peer recommendations, but also tangible records.

        • By JohnMakin 2025-03-241:30

          In large org, i saw people quietly move up the ladder this way by being visibly effective even if their outright contributions may have been difficult for nontechnical or understaffed management teams can see. it’s an essential survival skill, not making any case whether or not it’s right to begin with - I often navigate these systems because I have to.

          you will of course have people gaming the system but peers tend to realize what is happening there, and that’s a management problem IMHO

      • By Izkata 2025-03-2317:52

        More like bug/case tracking is crap on this. All the ones I've ever used only support one assignee, so even in equal pair programming you have to choose who officially gets the case.

        They're suggesting working around the case tracker, not around the metric.

      • By cyberax 2025-03-2318:06

        > This in fact makes the problem worse, because a) you admit the metric is shit and does not reflect work

        It's just like in physics: "all models are wrong, some are useful". All metrics are wrong, but some are useful when they are correctly applied.

      • By TZubiri 2025-03-2320:50

        In a company or any business you need to deliver something, if you are being paid X amount of money, the payer needs to know they are getting something in return, and it's not a management problem that they ask what was done this week.

      • By johnnyanmac 2025-03-2412:28

        GP is orking off the assumedly common premise of peopel raising complaints of metrics and getting shrugs from management or Product. Who have their own incentives to keep them up.

        if you can't throw out the game you may as well adjust the rules.

    • By dedup 2025-03-2315:072 reply

      That's how you get individuals who insist that you attach their name to your ticket (or better yet, do it themselves) after they helpfully inform you about an automated test failure in your commit. "Relentlessly mentoring team members on culture of quality" et cetera.

      • By compiler-guy 2025-03-2315:35

        Exactly. If you don’t consider how people might game the system, you are in trouble. Little fixes like this open other possibilities for gamesmanship and now people fight over whether their contribution was good enough to be included in the ticket.

      • By johnnyanmac 2025-03-2412:32

        I mean, all of this is gamable by those who want to minmax. But this is a workplace and those kinds of abuses can be solved with a slap on the wrist 80% of the time.

    • By Clubber 2025-03-2314:182 reply

      You're absolutely right, but some people just refuse to play silly games. It's odd that the manager isn't ever in the room with the team and doesn't understand his team's dynamics. Giving the benefit of the doubt, he must have been new, but any manager worth his salt will ask people on their team what the team dynamics are.

      • By BigGreenJorts 2025-03-2314:54

        My understanding is that metricizing like this is a tangible way for managers to defend "underperforming" team members to upper management. Your manager can always say you're a valuable member of the team and that will certainly go quite a way, but it's even more powerful if your manager can say, XYZ is an I valuable team member, if you need evidence of that, they provide a lot of value in supportive roles like on these tickets. [Listing tickets].

      • By throwaway7783 2025-03-2315:011 reply

        Agree on silly games, but this is simply acknowledging others' contributions. I think this should be encouraged in general, metrics or not

        • By Clubber 2025-03-2315:38

          I agree. I think it's pretty absurd that the manager was all set to fire him just based on metrics. There's a quote that I'm going to horribly paraphrase that goes like, "when you can measure something, that ends up being the only thing that matters."

          At least he asked the author his opinion first.

          Having said all that, if he took it upon himself to be a mentor to other developers and didn't do any tickets himself, that seems a bit odd, unless it was explicitly decided/communicated that would be his role. I would think roles like that are half time mentoring and half time doing tickets, but I don't know enough about the team to judge it. Like I said, I'm assuming the manager was new to the team.

    • By ryandrake 2025-03-2315:246 reply

      I'm actually shocked that Tim, himself, knowing the metric exists and was going to be used in firing decisions, did not attach himself to all these tickets in the first place. Talk about a lack of self-preservation. Everywhere I've seen that measures performance by some metric, everyone instinctively tries to pump that metric all by themselves. No other motivation required.

      • By neilv 2025-03-2315:361 reply

        Not everyone will play the metrics games.

        Some people will just find the metrics dumb and depressing, and avoid them. (As might've happened in the article.)

        Some assume it will go away in time, or that their manager will cover for them. (As eventually happened in the article.)

        Some have behind-the-scenes talks with managers+execs+HR, to end bad metrics.

        Some will melt the metrics with the intensity of their look of disapproval. (Management ProTip: this level of will is better harnessed to solve business and engineering problems.)

        • By ModernMech 2025-03-2317:441 reply

          Yup, I didn't play the metrics game, and I got burned because my metrics don't look as good against the co-worker who plays the game. The cost is having to remind everyone how much work you actually get done and how much you actually support the team when those "your metrics tell us you're not doing enough" talks come up.

          • By ryandrake 2025-03-2317:541 reply

            I've resigned myself to the reality that every employer is basically the same in this regard. You need to be spending 25-50% of your time doing your actual work and 50-75% of the time doing all that political and self-promotion and metrics-chasing work so that you can "show your impact" or whatever the hell your company calls it. This has been the case at literally every job I've ever had. If you just go in as an expert and do the technical work you were hired to do 100%, you're going to have a bad time career-wise.

            • By ninalanyon 2025-03-2319:23

              > every employer is basically the same in this regard.

              This really isn't true. At least it's not true of companies I have worked for in Europe.

      • By jofer 2025-03-2315:46

        That's a very personality and culture related phenomenon. A lot of folks will, but also a lot of folks won't.

        Pointedly not playing the game when you have the political power to do so is often the most effective way to point out issues in the system that folks are being evaluated under. It can be a very wise move in some cases, as well.

      • By hyperhello 2025-03-2315:37

        Tim probably realizes that if he tries to get on tickets he’s helped with, he’ll probably end up on maybe 30-50%. If he never asks for credit, and yet is seen constantly working, people will inflate the zero to hallucinatory levels of productivity.

      • By mystified5016 2025-03-2414:36

        I consider myself a Tim here. My value is not primarily in my individual contributions, but how I eleveate the rest of the team.

        If my manager demanded this type of bean counting, I'd just take my talents elsewhere. I'm not interested in that kind of game. I'd take the severance and go find a new team to make better.

      • By taberiand 2025-03-246:381 reply

        Sounds like Tim's in a position where he knows he's appreciated by his team and enjoys his work, and is more than skilled enough to jump ship the second upper management decides to upend that. He has no reason to play the silly metrics games

        • By johnnyanmac 2025-03-2412:35

          Yeah, Tim would be poached in days if he leaves for whatever reason. People with that kind of genuine talent or passion to just help make everyone around them be a better version of themselves don't worry about being out of work long.

      • By franktankbank 2025-03-2316:06

        Play the game and any number of management fuckends will prop themselves upon your shoulder. Unless youre into that sort of thing.. no judgment..

    • By TheRealPomax 2025-03-2318:52

      Both "trivially" and "fixed" are doing an incredible amount of heavy lifting here.

    • By JTbane 2025-03-2314:57

      That doesn't work with automated metrics, whomever is assigned the work item gets all the points.

    • By natnatenathan 2025-03-2415:091 reply

      Tim's problem is that he has a bad manager. One of a manager's core jobs is to communicate upwards the value that each team member is providing (or not providing). His job was to ensure that Tim's contribution were reflected and visible.

      • By stronglikedan 2025-03-2417:27

        According to TFA, that's exactly what the manager did.

    • By MarcusE1W 2025-03-2317:10

      In football you track not only the goal scorers but also the assist (the person who passed the ball to he goal scorer). That still does not cover all contributions, but maybe that's a way to create more transparency for Tims case ?

    • By mrweasel 2025-03-2315:341 reply

      That's an intersting point. I don't recall ever seeing a ticketing system where you could assign a ticket to multiple people.

      • By dedup 2025-03-2315:50

        In one of the systems I worked with each ticket had an "assignee" (who did most of the work), a "tech lead" (who knew what's going on and could provide status and guidance), and an "executive owner" (the person you'd escalate to if needed). I suspect those were custom fields and schema could be extended further if desired.

    • By thr0waway001 2025-03-241:09

      Ah, the "Quentin Tarantino presents" pattern. Nice.

    • By szundi 2025-03-2317:41

      [dead]

  • By NalNezumi 2025-03-2314:302 reply

    Glad to hear that Tim stayed and author managed to steer the entire process towards the right direction. Which requires a listening manager.

    I experienced the "bad ending" of this productivity metric trickle down: OKR. This startup wanted not just team-based 3-month review Objective Key Result but also individual one, and on top of it, tied stock option to OKR. It was a robotics startup so very cross-domain teams (Software, Hardware, Embedded, DevOps, HW design, HW testing, HW maintenance etc etc).

    The result? Developers became lonely islands. There were no "Tim" anymore. When I (Software Integrator) encountered an issue, that I just couldn't figure out but had a hunch it must be a deep-rooted issue, went to the expert (control/kinematics) for feedback. The answer I got was "I'm sorry I really want to help you but my OKR deadline is very close, and I simply don't have time". He could've probably fixed it in a day or less, but it ended up taking 2 weeks.

    The problem turned out to be quite deep: inside layer upon layer of C++ mega monorepo, I found that boost library and a custom kinematics library had implicit struct copy and the different libraries (more than two) used different order for representing translation & rotation (xyz, rpy, Euler, Quaternion) and all of the ordering of each components were different. Somehow over 2 years of operation nobody got troubled by this until our new team had to use it.

    Afaik I reported it to the Software team, but again, because OKR, nothing was done about it.

    • By bipson 2025-03-2317:221 reply

      I think just because this startup botched OKRs they still make a lot of sense.

      Intel and Google apparently relied on them heavily in their formative years. But:

      - they should be cascading (so conflicting OKRs between departments should not happen)

      - you should never, ever tie them to individual performance results/compensation/rewards

      • By YZF 2025-03-2319:211 reply

        My sense was OKRs came later for both Intel and Google. Do you know around what year/size they started?

        I worked with some ex-Google person who tried to get us to use OKRs. That totally didn't work. Larger company.

        Like many things I don't think they're necessarily a bad idea it's just that good ideas always lose to culture. With the right culture/leadership it's not the process that matters. I.e. OKRs aren't going to fix an organization that isn't aligned and conversely there are infinite other ways to align an organization with the right culture and leadership. So in practice, like other things, it just ends up making things worse because it's never a real fix.

        • By dilyevsky 2025-03-241:47

          Google started using okrs at under 50 people because one of the board members was intel veteran. Not sure about the early years since i wasn’t there for that regrettably but in 2011 when i joined my impression of okr process was that it’s complete and utter bs and giant waste of everyone’s time. iirc google+ hit their okrs swimmingly…

    • By jrs235 2025-03-2316:27

      100% this. Want to sacrifice team output? Have team members be concerned about individual goals. Team alignment and synchronization will be off affecting the efficiency and effectiveness of that team's performance.

HackerNews