Slashdot Mirror


IBM Seeks Patent On Judging Programmers By Commits

theodp writes "How'd you like to be deemed unworthy of a job based upon a scan of your GitHub updates? That's what proposed in a newly-published IBM patent application for Automated Analysis of Code Developer's Profile, which proposes weeding out developer candidates for certain roles based on things like the amount of changes one typically makes with each commit, how frequently and regularly one makes commits, what hours of the day one makes commits, the percentage of commits with conflicts that one resolves, and the 'depth' of one's commit comments ('shallow', 'mid-range' or 'deep'). Big Blue explains that commit or repository interactions can be used to produce a 'conclusion report' that compares a developer to others who have profiles on the repository, which helps management 'avoid wasted time with ineffective developers."

47 of 182 comments (clear)

  1. What crap by Anonymous Coward · · Score: 5, Insightful

    The guy that spends a week finding a five year old memory bug, that no one has every been able to find is now ineffective, whereas a dweeb performing trivial refactoring is classed as a genius?

    1. Re:What crap by Anonymous Coward · · Score: 5, Insightful

      Programmers will just figure out how to game the system and get good reviews for their checkins. That's what happened when they tried to institute a number of lines of code metric.

    2. Re:What crap by hughbar · · Score: 3, Insightful

      Yes, exactly, at a previous job where we were presented with a mad time-recording system, we ended up writing a client to deal with it. I'm sure Friday afternoon commit++ projects will flourish. This is another version of the idiocy of counting number of lines of code per day/month.

      --
      On y va, qui mal y pense!
    3. Re:What crap by dmomo · · Score: 2

      >..The guy that spends a week finding a five year old memory bug, that no one has every been able to find is now ineffective,

      If I spent a week doing that, there'd probably be hell to pay. Point taken, though.

    4. Re:What crap by Marxist+Hacker+42 · · Score: 3, Insightful

      Or, for that matter, the other way around. The guy who finds the five year old memory bug is a genius, while the guy who is refactoring all the code to make it more maintainable and save developer hours in the future is now an ineffective dweeb.

      Personally, I want both on my team.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    5. Re:What crap by DaMattster · · Score: 3, Insightful

      This is a poor idea because ultimately it is the quality of the code being committed, not the number of the commits. You can have a high number of commits with poorly written code that has buffer overruns, null pointer dereferences, and failure to manage dynamic memory properly. This rewards someone that is sly, not a good programmer.

    6. Re:What crap by Isaac+Remuant · · Score: 2

      if the guy's name is script, then yes.

      --
      "Science can amuse and fascinate us all, but it is engineering that changes the world. " - Asimov.
    7. Re:What crap by Call+Me+Black+Cloud · · Score: 3, Insightful

      No, because everyone knows braces go on a new line!

    8. Re:What crap by mwvdlee · · Score: 2

      "Commit Judgement", from the company that invented "K-LOC" (http://en.wikipedia.org/wiki/Source_lines_of_code).

      Bad: Fixing a bug by fixing the single line of code that caused it.
      Good: Fixing a bug by wrapping the entire routine in a large if..else.. branch for handling the specific case of the bug.

      Bad: Commenting a commit with "Fixed bug #123; memory for property "foo" not released on destruction of a "Bar" instance."
      Good: Committing with "I spent all day looking for this weird thing that happenned whenever an object of the class in this sourcefile was no longer being used where allocated ram was no longer available to other objects. Turns out that when the garbage collector got around to do it's thing one of the public variables just stuck around".

      Bad: Fix a bug, test, tweak fix, test, commit fix.
      Good: Fix a bug, commit fix, code crashes, fix bug again, commit fix, some minor detail was still missing, fix missing bit, commit, add some comments, commit, test, turns out the bug was in a different sourcefile, revert fix, commit, fix actual bug, commit, add commens, commit, test, tweak fix again, commit.

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    9. Re:What crap by kdemetter · · Score: 3, Informative

      I don't think it's a good idea too automate it, and it also shouldn't be used as a selection process, because then people start to be afraid of commiting, causing them to delay it, which will result in more merge conflicts.

      On the other hand, it can be very useful at the end of a project, to discussed the lessons learned, since you have the full history.

      As a developer, I want to code efficiently, and meet my deadlines.
      I have a much cheaper suggestion : 'The Clean Coder' , by Robert C Martin .

    10. Re:What crap by Darinbob · · Score: 2

      I had a boss once who checked in code constantly. He was indeed one of the most productive members of the team, but the number of checkins far outweighed the actual productivity since he was also committing a lot of code to fix up his earlier commits. Ie, he checked code in before testing, then tested it immediately, then updated the code, plus he used the checkin as a means of backing up files sometimes. Whereas I'd wait until the code was working or at least in a workable form before checking in.

      There's another factor too. I'm a programmer but I don't spend all my day programming. There are long periods of time where I do no programming at all, I'm helping out others, answering questions, debugging core dumps, figuring out manufacturing faults, and so on. If someone is being judged on number and quality of commits then this is as ridiculous as judging based on lines of code, a programmer should not be treated like a factory floor assembly line worker.

    11. Re:What crap by hazem · · Score: 3, Insightful

      > I'm a programmer but I don't spend all my day programming. There are long periods of time where I do no programming at all, I'm helping out others, answering questions,

      Imagine now you help five colleagues solve their problems - they get the credit because they did the commits, and you get fired for being unproductive.

      I once worked for a guy who said, "be careful what you measure - you'll get more of it".

    12. Re:What crap by msobkow · · Score: 2

      You're just jealous that I peaked at 27,000 lines of code per day using my tools for a 2-3 month period. :)

      --
      I do not fail; I succeed at finding out what does not work.
  2. Tool for idiots by Anonymous+Codger · · Score: 5, Insightful

    This is a tool for idiot managers who don't understand programming and who have no clue how to manage programmers, and who want to look like they're in the loop. There's no way I'd stick around in a job where I was judged based on this absurdity.

    --
    No sig? Sigh...
    1. Re:Tool for idiots by Hentes · · Score: 4, Interesting

      This exactly. If you can't hire "efficient" coders, it might be a clue that you need more efficient managers.

    2. Re:Tool for idiots by ShavedOrangutan · · Score: 2

      Not having this tool, managers will just reward the programmers who complain the most.

      --
      Godaddy is a scam and a ripoff.
  3. What do eHarmony and IBM have in common..... by Anonymous Coward · · Score: 5, Funny

    They're both full of people who are afraid to commit.

  4. Well, who's gonna code this? by ccguy · · Score: 2

    I assume this is just a theoretical analysis. Well, eventually a team of coders will get to do it... and guess what, they'll use it of themselves.

    I expect this team to have lots of backstabbing fun :-)

  5. Good by will_die · · Score: 4, Funny

    Let IBM have the patents that way no other vendor will add theses to thier products.

  6. Re:I'd have expected better from IBM by JAlexoi · · Score: 3, Insightful

    No... They are hoarding stupid patents so that they can sue anyone who uses these stupid rules!

  7. Ineffective by Anonymous Coward · · Score: 2, Funny

    "which helps management 'avoid wasted time with ineffective developers.'"

    Does it also help developers avoid wasting time with ineffective management who use stupid metrics?

  8. Re:I'd have expected better from IBM by Kenja · · Score: 3, Informative

    Why? This is IBM we're talking about. They used to judge programmers on the number of lines of code generated rather then on the efficiency of said code.

    --

    "Have you ever thought about just turning off the TV, sitting down with your kids, and hitting them?"
  9. I'm going to patent... by spidercoz · · Score: 5, Funny
    ...judging companies by the number of bullshit patents they file.

    Business methods are NOT inventions, they do NOT advance the sciences or useful arts, and SHOULD NOT BE PATENTABLE!

    --
    "I disapprove of what you say, but I will defend to the death your right to say it." - Evelyn Beatrice Hall, re Voltaire
  10. "managers who don't understand programming" by Viol8 · · Score: 3, Insightful

    That sums up the majority of IT managers I've ever worked for. Most of them were admin/business types who'd been moved sideways from other areas and they generally would have had trouble spelling "computer" , much less programming one. But yes, this will be perfect for those sorts of numbnuts who need an easy way to "measure performance".

  11. What Multidimensional Crap! by eldavojohn · · Score: 5, Insightful

    The guy that spends a week finding a five year old memory bug, that no one has every been able to find is now ineffective, whereas a dweeb performing trivial refactoring is classed as a genius?

    The examples are endless so I'll provide another that I 1) witness monthly and 2) have been on either side of. You have the programmer that, when presented with implementing a solution to a complex problem, sits down and draws out class diagrams on paper and erases and redraws while that is cheap and writes the code once many days later and makes small changes to it as it is tested/refined. You also have the programmer that dives right in, may well discover that this was a really expensive solution though easy to code and has it constantly sent back to him after testing only to have to rewrite major portions of it and/or realize then that he/she is reinventing the wheel leading to major changes to try to use another library and, well, this run-on sentence like their work could go on forever while your first programmer was done weeks ago. And who gets the major commit and repository score?

    --
    My work here is dung.
    1. Re:What Multidimensional Crap! by Anonymous Coward · · Score: 5, Informative

      IBM employees get bonuses for submitting patents. Therefore there are always peeps at IBM cooking up some kind of crazy patent so they can get it past the patent board at IBM and get it submitted to USPTO and get their little bonus. The effectiveness of all this is all subjective and marginal. Why do you guys think IBM has the most number of patents.

    2. Re:What Multidimensional Crap! by dvice_null · · Score: 2

      - Consider a problem solver who spends most of the time helping others. That person can perhaps solve a problem in 5 minutes, which would have taken 2 weeks from a whole team.
      - Or an educator, who can turn bad programmers into good programmers by teaching them, thus increasing the development speed.
      - Or a person who can say "we don't need to spend half a year developing that, we can use this instead" and save a huge pile of money.
      - Or a person who invents a way to speed up the process and saves 1 hours a day for each developer in a project of 100 developers.

    3. Re:What Multidimensional Crap! by jedwidz · · Score: 2

      That's brilliant, I wonder if they have a patent on that scheme...

  12. Translation by davidbrit2 · · Score: 4, Funny

    "IBM Seeks Patent On Poor Management"

  13. Re:I'd have expected better from IBM by bkmoore · · Score: 3, Funny

    ...They used to judge programmers on the number of lines of code generated rather then on the efficiency of said code.

    They had to change their metric, or programmers would stop using loops in order to get a raise.

  14. So once the algorithm is made... by jellomizer · · Score: 5, Insightful

    Then the programmers will just change how they comment their code.
    When I was doing consulting I got dinged because as part of my time breakdown I put Bug Fixes as a line item. After I got dinged for that (Because they didn't want to pay for faulty coding) I changed bug fixes to specification changes. They were happy with that. For the most part good employees what to be honest about their work, however if you make a system where honesty is punished, then people will start stretching the truth.

    No one has really found a good way to evaluate a programmers efficiency, mostly because if they do their job right they are not doing the same thing every day so their output will very. There were attempts of measurements like Lines of code which meant programmers started to write more verbose code and doing more copy and paste and less objects and procedures. Then they try to measure by number of projects or sub projects they produced, so the experience developers will jump on and take up the quick and easy projects leaving the ones that require more work to the newbies. Then there reporting by bugs tracked later on, now this had the problem where the developers would take so much time to make sure there weren't any bugs reported that the product never left the shelf or put try and catches that jumped over errors cases and hid the fact the bug happened only to appear in someone else section of code.

    Software Developers/Programmers do the job that computers cannot do. So it is difficult to use computers to monitor their performance just because their work is a lot less calculated.

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.
  15. IBM, Outsourcing and auto judging of code quality by roguegramma · · Score: 3, Insightful

    Considering that IBM has initiated a global outsourcing program, starting in Germany, it is easy to see how automated judging of code quality can go wrong:

    Outsourced coders tend to code much more to spec, not using their brain and being sensible, and if automated judging of code quality results in an increase of payments, they will add 10 lines of comments to a x+=1 if the automated judgement likes that.

    In addition, when I'm finished finding some bug, very often the resulting code will be shorter than the offending code. This is consistent with the true and tried concept that lines of code are proportional to the number of bugs. I wonder whether automated analysis is smart enough to detect such activity.

    --
    Hey don't blame me, IANAB
  16. The Daily WTF by doomday · · Score: 3, Interesting

    This sounds like it belongs on thedailywtf.com. So would anyone who writes copypasta look good according to these statistics? Would people who write short, carefully considered, effective, reusable code look bad? This type of application has the effect of forcing people to start optimizing their code to maximize the metrics, rather than working to produce an excellent product.

  17. Re:I'd have expected better from IBM by w_dragon · · Score: 2

    That's a good thing, right? Keeps other companies from being stupid?

  18. That's how we roll here . . . by mmell · · Score: 2
    Worst. Metric. Ever.

    But we prize form over function. Server down - that's okay. Form not completely and correctly filled out? That's a FIRING offense.

  19. They need the incentive by Sloppy · · Score: 5, Insightful

    Remember, if The computer company, who happens to hire a great many programmers, were not granted a monopoly on this technique for hiring programmers, then they would have no incentive to develop the technique.

    If you don't grant this patent, why should IBM innovate ways to figure who to hire? What's in it for them?

    It is only by forcefully preventing the other companies in the tech industry from doing things like this, for two decades, that technology as a whole can move forward.

    --
    As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
  20. 19th Century is calling by Bucc5062 · · Score: 2

    How do you patent this type of shit. It's an idea, a process, not a product. Even if it were a "product" how does it even come close to being original. Management has been using these bullshit techniques to attempt to measure "performance" since the damn 60s.

    Of course it will get a number, because the USPO has lost touch with reality. Everything is original, there is no prior act, no idea is far fetched enough to not get a patent. Hell, I remember when "lines of code" was the measurement of work. As I recall, 25 lines a day was the average. Tripe!

    If management looked at development, not as a manufacturing job, but what it really is, craftsmanship then we could do away with bullshit patents like "count the number of times Joe/Jane programmer commit changes". We craft/build programs based on specifications and were we to meet those requirements, then we did our job. Measure completion rates, over/under completion times, quality of the product, but for Heaven's Sake, grow some brain cells and get out of the 19th century mentality of counting widgets made per day as productivity.

    --
    Life is a great ride, the vehicle doesn't matter
  21. Not close enough by Asic+Eng · · Score: 4, Insightful

    I've encountered this thinking frequently: "we can't measure everything objectively, so we'll just measure something somewhat related - that's got to be better than not measuring anything."

    Sounds reasonable, but is actually wrong and dangerous. Engineers will identify what you are measuring and will change accordingly - which skews the results. And worse some will not change out of a sense of obligation or pigheadedness - which also skews the results because others do. Even if the thing you measured originally had some correlation with what you *wanted* to measure - it will no longer do that once you start measuring.

    At least they are patenting it, which should prevent others from introducing this dumb idea.

    1. Re:Not close enough by uncqual · · Score: 2

      At least they are patenting it, which should prevent others from introducing this dumb idea.

      They may turn it into a commercial product with a nice glossy cover on it that any PHB can use without even knowing what a "commit" is, let alone the contents of said commits in his/her organization.

      Perhaps what is needed is a philanthropic organization to prevent problems like this. The organization could be funded by geeks' financial contributions and geeks could submit really bad ideas which should never see the light of day. The organization would then patent the ideas, the geek would sign over exclusive rights to the patent, and the organization would then "bury" the patent -- refusing to license it but aggressively defending it against others using it for evil. Perhaps the first truly useful patent troll organization!

      --
      Why is there an "insightful" mod and why isn't it "-1"? If I wanted insight, I wouldn't be reading /.
  22. Re:Hah! by rrohbeck · · Score: 2

    Judging programmers by LOC is like judging airplanes by weight. Who said that?

  23. So this patent is good! by gr8_phk · · Score: 3, Insightful

    If you think these methods of rating programmers are faulty then this patent is good. Nobody will be able to use these faulty metrics (except IBM) because they are patented ;-)

    1. Re:So this patent is good! by mapkinase · · Score: 2

      May that's what IBM wants it for, to save humanity from stupid metrics...

      --
      I do not believe in karma. "Funny"=-6. Do good and forbid evil. Yours, Oft-Offtopic Flamebaiting Troll.
    2. Re:So this patent is good! by Anonymous Coward · · Score: 4, Funny

      If only they
      had patented
      the metric
      for judging
      code by
      number of
      lines written/
      changed/
      updated
      .

    3. Re:So this patent is good! by timelorde · · Score: 2

      or;;;;be;;;;;rated;;;;using;;;;;a;;;;code;;;;counter;;;;;that;;;;;only;;;;counts;;;;semicolons;;;;;
      [a true story]

  24. K-LOCs! by Sqr(twg) · · Score: 2

    In IBM there's a religion in software that says you have to count K-LOCs, and a K-LOC is a thousand lines of code. How big a project is it? Oh, it's sort of a 10K-LOC project. This is a 20K-LOCer. And this is 50K-LOCs. And IBM wanted to sort of make it the religion about how we got paid. How much money we made off OS/2, how much they did. How many K-LOCs did you do? And we kept trying to convince them - hey, if we have - a developer's got a good idea and he can get something done in 4K-LOCs instead of 20K-LOCs, should we make less money? Because he's made something smaller and faster, less K-LOC. K-LOCs, K-LOCs, that's the methodology. Ugh! Anyway, that always makes my back just crinkle up at the thought of the whole thing. -- Steve Balmer.

    Not much has changed at IBM since the 70s, apparently.

  25. An actually useful metric I heard was used by mbkennel · · Score: 4, Interesting

    15 years or more ago, I had a friend in a high-level consulting company (as in contract programming stars, not powerpoint pushers). Their usual m.o. was to pay 2x the going rate and expect 5x to 10x the productivity and brains.

    They had a contract with IBM fixing bugs in I think AIX or something (lucrative and endless). They shared the bug data base with IBM's own workers, who were working on the same project.

    Clever gits that they are, they mined the bug data base algorithmically to look for old bugs which were opened, had many people work on them unsuccessfully, but were eventually closed. They identified one IBM employee (out of dozens/hundreds) who was able to fix demonstrably hard bugs (that other employees had tried and failed to address) consistently.

    So, they made him an offer he couldn't refuse.

  26. Re:I'd have expected better from IBM by twmcneil · · Score: 2

    Your comment got modded "Funny". I'm uncertain if that was your intent but I can assure you that when being paid by LOC, their programmers did in fact unroll loops.

    --
    "The ferrets, they're every where I tell you!"