Wednesday, July 02, 2008

The dumbest idea ever

I just came across this product called Programeter. There are only two possible market segments for this product.

  • Managers who have no friggin' clue of what programming is

  • PLAIN DUMB FUCKING IDOTS.


Now that I have got your attention, lets move on. This is what is displayed as their sales pitch. Look at the first item on the list.



  • Companies have merged and you need to decide what 15% of programmers to let go?

  • Your consultancy firm needs an estimation report of your client's programmers next week?

  • Need to double check your team leader reports by actual data?

  • You are a newly assigned project leader and NEED to know what's going on in your team?




Most companies should already know this. Any productivity measurement for a programmer can be cheated. If you have made a mistake in your recruitment, its already too late. There is no way around it. So stop recruiting people by the truckload. Look for good people with all round skills. Learning a new language or a technology platform is not difficult for a good engineer. Unfortunately, the entire Indian HR recruiting industry does a little more than keyword match to select potential candidates. Every HR Manager working in a software company must read "Smart and Gets things done".

If you already have the wrong people on board long enough, you are doomed. And one way of knowing that you have a wrong person long enough is to ask your middle management on their views of using Programeter. If they give a glowing recommendation of the product, fire them.

28 comments:

Chii said...

also take note of this article http://steve-yegge.blogspot.com/2008/06/done-and-gets-things-smart.html

Anonymous said...

Whine, bitch, whine. What's the matter? Afraid this tool would expose you as all talk and zero work? Don't worry. With your "knowledge" you won't be working in the industry ever.... yes, I'd like fries with that.

Anonymous said...

@anonymous: Feel free to take swipes at people from behind your shield of anonymity. It does nothing for your credibility.

This software has so many failure modes it's not even funny. It identifies programmers who are less productive. Well, what if they're working on convoluted code or convoluted problems? They'll look less productive, but automated software won't detect that.

It identifies programmers who don't have "breadth of knowledge". So imagine management firing a programmer who only works on one system only to find out that they're the only ones who knows that system?

And this software identifies "team friendliness"? Give me a break.

Ooh, and I love the "density of comments" bit. I often find myself stripping comments when I've rewritten the code to not need them. Guess I'd lose!

So many of those ridiculous metrics can be gamed or simply give useless statistics. If you think this tool is worthwhile, then you're probably a PHB or an inexperienced programmer (and worse, you won't realize you're either one).

Software cannot solve the fundamental need of managers to be managers.

Anonymous said...

LOL, You guys really need to take a chill pill. Boy can you feel the tension in here. LOL

JT
http://www.Ultimate-Anonymity.com

Anonymous said...

what's an Idot?

recursive said...

Illinois Department of Transportation

Tom Ritchford said...

I'm going to play Devil's Advocate and say that these are hard numbers with a specific meaning and as long as you don't lose sight of that, it could be quite useful.

Yes, of course sometimes it takes a brilliant programmer a week to find the right single line of code (for bug fixes, for example). That's fine as long as you take these as "metrics" and not "more is better".

I have to say that in every organization I've been in past a certain size, there have been individuals who contributed little to the organization and you knew as a programmer in the trenches concealed their lack of work with a lot of talk. If you aren't getting to review the code yourself, detecting such a subterfuge is hard.

On the other hand, I have no doubt that this will mostly be used to for stupid and evil purposes. ("Why is Jenkins writing ten times as many lines?" "Well, sir, I'm working on the Reed-Solomon codes, and he's checking in automatically generated GUI programs." "I don't want to hear that, more lines or else!")

Anonymous said...

Extremely retarded. Extremely.

I'm at loss for words.

Anonymous said...

Idots are stupd!

Anonymous said...

I have to say that in every organization I've been in past a certain size, there have been individuals who contributed little to the organization and you knew as a programmer in the trenches concealed their lack of work with a lot of talk. If you aren't getting to review the code yourself, detecting such a subterfuge is hard.

You answered your own question there. After a merger, the first thing to do is go through management and get rid of folks who are using a line-counting tool to measure their programmer productivity instead of code reviews.

Managers don't even have to be developers to do this - just set up peer code review sessions every so often and everyone has to put their latest function point on the screen for discussion. Managers can just observe the interaction and figure out who's not pulling their weight (a side benefit is that the threat of this may make individuals who tend towards laziness get more done)

Anonymous said...

Innovative Design Optimization Technology

Anonymous said...

I actualy think that in the right hands this tools can be useful.
It's better to have the sumarized data than not to have the data, what you/the manager do with it is another issue entirely. Obviously you can't fire people based on some automatic analysis of the SVN repository, but it might give you indication of things to check further.

Anonymous said...

I love how in the graphic there are two employees in Bangalore and only one in Boston... *rolleyes*

Anonymous said...

hey - someone will make money on this because in general "babies need a babysitter".

btw...there was no tp in the can so i used your TPS report to wipe my a$$

Anonymous said...

Here's the problem with loc's (lines of code)



K&R C has the following prototype style:



(1) int

(2) main(argc, argv)

(3) int argc;

(4) char *argv[];

(5) {



While these days, you can do this:


(1) int main(int argc, char*argv[]) {





Wow, Programmer 1 is magically five times more productive simply for using an older coding style.





Additionally, the system rewards those that write bloated code that may be slower, more convoluted, and poorly designed.



So the people staying on board will write bad, slow, hard to maintain code in 1985 style.



Mission Accomplished!

Anonymous said...

The real question is if you have Programeter, why do you need a manager?

Anonymous said...

But it's got a cool icon...

Anonymous said...

I don't know about you, but the thought of some system out there having direct access to our source code is not exactly comforting.

Jordi said...

It might be useful if used correctly. Maybe you could measure some people and projects for a while and then with those numbers, you could do things like this:
1) If someone seems a lot less productive than the rest, talk to him, find out why. (maybe he just writes better, more compact code)
2) If someone the metris on someone have been constant for a while, and suddenly they drop/rise, that might be a reason to look into it.
3) You could maybe compare ratios of measures for different people for different projects. If person A seems to be working on 80% of his usual "productivity" on project 1, and person B at 90% on project 2, maybe if you switch them, you will get above 100% for both of them.
4) and probably more...

You can probably easily do these things with reviews and a lot of conversation, but the thing is that a tool could automatically detect when something is worth looking into. If (management) resources this may help the organisation.

Anonymous said...

Ya, this seems pretty sad... But somehow I'm sure somebody in management has bought into it.

xk0der said...

WTF! ... I guess they should run the software on their code and publish the results! :) ... that would be a good point to start with .... Really man ... who came up with such a crap idea ? Programeter? Gimme a break!

Anonymous said...

I thought that was a joke!

Anonymous said...

~irony~I want that!~/irony~ *scnr*

Anonymous said...

Er, Jordi, check this out:

http://www.programeter.com/opinions

Seem's you're being used as marketing material.

It really reflects the direction of the general discussion - that's why I like it.

Mark Kofman said...

I am from Programeter - hope I will survive the criticts after mentioning that ;).

There are so many questions in the post and comments, so I can't aswer all of those in just one reply. So if I missed yours, go here and post them.

But some comments are here:
* I am not sure I understand why all programmers so afraid of being measured. Would you imagine all salesmen quiting the company because of introduction of CRM? Good programmers should not be afraid of any indicator.
* Yes, I agree "stupid" managers can get it wrong. But stupid managers will get it wrong with or without Programeter.
* Lots of comments, about cheating the system. Go and try to cheat it ;) if you cheat at least 3 of our indicators during one reporting period - Programeter will quit measuring your company as a bonus ;)

if you have more questions, let me know!

Anonymous said...

Executive Summary: Measuring quantity is no substitute for evaluating quality.

Hi Mark,

The problem is that programmers ought to be measured by the functionality of the product, ability to meet deadlines, compatibility, organization, thoroughness of testing, documentation, flexibility of solution, etc.

None of these are quantities that can be graphed in any meaningful way.

Accomplishing tasks have little to do with the amount of time or effort that one exerts. Moreover, it's the way one goes about addressing the tasks at hand that are crucial and important.

Deploying such a watchdog program at all displays a complete disregard for the fundamental fact and in my mind, would be impetus for me to turn in my resignation.

Unknown said...

@Mark,

Thanks for opening up the discussion. I probably did not clarify my concerns adequately earlier. I have made up for this in an open letter to Programeter.

Anonymous said...

Java and C# programmer is not good person.