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

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

    5. Re:What crap by Call+Me+Black+Cloud · · Score: 3, Insightful

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

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

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

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

  5. 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.
  6. 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.
  7. 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
  8. 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.
  9. 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.

  10. 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 ;-)