Slashdot Mirror


Why Coder Pay Isn't Proportional To Productivity

theodp writes "John D. Cook takes a stab at explaining why programmers are not paid in proportion to their productivity. The basic problem, Cook explains, is that extreme programmer productivity may not be obvious. A salesman who sells 10x as much as his peers will be noticed, and compensated accordingly. And if a bricklayer were 10x more productive than his peers, this would be obvious too (it doesn't happen). But the best programmers do not write 10x as many lines of code; nor do they work 10x as many hours. Programmers are most effective when they avoid writing code. An über-programmer, Cook explains, is likely to be someone who stares quietly into space and then says 'Hmm. I think I've seen something like this before.'"

114 of 597 comments (clear)

  1. As always, make yourself known by sopssa · · Score: 3, Insightful

    Programming is usually team work and as such kind of hard to measure compared to salesman who just pulls for himself. Another thing is that coders aren't usually that good at expressing themself, so it may not be obvious who is being more productive than others.

    And how do you measure that productivity? Is it the amount of code you write? What if its bad code.. Is it the quality of code? What if that shows up as less productive.. No one notices unless you make it visible and show your boss or developer that you're the man.

    But being awesome coder and making upper level see it won't get you 10x salary. It might get you a better salary, but at that point you should probably aim for developer position or boss level, because that will happen eventually.

    I know a person who used to run a application company. There was a coder who worked as such for some years, but he also took more important stuff to handle in the company. His boss always told how good coder he is and definitely noticed him over the others working there. Later he became the boss running that company, when the old one stepped down and only owned the company anymore.

    But want to just work as an average coder? Expect average salary.

    1. Re:As always, make yourself known by Anonymous Coward · · Score: 2, Funny

      Thanks for the recap of the summary.

    2. Re:As always, make yourself known by JWSmythe · · Score: 4, Insightful

          But, code is a product, and expected to be created. The value is obvious when it's completed, but still worthless to the bean counters until someone in sales sells it to a customer. The more customers they sell the code to, the more profitable it's become.

          The thanks never comes down to the programmers. When the product is completed, it's likely they'll be let go, since no more work needs to be done. The sales staff could continue selling it for years, and making a profit.

          I was told, I have to be able to sell the product. That's not where I want to be. I like creating things. I prefer to leave it up to sales to make it profitable. Unfortunately, the way most bosses run the show, development will always be a negative cashflow area, and sales will always be positive. In that, they consider development bad for the company, and forget that without our work, they'd never turn a profit.

      --
      Serious? Seriousness is well above my pay grade.
    3. Re:As always, make yourself known by rolfwind · · Score: 2, Interesting

      And how do you measure that productivity?

      Perhaps instead of trying to measure productivity directly, it could be done in other ways. For instance, there needs to be a project done - get two small teams together to tackle it: the first that gets a functional prototype done has their Tech. Dir. given the job, as well as being able to assemble his team from both. Notice which people always gets to be chosen on a team in both phases, promote those people, and let go of the people never chosen.

      Sure, that may be a bit of a popularity contest in the second phase (not so much the first) but then again it's about teamwork and coding already has too many "uber-genius" prima donnas that are a nightmare to work with.

      If managing were as easy as reading a guage that said "PRODUCTIVITY", you might as well get rid of the expensive managers and have a monkey read it.

    4. Re:As always, make yourself known by sopssa · · Score: 2, Insightful

      That's probably where the term "code monkey" also comes from. It's sad but true. The only solution probably is to start your own company, or do things independently. However that usually requires you to create the idea too, not just following specs. But theres on good thing - on internet age it's easy to get marketers for you who promote the product for a share of income (CPA marketing).

    5. Re:As always, make yourself known by BrokenHalo · · Score: 2, Informative

      In other words, the work of a true programmer is beyond recompense: for citation see The Tao of Programming

    6. Re:As always, make yourself known by PopeRatzo · · Score: 5, Insightful

      No worker in America has pay which is "proportional to productivity". That's not how our system works.

      As long as you've got CEOs making 200-400 times the pay of the average worker in the same corporation, it is impossible to have any pay which is "proportional".

      The specific kind of profits which most American companies strive for, the short-term profits that they return to their equity shareholders, make it necessary to pay all workers less than they are worth. And the trend is accelerating. If the same reduction in real income for workers that started during the Reagan administration continues, in 20 years the majority of American workers will be making about ten percent over minimum wage.

      --
      You are welcome on my lawn.
    7. Re:As always, make yourself known by Intron · · Score: 5, Funny

      The thanks never comes down to the programmers. When the product is completed, it's likely they'll be let go, since no more work needs to be done. The sales staff could continue selling it for years, and making a profit.

      This is why I always leave lots of bugs in the code, and name the variables: a, aa, aAa, Aa, etc. They can never fire me.

      --
      Intron: the portion of DNA which expresses nothing useful.
    8. Re:As always, make yourself known by FooAtWFU · · Score: 4, Insightful

      When the product is completed, it's likely they'll be let go, since no more work needs to be done. The sales staff could continue selling it for years, and making a profit.

      Software that's finished in finite time? (Forever-finished, not just this-release-finished.)
      What a concept! Exactly what segment of the industry are you working in over there? If my organization stopped development for a year or two just to sell the existing stuff, our competitors would soon crush us handily.

      --
      The World Wide Web is dying. Soon, we shall have only the Internet.
    9. Re:As always, make yourself known by Verdatum · · Score: 2, Funny

      Yes, we all know about "Job Security". God I hate it when people who aren't me do it. They move on to a bigger and better job, but don't bother to fix the their code before escaping.

    10. Re:As always, make yourself known by Verdatum · · Score: 2, Funny

      If managing were as easy as reading a guage that said "PRODUCTIVITY", you might as well get rid of the expensive managers and have a monkey read it.

      Oh, so you've met my manager! (Hopefully he isn't reading this. If so, then, uh, lol j/k!)

    11. Re:As always, make yourself known by liquiddark · · Score: 4, Insightful

      Probably games. God knows they seem to stop working on the damn things as soon as the first blush of cash crosses the table.

    12. Re:As always, make yourself known by dkleinsc · · Score: 3, Insightful

      This very problem was written about (at great length) by some guy named Karl Marx. Basically, his point was that the capital owners will always pay their employees less than they're worth to the capitalist, because that creates profits.

      --
      I am officially gone from /. Long live http://www.soylentnews.com/
    13. Re:As always, make yourself known by uncqual · · Score: 4, Funny

      This is why I always leave lots of bugs in the code, and name the variables: a, aa, aAa, Aa, etc. They can never fire me.

      Hey, Intron, good to hear from you again. Seriously, we are really sorry we never sent you your last check after we fired you (your code had a bug in it which corrupted our terminated employee database beyond repair so we didn't have your address anymore).

      --
      Why is there an "insightful" mod and why isn't it "-1"? If I wanted insight, I wouldn't be reading /.
    14. Re:As always, make yourself known by BitZtream · · Score: 5, Insightful

      Another thing is that coders aren't usually that good at expressing themself, so it may not be obvious who is being more productive than others.

      Bullshit. Good programmers are great at expressing themselves, thats what programmers DO. That excuse is made by crappy 'programmers' who are really just introverts who aren't actually good at programming but rather are even worse at dealing with other living creatures.

      A programmers job is to take an idea and express it in a way a computer can understand. All we DO is express ourselves, if you aren't good at expressing yourself, you aren't a good programmer.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    15. Re:As always, make yourself known by TheRaven64 · · Score: 5, Funny

      A programmers job is to take an idea and express it in a way a computer can understand

      Half right. A programmer's job is to take an idea and express it in a way that both computers and humans can understand. If only a computer can understand it, you might be a Perl programmer.

      --
      I am TheRaven on Soylent News
    16. Re:As always, make yourself known by DeadDecoy · · Score: 3, Insightful

      Or like someone who wants to buy a sammich from Subway. Oh you don't give them $20 for a footlong sub? Greedy pig.

      Your comment is sadly, more insightful than someone quoting Karl Marx. Individual customers try to maximize the utility of their dollar by buying the cheapest thing and as a consequence lower the value of another person's work. When everyone does this, wages get minimized. Hence, outsourcing is popular because we can usually pay cheaper wages to someone else. CEOs who do the min/max-ing get paid a lot, but how much they're paid is probably small compared to how much they save; usually in the short term. Though the nice thing is that this helps produce the most amount of work and goods can be distributed efficiently. Wee capitalism. There are probably some corner cases where this model breaks, hence government regulation tries to establish a baseline pay so low-skill workers don't get too screwed creating subclasses and pockets of poverty.

    17. Re:As always, make yourself known by FooAtWFU · · Score: 2, Insightful

      As long as you've got CEOs making 200-400 times the pay of the average worker in the same corporation, it is impossible to have any pay which is "proportional".

      This sort of analysis of the business is pretty shallow and based more on emotion and prejudice more than reality and facts. I don't think it's utterly beyond belief that a good CEO can make deals with other bigwigs and boost the company's bottom line at least 200x as much as an average worker can. Furthermore, I think you seem to be conflating the portion of value which is created by the corporate structure (and its access to capital, and its ability to shoulder risk, and its stability in being there for its clients, and its economies of scale) with "exploitation of the worker" (which still may be present, but is probably less than what you're making it out to be).

      But then, I suppose I'm wasting my breath: who would ever want to sully political rhetoric with a modicum of rational thought when dealing with a nuanced issue?

      --
      The World Wide Web is dying. Soon, we shall have only the Internet.
    18. Re:As always, make yourself known by NeutronCowboy · · Score: 2, Insightful

      A programmers job is to take an idea and express it in a way a computer can understand. All we DO is express ourselves, if you aren't good at expressing yourself, you aren't a good programmer.

      If I understand you right, you consider expressing yourself in a computer-understandable fashion makes you good at expressing yourself. I would like to introduce you to the rest of the world, where being good at expressing yourself is measured by how well other people understand you. People, not computers.

      I find this to be a common error among programmers.

      --
      Those who can, do. Those who can't, sue.
    19. Re:As always, make yourself known by Anonymous Coward · · Score: 2, Insightful

      20 years the majority of American workers will be making about ten percent over minimum wage

      If you do not want this to happen, then clearly the answer is to quit raising minimum wage.

      The specific kind of profits which most American companies strive for, the short-term profits that they return to their equity shareholders, make it necessary to pay all workers less than they are worth.

      This statement demonstrates a fundamental misunderstanding of how business works.

      First, only a portion of profits are "return[ed] to equity shareholders". For example, GE has had net income over the past three years of $17-22 Billion, but only returned $10-12 Billion in dividends, and they give an unusually high percentage of their profits back to the shareholders (Counter example would be Hewlett-Packard, which has had net income of $7-8 Billion dollars, but returned to their shareholders only $750-850 Million).

      The decision to pay out dividends is controversial. Some shareholders expect a rise in dividend as a statement of confidence by the board. Others feel that dividend payment is a statement by the company that "You can do better investing elsewhere" (as my business school prof used to say).

      Regardless, the board's decision as to how much they want to return to shareholders has almost nothing to do with how much is paid to the worker.

      A case can be made that it is impossible "to pay all workers less than they are worth", as you said. This is because "worth" is determined by how much the worker is paid. Or a better term might be "market value". A worker is "worth" what the market will pay for his or her services. Companies and workers negotiate salary (you affirm your salary agreement every day you show up for work). If the worker is not being paid what they are worth, they will accept the wage that they are worth somewhere else. (Sure, there are switching costs to the worker, but there are tremendous switching costs to the company as well, to recruit and replace workers - no one wants to do that unnecessarily).

      You may be confused by comparing the worker's wage to the value of that worker to the company. And yes, the value to the company should always be greater (in the long run) than the wage, or there's no sense in hiring the worker. In a sense, it's every worker's job to provide more value to the company than their cost. (The exception might be short-term situations, like a worker in training, but the company's full expectation is that after the training, the employee will provide more value than cost.)

      You seem to have an objection to paying a CEO "market value", if that market value is 200-400 times the pay of the average worker. I've heard this sentiment before. If this sentiment is widespread, it seems to me that you and others that think like you would start businesses (or fund businesses, or buy a significant stake in a business) such that severe CEO salary limitations could be implemented by you and your board. Play out that scenario: You would quickly find that your pool of CEO candidates would be small. Further, if you did find a CEO to take the below-market-wage, and he or she were successful, you can bet that he or she would be quickly recruited to a "market-wage" position with another company.

      Your ideas are intriguing to me and I wish to subscribe to your newsletter.

      Should a shortstop get paid $20 Million a year? Is he worth it? Well, as long as fans are willing to pay seat prices, and the value to the team exceeds his cost, then of course he's worth it. Am I envious? Not to the extent that I would wish to limit his wages!

    20. Re:As always, make yourself known by Opportunist · · Score: 2, Informative

      It's not just pockets, it's a mass phenomenon. Simply due to the laws of the market: Everyone is looking out for their own, personal goal. Companies want to produce cheaply to maximize profit. People want to buy cheaply to get the most for their money. This works as long as customer and producer are in the same trade circle. If I produce something, I get paid by whoever buys it, thus enabling me to buy something else and so on.

      The system breaks if there is a net cash flow away from a group of people towards another one, as we have now with outsourcing. Wages go to China, while sales are supposed to be done in the US. And that cannot work in the long run. Where should US people take the money from to buy the goods if they get no wages?

      Essentially we're looking at the same problem that created the economy crisis of the 1930s. Production cost being minimized, wages being minimized to the point where nobody could afford anything but the bare essentials and thus eliminating the market for the produced goods. Today we have the same situation, except that wages are not minimized locally but sent abroad altogether. The net outcome is the same, people with no disposable income to buy the goods and keep economy running.

      It's of no use to produce cheaply if there is nobody who could buy it. Whether you can sell for 100 or 150 does not matter if all I have is 10.

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    21. Re:As always, make yourself known by StikyPad · · Score: 2, Funny

      But then, I suppose I'm wasting my breath: who would ever want to sully political rhetoric with a modicum of rational thought when dealing with a nuanced issue?

      Indeed, the lack of rational thought surrounding the issue is simply staggering. Wait, hold on... You're typing with your breath?

    22. Re:As always, make yourself known by Grygus · · Score: 3, Insightful

      I do not understand your argument.

      Just because the CEO's work results in a larger financial transaction doesn't mean he is more productive; he's just doing his job, same as the coder. If they both come in and work hard for eight hours every day, their productivity is equal. The CEO needs to be paid more because the requirements are higher; the position seeks to attract the most applicants in an effort to attract the most qualified applicant. Beyond the amount of money needed to affect that attraction, CEO pay is both wasteful and unfair.

      I don't claim to know what that amount should be. Perhaps a CEO really should make fifty or a hundred times the highest paid coder, though I would guess it should be significantly lower. Currently CEOs are routinely pulling down up to four hundred times the average worker's salary. That is obviously too high, and is the result of business forces that have nothing to do with fair compensation or the worth of a CEO, any more than housing prices set by the market were based in reality.

      The CEO has no deal to make if not for the workers. He is not some Adonis from on high come to save the company and create money from thin air. He is a representative. His talents can have great value, but with very few exceptions his impact in real terms is going to be overshadowed by that of hundreds of workers. If this weren't the case, nobody could ever successfully strike.

      Bank tellers handle a lot more cash in a given day than any programmer but are paid considerably less, so worth isn't based on the amount of money you move around.

      Can you explain why a CEO is always more productive than any of his workers? Surely with the gap in salaries there is no room for overlap; he must always and without exception be a far more effective worker. How can this be true?

    23. Re:As always, make yourself known by Sabriel · · Score: 5, Insightful

      Oh, what the hell. I'll say it. That "good CEO" couldn't do the job without standing on the shoulders of everyone underneath. And emotions are *important*, because otherwise we'd be a bunch of robots (and some CEOs would love that, darling little sociopaths that they are).

      Ability to shoulder risk? Stability? How many billions have we had to throw away on bailouts because a bunch of those CEOs turned out to be incapable of giving a damn about the risks - to other people - of destabilising the economy?

      Frankly I don't think many here would mind that CEOs can make many times average worker pay if they didn't also see CEOs sailing off in their new yacht/plane/limo while the company retrenches a quarter of its workforce because times are "tough"...

      Gross disparity during adversity (whether real or PR snow job) is poisonous to morale - and, for those who insist on "rational analysis", also to productivity.

      Finally, I do think there are good CEOs out there. More than the bad. But it doesn't require a lot of bad ones to break the system, and when the system itself rewards sociopathic behaviour, that's not good and does not bode well.

    24. Re:As always, make yourself known by FauxPasIII · · Score: 2, Funny

      Seems you're also a big Uncyclopedia contributer, too..

      http://uncyclopedia.wikia.com/wiki/AAAAAAAAA!

      --
      25% Funny, 25% Insightful, 25% Informative, 25% Troll
    25. Re:As always, make yourself known by jc42 · · Score: 5, Interesting

      The thanks never comes down to the programmers. When the product is completed, it's likely they'll be let go, since no more work needs to be done. The sales staff could continue selling it for years, and making a profit.

      Actually, this is the way that "creative" professions have generally worked. Consider the typical sculptor or painter. Even those that reached a level of fame have usually been paid only once for each creation. It is then owned by the client, who can resell it and not give the creator any part of the sale. There are a few countries that have dabbled with royalties for resale, but this is rare, and the royalties are typically small. The real profit from art goes to the sponsors and investors.

      Authors and musicians have had some small success in getting royalties for their work. But this is most often "honored in the breach". It's well known that recording artists don't get any royalties at all, and may lose money, unless the recording sells around 1.5 to 2 million copies. Before that, all the income goes to the owner of the recording, which is the corporation that produced and marketed it. Even after a recording reaches the profitable stage, the artist typically gets only a few percent of each sale. The situation is similar with authors, who may be paid a small "advance" before production, but rarely makes a profit until several million copies have been sold. Most writers have worked for corporations such as newspapers or other periodicals, who pay a salary and claim all income from sales.

      The movie industry has a few showcase stars who have made a small fortune in royalties. But most actors are "starving artists" who have to work at part-time jobs to get rent and food money. Movies are owned by the producers, not the actors. The few stars are held out as bait to attract the many workers who will never be stars and will never make a decent living from their creativity.

      Software programmers like to think that they're something new that the world has never seen. But in reality they are merely creators in a new medium, and they are treated as the commercial world has always treated creative types. They're workers who can be paid a small salary to produce, and when they produce something that sells, the corporation can claim the profits. A few stars can be paid some royalties (still only a few percent of sales) and held up as public examples to attract the many workers that the industry needs.

      Don't expect to see this change in your lifetime.

      --
      Those who do study history are doomed to stand helplessly by while everyone else repeats it.
    26. Re:As always, make yourself known by Surt · · Score: 3, Insightful

      I think the problem most people have with CEO pay is that we see them perform their jobs so incompetently, it is painful to know that they get paid so much for such lousy work. I know I could do much better, but I'm not 'qualified' for the work, so I can't get the job. I'd be happy to do the job twice as well for a quarter of the pay.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    27. Re:As always, make yourself known by PingPongBoy · · Score: 2, Insightful

      The thanks never comes down to the programmers. When the product is completed, it's likely they'll be let go, since no more work needs to be done. The sales staff could continue selling it for years, and making a profit.

      Cry me a river. If a programmer wants lots of money, let him/her make and sell a product or service. It's a free country, and anyone who aspires can make the effort. Even people who aren't "smart" or "productive" can sell vast quantities of crapola for a fortune.

      The way to measure who is consistently the best programmer is to have a long-term competition where the goals are uniform.

      --
      Know your pads. One time pad: good for cryptography. Two timing pad: where to take your mistress.
    28. Re:As always, make yourself known by PopeRatzo · · Score: 3, Insightful

      And yet a good CEO can execute a strategy that will increase profits hugely.

      But guess what? Even the worst CEO, who drives his company into the ground, is making more than 100 times the average worker, not including the fat golden parachute he's going to walk away with when he gets fired.

      If someone working the line makes a mistake and gets fired, guess what he walks away with?

      --
      You are welcome on my lawn.
    29. Re:As always, make yourself known by PopeRatzo · · Score: 3, Insightful

      In other words, a severance package is not a reward for a failed CEO. It's an incentive to hire better CEOs.

      Like most elements of "free market capitalism" this hasn't worked as advertised.

      --
      You are welcome on my lawn.
    30. Re:As always, make yourself known by Fujisawa+Sensei · · Score: 2, Insightful

      As long as you've got CEOs making 200-400 times the pay of the average worker in the same corporation, it is impossible to have any pay which is "proportional".

      This sort of analysis of the business is pretty shallow and based more on emotion and prejudice more than reality and facts. I don't think it's utterly beyond belief that a good CEO can make deals with other bigwigs and boost the company's bottom line at least 200x as much as an average worker can. Furthermore, I think you seem to be conflating the portion of value which is created by the corporate structure (and its access to capital, and its ability to shoulder risk, and its stability in being there for its clients, and its economies of scale) with "exploitation of the worker" (which still may be present, but is probably less than what you're making it out to be).

      But then, I suppose I'm wasting my breath: who would ever want to sully political rhetoric with a modicum of rational thought when dealing with a nuanced issue?

      This is part of the CEO myth. The fact that the CEO get's paid that much more is part of the myth that CEO talent is rare and hard to find. I have yet to meet a CEO or VP who actually lives up to that claim of talent and ability. There are of course, some CEOs who do live up to this, but for the most part their claim to success is much more due to being semi-competent at managing, and masters of selling their own worth. That 200x multiplier, its due to dumb luck and them taking credit for the sweat of the people below them.

      --
      If someone is passing you on the right, you are an asshole for driving in the wrong lane.
    31. Re:As always, make yourself known by geekoid · · Score: 2, Insightful

      A good CEO will make the company many times his own salary by providing business opportunities, contracts, mergers, and direction.

      Bottom line, there are far more developers that can get the job done then there are CEO's.

      The CEO does not work for the employees, he makes money for the shareholders, and as such gets rewarded. He ain't there to make you happy.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    32. Re:As always, make yourself known by JWSmythe · · Score: 2, Interesting

          This release finish is usually enough for most companies. They can thin the herd of most of their developers, keep just a very few on, and when it's time to start on the next release, hire on fresh meat for a fraction of the cost of the last crew.

          There used to be company loyalty. That's long since gone. Back in the day, if you had a job and were good at it, you would continue the job for the rest of your life, get yearly raises and promotions. Now, once they can terminate you and bring on someone cheaper, they will.

          How many people have you worked with for more than 10 years? If you've had the same job for that long, I'd be willing to bet the number could be counted on one hand. My record is 8 years. I could tell you everyone who had come and gone. There was some loyalty there, but they shifted their view and started looking at the cost over loyalty. "Oh, we can get rid of this senior guy with 8 years experience with us, for someone who doesn't know us at all, and pay less than half as much." Unfortunately, I had settled myself into being there as my long term career.

      --
      Serious? Seriousness is well above my pay grade.
    33. Re:As always, make yourself known by geekoid · · Score: 2, Interesting

      I would rather a few fat cats made off better then they should have then the entire economic system collapse.

      Took me a long time to realize that, but in the end that's the conclusion I came to.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    34. Re:As always, make yourself known by adamkennedy · · Score: 2, Funny

      > Half right. A programmer's job is to take an idea and express it in a way that both computers and humans can understand. If only a computer can understand it, you might be a Haskell programmer.

      There, fixed that for you.

      That every sysadmin on the planet pretty can learn Perl means there must be humans in that group somewhere.

      Now a language you have to be a mathematician to learn on the other hand... :)

    35. Re:As always, make yourself known by stillnotelf · · Score: 2, Insightful

      One of my coworkers wrote code which included classes "SS" and "SSs". We had a lot of fun yelling at him for it.

    36. Re:As always, make yourself known by dtfusion · · Score: 5, Insightful

      There is a very simple counter factual to this. CEO pay has grown 6 fold since 1990 (Forbes). The economy hasn't. Median salary hasn't. Have they somehow become six times rarer or six times more effective without the economy noticing? The market doesn't drive ceo salary. Productivity doesn't drive ceo salary.

    37. Re:As always, make yourself known by Opportunist · · Score: 3, Insightful

      Sorry, no sale. One of the core reasons why these jobs are shipped overseas is that the wages are much lower there. Lower than what would be necessary to purchase the goods produced. It's essentially a repetition of history, the scale is just bigger and more people are involved. In 1930, the core problem was that the factory workers earned too little money to purchase the goods they produced. Today, we have Chinese workers who don't have the money to buy the goods they produce (ok, that wasn't part of the plan anyway, they weren't supposed to buy them), but the people who are supposed to buy them can't either because they don't earn any money at all. The whole system kinda-sorta worked for as long as people had some savings to fall back. When the savings were gone, they started refinancing their homes. Now that the real estate bubble popped big time, they can't do that anymore either. People started cashing in their insurance, and if people do that in droves, the insurance and financing companies start to quiver. And, as we have seen, crumble.

      I'm quite sure that one of the core reasons for the mess our economy is currently in can be found in the offshoring of jobs. If you want a market economy to work, people have to buy. People have to have money to buy. People need jobs to have money. Companies have to offer jobs in the country they want to sell in, so people have those jobs, thus money, thus can consume. I'm no BA major, but even I know that much.

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    38. Re:As always, make yourself known by SnapShot · · Score: 3, Interesting

      ... they designed the system, got the experience and then left to either set up their own company, to go abroad or become a contractor, and leave the bug fixing to someone else.

      There used to be a solution for that back in the 90's. It was called equity ownership. If you tell a programmer, "build this app" he'll build the app. If you tell a programmer, "help build this company" then there's a good chance he'll help build the company.

      --
      Waltz, nymph, for quick jigs vex Bud.
    39. Re:As always, make yourself known by Larryish · · Score: 2, Funny

      If someone working the line makes a mistake and gets fired, guess what he walks away with?

      A patent leather shoe in his ass?

  2. This has been known for some time. by MarchHare · · Score: 5, Interesting

    See, for instance, section 2 (Productivity) of the Hacker FAQ.

    1. Re:This has been known for some time. by seebs · · Score: 5, Interesting

      I really have to get around to rewriting that some day. But it's been a loooong time, and it's translated into enough languages that I'd feel sorta bad modifying it.

      --
      My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
  3. Another contributor to productivity invisibility . by YXdr · · Score: 5, Insightful

    The uber-coder's code works the first time - it sits there silently and invisibly working.

    Meanwhile, everyone is looking at the hard work and long hours being put in by the guy who's code needs lots of help. He gets the notice, not the guy who did it right.

  4. Negative LOCs by arcmay · · Score: 2, Insightful

    Some of my most "productive" days have resulted in a net deletion of many hundreds of lines of code. Mostly this is cleaning horrendous cut & paste jobs, and refactoring APIs to dump buggy, unnecessary functionality. That one day of effort probably saves weeks of bug-hunting and spaghetti-unwinding further down the road. It would appear to be negatively productive by any naive metric.

    I'd argue coder pay should be proportional to productivity. It's just that there's no shortcuts to measuring a coder's productivity.

  5. If something is hard to measure... by judolphin · · Score: 3, Insightful

    It's also hard to reward. Also, "Paying a developer by the line is like paying an plumber by the pipe."

    --
    The Institute of Incomplete Research has determined that 9 of out 10
    1. Re:If something is hard to measure... by Ethanol-fueled · · Score: 5, Funny

      I knew a couple folks in my small development shop (~20 people) who were always being rewarded because the informal metric was lines of output. I had to take over for one of the top performers after she left for vacation. Looking through her code, I discovered that the code was merely average, much like mine. I asked another top performer if I could look through his code because I wanted to better understand his interface. His was also mediocre code with roughly the same ratio of lines to output as my code was.

      When the other top performer came back from vacation, I took the two of them into the break room and asked them why they are getting undue credit based on the "lines of output metric". They both chuckled and gave each other knowing glances before one of them said, "No, silly, it's how many lines of cocaine we bust out to the boss...see?" The woman pulled out a small bag of whitish powder, a razor blade, and a scratched-up mirror tile. The guy rolled up a 20 dollar bill, tight as a drum, and passed it to me. "Go! Go! Go!", they whispered as I bent down with the tooter in my nostril, snorting 3 medium-sized lines of sweet Columbian. I had felt a strong euphoria like 1,000 cups of coffee overwhelm my body. The guy giggled sheepishly in a high-pitched voice as he went back to work. The woman who was still with me chopped up 3 more gaggers and snorted them up before we fucked madly in the utility closet like wild beasts during the rut. Oh, what a day that was!

  6. Anecdote from folklore.org by dysfunct · · Score: 5, Insightful

    This anecdote sums it up quite nicely. Now all we need is a few more of those and we have data :P

    --
    :/- spoon(_).
    1. Re:Anecdote from folklore.org by Beardo+the+Bearded · · Score: 3, Interesting

      I pulled a codebase down from 10,000 versions to 2.

      That's right, the previous system had one different file for each of 10 pulse rates, 255 ID numbers, and a mortality switch.

      I got it down to one version for each of the two chips.

      I lost that job.

      --

      ---
      ECHELON is a government program to find words like bomb, jihad, plutonium, assassinate, and anarchy.
    2. Re:Anecdote from folklore.org by Anonymous Coward · · Score: 3, Interesting

      I have always liked this quote.

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

      The problem is design progress of almost anything is very difficult to measure, and when multiple people work on the same project it makes it almost impossible to sort out who did what. Sales does not have that problem because progress is not measured, however results can be measured before the paycheck is cut, and everyone is responsable for themself only. Design works differently, the end results are not immediately available, often you work in groups so your work can not be seperated from others. And you can't predict how far you are because you are always expecting unexpected hurdles and that is where you will spend your time. Trying to set a target will fail as well because almost nothing can be numerically measured to compute progress, for example starting over is some progress (you learned from your mistakes) yet it is not something that is really going to be useful either way to determine progress.

  7. I don't even think it's that well-defined. by seebs · · Score: 5, Interesting

    I have, on rare occasions, been Amazingly Productive. There are very narrowly-defined kinds of work where I am super fast. One of them is debugging. So, when we were doing our "no new features, clear out every P1 and P2 bug in this branch" run, I was awesome -- I regularly fixed many more bugs than anyone else. On the other hand... A lot of the time, I'm not much good. If I have a bad-ADHD week, I can have an entire day go by where I simply never quite get around to doing anything but mostly keeping up on my inbox.

    So am I super productive, or not very productive, or what? I don't know. Realistically, the answer is probably "if you give me the sorts of work I'm good at, I'm great, otherwise I'm sorta mediocre." But I'm not sure how you'd measure that.

    There's also a much more basic failure-to-apply-economics in the article. The value of something which does 10x as much is not necessarily exactly 10x. Is a monitor with 3x as many pixels worth exactly 3x as much? No. Is a video card which can render exactly 2x as many polygons worth exactly 2x as much? No. On the high end, you might see people paying 2x as much for 20% more polygons. On the low end, you might see people paying 20% more for 5x more polygons. Or there might be other factors; you might care about power consumption, or form factor, or...

    I just bought a new Eee. It's SLOWER than the previous one I was using. I paid about the same amount for it, several months later. But it has a higher resolution display, and better battery life... So is it worth the same amount? I have no clue.

    Long story short: The marginal value of the "more productive programmer" is not necessarily linear with productivity. Add in other complexities (plays-well-with-others, can do trade shows, reliable about giving feedback on progress) and general market forces, and I don't think it's just a question of measurement; I think it's largely that, in general, programmers are willing to work for comparable amounts of money, and the marginal benefits aren't as large as you might think they would be if you looked only at some measure of productivity. Even if it were a very good measure.

    --
    My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
    1. Re:I don't even think it's that well-defined. by MikeBabcock · · Score: 2, Interesting

      So am I super productive, or not very productive, or what? I don't know. Realistically, the answer is probably "if you give me the sorts of work I'm good at, I'm great, otherwise I'm sorta mediocre." But I'm not sure how you'd measure that.

      As much as programmers often hate them, this is where good management comes in.
      A manager who knows when to apply you to the project and where to put you on a team is going to get the most out of your abilities and you will both benefit.

      Unfortunately, good managers are about as hard to find as good programmers :-)

      --
      - Michael T. Babcock (Yes, I blog)
  8. Re:Another contributor to productivity invisibilit by GasparGMSwordsman · · Score: 5, Insightful

    The other item that almost everyone overlooks is that an Uber-coder writes READABLE code. If you look at what a really good programmer writes you will be able to understand what is going on, even 10 or 20 years after it was written. Unfortunately, most people suck...

  9. Re:Because it's hard to measure by base3 · · Score: 2, Informative

    besides that I thought being salary meant I was being paid to do a job, not fill a chair for 40+ hrs a week.

    You're close. Being salary means you're paid to do a job and spend >= 40 hours a week at work.

    --
    One CPU cycle wasted on digital restrictions management is ONE TOO MANY.
  10. Also by Maxo-Texas · · Score: 5, Interesting

    in addition to the factors pointed out by others there is this:

    Programmer "A" is an expert and they have a strong opinion that approach "Y" is the best approach- and it is a solid approach.
    Programmer "B" is an expert and they have a strong opinion that approach "P" is the best approach- and it is a solid approach.
    Programmer "C" is an expert and they have a strong opinion that approach "3" is the best approach- and it is a solid approach.

    I've seen A,B, and C get into very loud, very heated arguments over this (I've been programmer A at times when I thought the "solid" approach was missing something that I saw intuitively which they wouldn't accept until I proved it to them laboriously).

    Programming is not plumbing. The goal posts are subject to change.

    What is efficiency?

    Delivering a 100% perfect product 3 months late?
    Delivering a 99% perfect product 1 week early?
    Delivering a 100% perfect product 3 weeks early but then they change the scope and (as one manager said to me) say "this isn't scope creep". (I turned to my programmer and asked, "can you deliver this change by the previous deadline" and they said "no" and I asked "what date can you deliver it by, and she said 5 days later, and I turned back to the sheepishly smiling manager and said, "is that date acceptable?" -- I mention this because it's a great negotiating technique. And you avoid delivering the product later than the delivered deadline without being an ass and refusing changes).

    I've known "great" programmers who were- as long as they were the only one in the company- because they used operating system cheats that worked-- as long as someone else didn't use them too.

    A lot of great programmers fail to understand the business side of things.

    And you can never control being put on a crappy project with a bad deadline and a bad manager.

    ---

    However, fundamentally- the compensation isn't there because there are too many people willing to do the work. I do not recommend to people who ask me that they enter the IT field in general any more. It's pay is not sufficient to cover the low status, increasing lack of freedom, required holiday work, and offshoring risk.

    --
    She was like chocolate when she drank... semi-sweet at first and then increasingly bitter.
    1. Re:Also by Monkeedude1212 · · Score: 3, Insightful

      What is efficiency?

      Delivering a 100% perfect product 3 months late?
      Delivering a 99% perfect product 1 week early?

      I've always been a firm believer in the 80-20 rule. (Keep in mind its kind of like the rule of thumb, so it wavers a bit). You can achieve 80% of a programs functionality with 20% of the effort. That's 20% of bugs, which is alot, but in the business side, its only 20% of what it would take to be perfected. Most people agree thats a decent trade off. Thats where you should set the first goal post. Once you reach that goal post, something might have come up. Perhaps you'll want to work on new features that clients have requested. Bam, another 80-20 you can fire off. If there isn't anything else to add, work on reducing those bugs.

  11. What about the slow workers by PPH · · Score: 2, Interesting

    And if a bricklayer were 10x more productive than his peers this would be obvious too

    And he'd end up getting shoved off the top of a building by the bricklayers that he made look bad.

    Many years ago, I had the opportunity to assist on a s/w project to replace a (broken) legacy system. It had been identified by the FAA as not providing proper control over engineering data sufficient to maintain our production certification. And, over the years it had cost the company about $250 million to build and maintain. So we (myself and five other developers) build a new system over the course of about 6 months. It was blessed by the FAA and manufacturing loved it (it actually worked). After it was all done, my team got ....

    ...laid off.

    Aside from actual coding shops, where the s/w IS your company's product, the whole free market capitalist model breaks down. The further you are away from the finished product, the more the corporation resembles a socialist economy, where headcount matters more than productivity. And much, if not most, software is produced in this setting. MS Word may sell millions of copies, but the are more lines of code (or kBytes of executable) developed internally. My boss only had 5 people under him. He was a first level manager. The legacy system employed over 100, making its manager a unit chief over several layers of PHBs. Guess who has the political power in that organization.

    --
    Have gnu, will travel.
    1. Re:What about the slow workers by istartedi · · Score: 5, Interesting

      The kitten of capitalism is fine. It's just that it grows into a cat.

      It's not capitalism you want to get rid of. It's corporatism.

      If you've ever dealt with a private bureaucracy, you know that they can be just as bad as government. The problem is more that the organazations don't scale. Also, the tendancy for all these corps to behave in a similar way dulls the effect of competition.

      As individuals we don't have much power; but we can start by patronizing small businesses even if it costs more. Think of the added cost as a tax paid to a shaddow government, the true government of the people--the one that fights the big corporations instead of working for them.

      No, this is not communism. Communism is dead. It's a 19th century idea born out of the first wave of industrialization. We need 21st century ideas, so forget the tradtional worker vs. capitalist tension, please, Please forget it. Let's not relive that.

      --
      For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
    2. Re:What about the slow workers by DCheesi · · Score: 2, Informative

      You've got a point about big corporations. But some of the worst office politics I've seen has been in very small, privately owned businesses. You get the same empire-building, favoritism and cronyism as in big bureaucracies, plus blatant corruption and things being run on the side to line individual managers' pockets. And compared to larger companies, there aren't nearly as many options for trying to go over or around a troublesome individual.

      If a mega-corporation is like a Communist state, then many small local companies are like third-world dictatorships...

    3. Re:What about the slow workers by PPH · · Score: 2, Insightful

      You are thinking about how the corporation faces the outside world. I'm thinking about the internal organization. Dealing with the government or laws (within reason) isn't an issue.

      I've seen departments within a company misappropriate millions of dollars of their budget. Was this fraud? Theft? Nope. Not as seen from the outside world (law enforcement and the court system). Its was all internal funds, spent (as far as the legal system is concerned) on legitimate company programs. OK, so they were the wrong programs, but if the BOD doesn't want to deal with it, its a non-issue.

      Capitalism with competition? Forget about it. Very few companies (note that I didn't say 'none') have competing internal departments. Its all done based upon committee decisions, annual planning, centralized control. Just like the old Soviet Union with its 5 year plans and bureaucracy. One outfit I worked for had an internal funding scheme wherein departments 'purchased' services from each other. Management figured that this would encourage innovation. Our IT department had a price list for servers. $40,000 per month per server. We needed 6, but we (actually, I) were going to administrate them ourselves. So, could we get a discount? Nope, still $40K each. Our management didn't care, as they'd just turn around and put an additional $2.9 million into their annual budget request. Pointing out that in The Real World, co-location rack space would cost a small fraction of this amount didn't matter. Its not real money. And yes, I offered to quit and provide 6 administrated boxes in a server center for half that price. No takers.

      The problems you allude to, of the corporation's relationship with the public, arises when people who think like socialists sitting at desks on Mahogany Row every day have to switch mental gears in order to deal with external markets. I never saw more tears than those of our company execs when the Soviet Union collapsed back in the '90s.

      --
      Have gnu, will travel.
    4. Re:What about the slow workers by geekoid · · Score: 3, Interesting

      "If you've ever dealt with a private bureaucracy, you know that they can be just as bad as government. "

      actually, there usually far worse. Government bureaucracy can be figured out and has consistent rules withing that specific framework. And you can go over the head of the bureaucrat to your elected officials.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  12. People do notice by Colin+Smith · · Score: 3, Insightful

    As I pointed out previously, incompetent programmers require more servers. Their code spends more time not running, requires a larger support infrastructure to deal with the problems created and generally reduces profits all round.

    These days it's difficult to point at a specific individual, but teams are easy. You can see which teams are a group of competent engineers and which are just a clusterfuck[1] of developers.

    [1] the collective noun for developers.
     

    --
    Deleted
    1. Re:People do notice by Arancaytar · · Score: 2, Informative

      I've made 6000% profit.

      To be accurate, you have increased profits by $11.80/hour. How much this relatively increases profits is impossible to determine without knowing what the company is making in total. The 6000% figure only applies if the company was so far making an hourly profit of around $0.20, in which case it's amazing they are still able to pay you. ;-)

  13. Re:Because it's hard to measure by nine-times · · Score: 5, Insightful

    It seems to me that it's probably true that it'd be very hard to come up with good metrics for a programmer, but I think people should be more careful about metrics in general.

    Sure, you can measure a bricklayer by how many bricks he can lay in an hour, but is that really how you want to measure him? What about quality? Doesn't it matter if the resulting wall looks good? Doesn't it matter whether the resulting wall will hold together under stress?

    But now even those are pretty simple things. Let's get a little more complicated. You're a contractor and you hire 6 bricklayers. One guy doesn't seem to work as quickly as the rest, and they all give you comparable results. You fire the slow guy and suddenly all the other guys slow down. Quality drops. The client is less happy. What happened?

    Maybe if you look into the situation, you find that the slow guy was slow because he was spending some of his time communicating with the client. He was spending part of his time overseeing the other bricklayers, keeping them on task, and keeping them from being too sloppy with their work. He's been serving a vital role in your team, but you don't see that just by measuring a couple simple metrics.

    Like all statistics, productivity metrics can be useful, but they can also be misleading. You should make sure you really know what they mean before you make too many judgements on them. In evaluating your employees, it's better if you actually know your employees and have a sense for who they are, how they work, and how they fit together as a team. The value of a person just can't be represented in a couple of numbers.

  14. Precisely. by unity100 · · Score: 4, Insightful

    When i have a task. i find myself 'procastrinating' for days on end, unable to commit myself directly to writing the code. during the period, the task regularly comes to my mind in sudden, odd places, doing odd things, like in wc taking a dump, trying to go to sleep, going to the grocer's and so on. then, after a few days, i suddenly sit down and swiftly complete the task. it seems like im hatching things, dealing with the thing in subconscious before doing it.

    the good side, it works. and good. the bad side, i feel like im procastrinating and being irresponsible during the hatching period and its annoying.

    1. Re:Precisely. by chthon · · Score: 2, Interesting

      I am glad that there are other people who have the same symptoms as I, when it comes to programming. Last week Thursday I just wasted 6 hours doing nothing on my job. Friday it got better and Monday I was back up to speed. But I have the same behaviour on my own hobby projects, yes, it really feels as if you are hatching something.

    2. Re:Precisely. by shutdown+-p+now · · Score: 2, Interesting

      I have seen this described a lot by many other programmers, and often experience it myself, so I'm inclined to assume that it is, in fact, the basic nature of our work.

    3. Re:Precisely. by bblough · · Score: 2, Insightful

      Really, I think it's the nature of any creative work. See Graham Wallas' take on the creative process -

      http://en.wikipedia.org/wiki/Creativity#Graham_Wallas

  15. Hmm. I think I've... are you kidding me?????? by mswhippingboy · · Score: 2, Informative

    To me an "uber" programmer is one who does NOT stare quietly into space thinking "I've seen this before", but rather, without pausing to take a breath implements the algorithm as fast as he can type.

    It's as if the solution, no matter how complex, is already assembled in his brain and it's just a matter of spitting it out to a file as quickly as his fingers can move. It's not so much the recollection of a some prior scenario, as it is the seamless integration of numerous previously experienced scenarios as well as novel algorithms into a new cohesive algorithm that sets an "uber" programmer apart from the run of the mill code monkey. In my experience, these type of folks are few a far between.

    --
    Sometimes the light at the end of the tunnel is the headlight of an oncoming train.
    1. Re:Hmm. I think I've... are you kidding me?????? by SomeJoel · · Score: 2, Interesting

      And what, pray tell, does your uber-programmer do when he's *not* writing out algorithms "as quickly as his fingers can move"? Or are you suggesting that this tremendous programmer you describe has a near infinite workload where he's constantly typing out new and revised algorithms?

      --
      <Complete your profile by adding a signature!>
    2. Re:Hmm. I think I've... are you kidding me?????? by EWillieL · · Score: 2, Interesting

      Mmm-hmm.

      I've had to clean up after one of those guys. He'd crank out the first cut of a codebase, and I'd go through and factor out the instant cruft his stream of consciousness had spewed out. We actually made a pretty good team.

      He was (still is) brilliant, but his codebase would quickly degenerate into an inmaintainable plate of spaghetti without someone like me, and he knew it. He told me as much.

      --
      Ask your doctor if getting up off your ass is right for you! -- Bill Maher
  16. Lost me at the first sentence by PHPNerd · · Score: 2, Insightful

    The most productive programmers are orders of magnitude more productive than average programmers.

    There, fixed that for you.

  17. Re:there are Programmers then here are PROGRAMMERS by spiffmastercow · · Score: 4, Insightful

    I'd argue that there are more of them than you think.. It's just that all the hard (and cool) stuff has already been done. So the guy who 30 years ago might have developed the first viable JIT compiler is now working on some esoteric feature of some esoteric codebase that you've probably never heard of. There's a lot more programmers now than there were when those guys got their start,

    And for the record, I'm probably a better coder than Bill Gates ever was (as for a business-man, not so much).

  18. Re:Another contributor to productivity invisibilit by clodney · · Score: 3, Interesting

    Another factor is that the manager likely recognizes the uber coders, and any piece that is particularly difficult or important gets assigned to the uber coder. So their productivity may appear to be no better than others because the lead has compensated by giving them the pieces that nobody else can be trusted to do.

    One guy has great productivity creating a frequency distribution report. It works, looks good, and everyone is happy. It took him a week to do. The uber coder could have batted that out in an afternoon, but instead spent a week ensuring that histogrammer behind the report was multi-core aware and could scale to billions of data points without dragging the system to its knees. The fact that the report programmer would have floundered at that task for weeks is not going to be apparent to most people - even many other people on the team. So the uber-ness of the uber programmer is hidden by the work they are assigned.

  19. I'm not "doing nothing", I'm thinking by handy_vandal · · Score: 4, Interesting

    My dad was a programmer for the Star Tribune, back in the seventies and eighties.

    Two things he said stick in my mind.

    1. He had his own office, and sometimes he'd put up his feet and stare off into space. He told me that people passing by his office assumed that he was "doing nothing." But, he told me, he wasn't doing "nothing", he was very much doing something: thinking.

    2. When he got, say, a directive from On High that he must "write a new program for the secretaries", the first thing he did was go and sit down with the secretaries, ask them about their work, and stick around for a while to actually watch them work. He called this the "going native" phase (he took his degree in anthropology). If he'd started coding on the basis of the directive from On High, the end result would be something the secretaries didn't need and wouldn't use.

    --
    -kgj
    1. Re:I'm not "doing nothing", I'm thinking by DaveGod · · Score: 2, Funny
    2. Re:I'm not "doing nothing", I'm thinking by zuperduperman · · Score: 4, Insightful

      > 1. He had his own office, and sometimes he'd put up his feet and stare off into space. He told me that people passing by his office assumed that he was "doing nothing." But, he told me, he wasn't doing "nothing", he was very much doing something: thinking.

      I'll go even further. I have the privilege of working from home / running my own outfit.

      I frequently simply go to sleep if I feel like it. For a while I felt guilty about this, but the reality is that I usually only doze for 10 minutes or so and when I wake up I have 5 solutions sitting in my head for what I need to do next. I'm not sure how or why it works, but I can struggle through a whole afternoon feeling sleepy and doing mediocre work or I can take a 10 minute nap and be a rock star for an hour ... so I do. I wish this was accepted practice in workplaces because I'm sure productivity would rise overall.

  20. Quotas in code are as stupid as in factories! by SexyKellyOsbourne · · Score: 2, Insightful

    Programmers cannot be measured by any simple metric -- this is true. It's been debated ad nauseam for years.

    Still, I don't see why the hell people are trying. Quotas and flat numbers measuring simply by "production" are always stupid things in the long run, just as they were in factories.

    In software, they'll cause the same problems that they did at brick and mortar factories before TQM principles were established -- people fearing the data and fudging it in desperation. If this is counted by, say, lines of code produced, you had better believe it will be written in the strangest manner possible in spite of defects. But with any quota/by objective system in place, no teamwork will take place -- they'll all be concerned about their own numbers or even hurting others. No one will experiment or come up with ideas and find any process improvements.

    And the person who actually does a good job in realstic terms may not compare to someone who skewed the numbers objectively to feed their kids. This will not give them any pride in their workmanship and will be a serious demotivator, if not burning them out entirely from cynicism about their profession.

    What's the alternative? Judge the programmers based on quality. Have the team define what quality code is, both what's good and what's bad, and attempt to try to find ways to measure that. All of that's going to be in the eye of the beholder and specific to an organization, as not all programming projects are the same. This is all part of greater total quality management principles, but...

  21. Re:Because it's hard to measure by Anonymous Coward · · Score: 2, Interesting

    Speak for yourself. Around here, salary means = 35 hours per week, including 6 weeks of vacation. Salary isn't that much lower than comparable position in US, but yeah, I likely pay more than you in taxes. Suits me fine though.

  22. Value, labor and the fallacy of mixing the two by steve+buttgereit · · Score: 2, Interesting

    The Austrian School of Economics in determining the value of products actually discounts the idea that the value of the end product is somehow connected to the labor expended in producing the product. There are many examples of this in tangible products... for example in the art market, a painter, prior to earning fame may not be able to sell a painting at all or only for a few dollars; after the painter earns fame (and is probably dead) that same painting worth a few dollars many now be worth tens of thousands of dollars. The labor that went into the product didn't change... it's still the same product. But the value of that product to society increased through unmeasurable and intangible factors.

    The same amount of code and development time may have gone into a $20 dollar shareware game and a $500 dollar business app. Assuming both sell equal copies, which has more value? Which was the more 'productive'? By looking at lines of code and development time alone their value should be equal, but that's not the case. True the idea behind each of those apps contributed to the overall value differently, but even then the ideas may have taken the same 'labor' to develop while producing uneven value.

    I've managed development teams myself. Over time I've learned how long certain types of feature take to develop and how well they should work in that given period of time... sort of a baseline. If a develop provides the product in less than that time with the same quality that developer is clearly more productive than a developer that fails to meet that baseline. This could be formalized to a degree, but would still maintain subjective standards of quality and estimates of effort. I agree with the premise of the posting however... you cannot judge productivity on scientifically measured quantities like lines of code or number of bugs; coding is too creative an endeavor for that and it starts to look like judging value in the way the Austrians rejected long ago.

  23. Measurement metrics by arjan_t · · Score: 2, Interesting

    This is indeed somewhat of a problem in our profession. It's in general hard to find good metrics that quantify the performance of a programmer. Lines of code, number of closed tickets, or years of experience are all sometimes used but even though these might be indicative of performance, they all don't necessarily have to mean much.

    Lines of code has been discussed quite often over the years, but it's typically not seen as a good indicator. People may use a lot of white space, or write a bunch a spaghetti code based on blindly copy-pasting stuff around. This blind copy pasting will result in extremely bad code that's often impossible to maintain. A better performing developer may actually refactor all this duplicate code and abstract it into some common class or method, in which case the LOC produced by said developer may actually be negative! Worse yet, people may check in stuff like .dia files to their source code repository, which might boost your supposed LOC productivity with thousands of lines, while all you did was draw a box with an arrow pointing to it.

    On the other hand, LOC also doesn't mean nothing. I've seen developers reading slashdot all day instead of coding and as a result their daily, monthly and even yearly LOC count was extremely low. We use among others statsvn http://www.statsvn.org/ and though not perfect it does give a very crude indication of who's very active and who's basically doing nothing all day long.

    Number of closed tickets is an indicator too, but just as with lines of code hard to really use for measuring some one's performance. Tickets (issues/bugs) can vary wildly in complexity and the "estimated amount of hours" and "impact" is hardly ever accurate. Given two bugs, one can be as simple as adding a forgotten quote somewhere, while the other can amount to weeks of digging through the lowest levels of some code base. Yet, on average, if tickets are assigned to developers without really taking into account their abilities, then over a longer period of time all developers should on average get an equal amount of quick&easy and hard tickets. In that case, the number of closed tickets might be indicative again. Someone who barely ever closes a ticket might not be that top performer, despite the inaccuracy of the ticket measurement.

    Years of experience, which is I think used the most, is maybe also the most debatable of them all. It's a very natural measurement tool which takes no personal stuff into account. It's a very basic and easy to measure number. But here too, it can be deceiving. I've seen programmers who had some 8 years of Java experience, but appeared to be totally unable to pass a basic Java test and produced nothing but WTFs in their code like concatenating strings to each other with commas in between instead of storing them into a list, simply because they didn't grasp how a simple list actually worked! (I kid you not, I actually encountered this). In contrast with this, there's the guy (or gal) taking up some part-time job while still studying, who understands even complex stuff in the blink of an eye and produce nothing but exemplary code. But here too, given a group of all reasonable knowledgeable programmers, the ones with the most experience typically win out. When I look at my own code that I produced 10 years ago and compare it with what I produce now, I most definitely see a vast improvement.

    Even though management might often have difficulties with measuring the performance of a programmer, there is one group of people who are true experts here: the team mates of said programmer; his or her fellow programmers! If you have worked in a team for some time, everybody knows who's the ace, who's the simply capable one and who is obviously trailing behind. As a programmer you actually work with the code of that other programmer. You are either able to extend that code with the greatest ease because of the elegant design and clear names being used, or you curse every minu

    1. Re:Measurement metrics by shutdown+-p+now · · Score: 2, Interesting

      Given two bugs, one can be as simple as adding a forgotten quote somewhere, while the other can amount to weeks of digging through the lowest levels of some code base.

      There's also a third category, my favorite: weeks of digging through the lowest levels of some (old, undocumented, messy) codebase, which is ultimately followed by a fix that adds a forgotten quote. How do you even quantify that kind of thing?

    2. Re:Measurement metrics by arjan_t · · Score: 2, Interesting

      Given two bugs, one can be as simple as adding a forgotten quote somewhere, while the other can amount to weeks of digging through the lowest levels of some code base.

      There's also a third category, my favorite: weeks of digging through the lowest levels of some (old, undocumented, messy) codebase, which is ultimately followed by a fix that adds a forgotten quote. How do you even quantify that kind of thing?

      That's a good question. It's actually not an uncommon situation at all. Some years back we discovered that posting a page to a Tomcat based server would sometimes just disappear. We spent day and night researching this, had discussions via mail with some Tomcat developers, set up probes and loggers just about everywhere, even spent a lot of time reading huge amounts of Tomcat's source code looking for a possible clue, when eventually we found the culprit: an overambitious system administrator had changed some timeout value in the AJP connector between Apache and Tomcat to an extremely low value. It was a sheer miracle that there even were requests at all that made it through. The ultimate fix that had costed several weeks worth of time, a couple of emergency meetings, starts of drafting migration plans to just about anything else that possibly wouldn't have this problem, consisted of adding I believe no more than three zeroes to this particular timeout value...

  24. The 90/10 Rule by manlygeek · · Score: 2, Interesting

    Thank you John D. Cook!! I think you hit that right on the head. Writing a lot of sloppy code (or insanely terse code for that matter) is MUCH worse in the long run then thinking about it a bit and writing good solid, well documented (i.e. Self documenting) code. One of my first big coding jobs was for the best boss I've ever had. He was not an ubergeek. In fact, he was an Agriculture major from Texas A&M. He had the idea that code productivity was like building widgets; x widgets will be built in y days at the rate of x/y. Now I educated him a little bit and told him in advance that it would take me 90% of my time to build the engine that the rest of the code would use and then in the remaining 10% of my time, the rest of the functionality would be done. Though he didn't know me too well, a fellow programmer whom he did know (and who wrote code by the bucket load) convinced him to let me try it my way. Everyday he would come in and ask for a "percentage done". I would tell him what I had worked on but also reminded him that it wouldn't look like much progress. To make a long story short, he just about lost it waiting for me to get the 10% done as I had said would get done in the first 90% of the time I had to do it. But I delivered just as I said and built a most useful product for him. I went from "10%" done (in terms of functionality and lines of code) to complete in one week (this was a several month project). Because of the way I had built my engine, I was also able to accommodate several additional feature requests that I received when I was working on the first 10%, and which would not have been able to be built at all if I had done it his way. I never had trouble with him trusting me after that and I didn't let him down. Of course this was many years ago and probably wouldn't work with today's Agile methods too well. But the point carries that automation is basically a front loaded investment and there is a balance between risk mitigation and long term viability. Version 1.0 might take me longer to engineer but by the time we've gotten to 2.0 I've caught up with you and by 3.0 you can't even see my dust trail. Its a luxury I don't always get (at least not up front) but I work pretty hard to educate my management and there's nothing quite as convincing as success... that is if both you and your boss can survive the onslaught of "Get It Done Now".

    --
    Be More, Be Manly, The Manly Geek Ubergeek Extraordinaire Blogger: www.manlygeek.com/blog Podcaster: podcast.man
  25. But it is... by tjstork · · Score: 2, Interesting

    Just to throw some names out there:

    Steve Wozniak - Apple I, II - (uber king because he did hardware and software)
    Bill Gates / Paul Allen - original MS Basic
    Charles Simonyi - Word, Excel, Multiplan
    Ellison,Miner,Oats - Oracle
    Mitch Kapor - Lotus 123
    Ray Ozzie / David Woolley - Lotus Notes
    John Carmack / Michael Abrash - Doom, Quake
    Linus Torvalds - Linux
    Mark Andreseen - Netscape

    Most of those people on the above list were just programmers starting out without really all that much but a computer and an idea. Most of them went on to be billionaires. Below them are another tier of thousands of unnameable programmers that are millionaires, and below them are millions who form the back bone of their departments.

    It's pretty much, you get paid great not to just code, but more importantly, to have great ideas and code them.

    --
    This is my sig.
  26. Re:there are Programmers then here are PROGRAMMERS by Anonymous Coward · · Score: 2, Insightful

    The hard and cool stuff have not already been done. Not even close.

    2009 was a great year for software and technological advancement.

    We're still scratching the surface on things like scalability, a real network friendly filesystem, UI (multitouch, iphone, etc).

    The old conventional thinking 30 years ago is being contested by groups like NOSQL.

    Our ideas of Operating Systems are changing, even the definition of 'servers'. Look at commonjs.

    No, we haven't even started yet.

    Cheer up, join different open source groups (if your existing ones are stale), start contributing in different ways.

    Easier to teach an engineer how to be a business man, than to teach a business man how to be an engineer.

  27. And that is why he fails by SuperKendall · · Score: 3, Insightful

    Basically, his point was that the capital owners will always pay their employees less than they're worth to the capitalist, because that creates profits.

    Except that you could also say the capitalist always always pays people exactly what they are worth, and increases costs to consumers to create profits.

    Both are non-sensical. That's why in reality, someone decides if payment being offered is worth them working for the company. Pretty much by definition, you are being paid what you are worth because only you can really decide that by accepting an offer. If you think you are not "being paid what you are worth" then you need to find someone who will pay you that, or at least leave and not suffer the insult of a continued paycheck.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:And that is why he fails by jayme0227 · · Score: 3, Insightful

      Except that those with capital are the ones who decide how much you get paid. If you have no capital, you have no opportunity to increase your worth. It's all fine and dandy to say "If you really think you're worth more, go somewhere else." but if the jobs all pay the same amount, you can't go somewhere else. It's also very difficult to start your own business because the established businesses, with their economies of scale, can crush small ones and push them out of the market (see: Wal-mart).

      The biggest problem with capitalism is that, for it to truly work, it requires that every party has equal information. This just isn't the case, information requires time to gather, and time costs money. Therefore, those with money get the information and use it to their advantage whenever they can. There's a reason that Harvard grads get the best paying jobs, and it's not because they are the "best and brightest," as they'd have you think they are.

      Don't get me wrong, I'm a capitalist, but to assume that it is a perfect system is silly. To abuse a Winston Churchill quote about democracy, "Capitalism is the worst economic system there is, except all the others."

      --
      But then I realized the cable was blue, so I only gave it one star. I hate blue.
    2. Re:And that is why he fails by PopeRatzo · · Score: 2, Insightful

      Pretty much by definition, you are being paid what you are worth because only you can really decide that by accepting an offer.

      Can you say you are "deciding" when your family is hungry or your children are sick and a job is the only way to get health care benefits without going broke?

      --
      You are welcome on my lawn.
    3. Re:And that is why he fails by PopeRatzo · · Score: 2, Informative

      In 1990, did the average middle-class American have a cell phone?

      Just having more stuff does not indicate a rising standard of living when the stuff is increasingly bought on credit.

      This is the great con of the US "rising standard of living". It makes it seem like everyone is doing better, but really, they're just in a deeper hole.

      Do you realize that the average upper middle-class person of today leaves less wealth proportionally to his heirs than the lower middle-class person did 40 years ago?

      That heavily borrowed standard of living not only puts you in a wealth hole, but also in a freedom hole. You are less likely to change jobs, start a business, or make other positive changes in your life because you've got to make that minimum monthly credit card payment.

      That, plus the concerted effort to bust up unions, has made workers of today actually less mobile than their grandparents.

      Further, it creates a society where there is little upward-mobility in terms of wealth. Did you know that a child born at the low economic strata in Sweden is more likely to move "up the ladder" than the same child in the US? I guess "European-style Socialism" is not as bad as Fox news and the GOP would have us believe.

      --
      You are welcome on my lawn.
    4. Re:And that is why he fails by PopeRatzo · · Score: 2, Informative

      To abuse a Winston Churchill quote about democracy, "Capitalism is the worst economic system there is, except all the others."

      Better you leave Churchill alone and pick up a copy of Naomi Klein's The Shock Doctrine.

      Better to light a candle than curse the darkness, friend.

      --
      You are welcome on my lawn.
  28. Re:Because it's hard to measure by Endo13 · · Score: 2, Insightful

    All great points. There's also one possible effect that is even harder to measure (perhaps impossible) and that's morale. You can watch the slower worker all day and not realize that he's the one that's keeping all the other faster guys happy and doing good work at a good pace.

    --
    There is no -1 Disagree mod. Slashdot.org/faq defines mod options. USE IT.
  29. Re:there are Programmers then here are PROGRAMMERS by aztracker1 · · Score: 2, Insightful

    I actually like a lot of the .Net framework and related architectures myself. It is a bit bloated, but not too much more so than other frameworks, and does offer a lot to productivity over lower-level constructs.

    --
    Michael J. Ryan - tracker1.info
  30. Re:Because it's hard to measure by rolfwind · · Score: 2, Interesting

    Where is "around here"? France? Germany? Elsewhere?

    Companies in my part of the States make it a point of pride to drive you to make work your life, for managers who work 50 hrs a week make their staff feel guilty if they work 80 hrs near crunchtime, the 40 hr workweek is an illusion even in the beginning of a project. And vacation? Heh. 10 days maybe?

    American workers aren't that much more productive than Europe and I see why. Just the typical failed 'more pain more gain' mentality.

  31. For a more balanced calculation by FooAtWFU · · Score: 2, Insightful

    We can debate the relative merits of the real value of the minimum wage at another time but, in the interim, in the interests of accuracy, for a slightly less anecdotal analysis of the relative value of the US dollar, see MeasuringWorth.com (which suggests $8.48/hr as an equivalent minimum wage, not $17.50, based on the consumer price index). That's a lot closer to par.

    I believe most economists suggest that the CPI slightly-overstates inflation by failing to make any adjustment for increases in product quality (things squeezable ketchup bottles instead of glass, or music on an iPod instead of a Walkman, or safer cars less likely to kill you in an accident).

    --
    The World Wide Web is dying. Soon, we shall have only the Internet.
  32. Re:there are Programmers then here are PROGRAMMERS by ahabswhale · · Score: 3, Informative

    I'm not aware of any evidence that makes me believe BG is a particularly impressive programmer and coding for 64k limits is hardly a metric for skill. You're obviously too young but a lot of us were coding to 4k limits or even much less. 64k is downright roomy especially with assembler or procedural languages. When I finally got a Commodore 64, I didn't know what to do with all that memory. It was hard to imagine how to use it all. Shit, I used to write custom databases for the military in Turbo Pascal that compiled to under 8k.

    --
    Are agnostics skeptical of unicorns too?
  33. Small tight code by EmperorOfCanada · · Score: 4, Interesting

    The best coders I have seen wrote amazingly little code. I am not talking about crazy pointer arithmetic but just way less code than lesser programmers. Often the best programmers also deployed the available resources way better. When all is said and done the best programmers leave code that everyone worships as pure genius that everyone else builds on with ease. A great example was someone who did some great code where they took the bull buy the horns and moved the project into proper multithreading and some crazy memory usage. The server went from using maybe 10Megs per process to a collective 8Gigs spread across many threads. Sounds complex but every programmer took one look at the code and went wow. 20 servers out of 23 previously heavily loaded servers were shut down as unneeded. Even with 50% client growth every year our next server purchase will probably be in a decade. That super programmer moved on and we just kept building on his code for a long time. Programming and debugging went from a chore to a joy. Anyone could tell which code was new code because it was ugly and complex compared to the simple elegance of the original code. Without a doubt that programmer could replace the 50 pretty good programmers we have on staff now. Plus his code eliminated 3 full time system admins and has resulted in zero downtime in two years, thus avoiding millions in losses over the last and next few years. So what should his pay have been? 5 Million a year? On a different topic, in my travels I have seen sys admins who ran well oiled machines that were amazing. At the same time I have seen sys admins who weren't properly backing up critical data. Critical as in the company would go bust in the event of a HD failure. In these same companies they had HR, CFO's, and Sales people who were paid multiples of the Admin. These "senior" managem who's screwups would be hard pressed to completely wreck the company usually saw the various computer people as a bit of a joke.

  34. Re:there are Programmers then here are PROGRAMMERS by sartin · · Score: 5, Interesting

    Heck forget memory limits, those were easy (he said, using his tongue to push his dentures back onto the roof of his mouth while tugging his pants up over his belly button), one time my lab partner and I re-coded our elevator simulator (written in machine code, not assembler, you wimps!) so that we could enter it with a hexadecimal keypad that was broken so the "E" key debounce didn't work. For you whippersnappers who never entered machine code with a keypad (not keyboard!) or switches, that means we rewrote it so that no machine instruction (one byte instructions) or data byte had "1110" as the lowest four bits. No that was programming.

    Cyril, my lab partner, wound up being Bob Moog's protege and has become the key designer at Moog. Wonder if he remembers that afternoon in EE lab.

    Then there was Bob in high school, who reconfigured RSTS control blocks through the front panel switches on the PDP-11/40 to enable root-like privileges. Now, that was art: several levels of indirection, the machine needed to be halted to use the panel, but it was a timeshare system and you had to get it running before any of the users noticed. Pure art, until that one time he made a mistake and caused a crash that rewrote the master file directory with all zeroes. That was a long night writing, testing, and running a program in BASIC that used heuristics to read the disks and a three month old backup (for getting user IDs and old passwords) to recover the directories on the disk. When the security guard came in at 3 AM, Chris (the friend helping me fix Bob's mistake) had to talk the security guard into not waking up the Dean of Students to report us. Bob got kicked off the admin staff for a while. Things got boring after that.

    Now, back to my afternoon nap.

  35. Game theory by Kjella · · Score: 3, Insightful

    It doesn't matter if you don't get paid what you're worth, as long as you aren't going to be paid better anywhere else. Because what's your game options, quit and get a different job that sees even less of your value? Go independent and try to bill rates that high? Join a start-up and try to get that much of the total? Quit or take a long vacation and pray they'll miss you enough to take you back on a higher salary? Yeah right.

    A lot of people might know internally what you did, but it's hard to convince outsiders that the projects you did really were that hard and you were that crucial to the solution and your solution was that great. Maybe even your boss knows you're brillant and he's rather fire the whole team and hand the money to you if that was what's needed to make you stay, but it will never come to that. Because who else would pay you that much money? Nobody. I guess maybe if you got some entrepreneurial skills and build the company around yourself it might happen, but that takes a very special kind of people which rarely overlaps with mastering coding.

    --
    Live today, because you never know what tomorrow brings
  36. Re:there are Programmers then here are PROGRAMMERS by mwvdlee · · Score: 2, Insightful

    I think the point is, that those more recent theories are a lot more complex than the previous ones.

    Same goes for programming; in order to stand out amongst the crowd, you'll have to create something much more complex than you would have some 20-30 years ago.

    Most of us could have invented the sorting algorithms we use. Most of us could have invented the data structures we use. Most of us could have invented a lot of stuff that made other people famous some 20-30 years ago. I know I "invented" some algorithms only to find out later that other people had already linked their surname to it decades before.

    --
    Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
  37. Here we go again by e2d2 · · Score: 5, Insightful

    I almost stopped reading when he said Joel Spolsky.

    Joel is always looking down his nose at other coders who don't have degrees from MIT. Yet he thinks pointers are the ultimate test of a programmer. He has written one tool that is of note - Fogbugz. That is, if he even wrote the code.

    He just reeks of "I know better". He wrote his own language to code-gen classic ASP applications, along with PHP. Right there is a red flag. Did they move to the new ASP.net platform? Nope. That wasn't good enough I guess. No they decided to stick with classic ASP and write a language that outputs both ASP and PHP. Epic arrogance combined with ignorance IMHO.

    Then look at Fogbugz. It's just a typical bug tracking application. That's it. Did it need a new language? Hardly. So now these guys wasted all that time on something only they can use and it makes zero dollars. Way to go. Real top notch development there. Fact is his company is small potatoes.

    Why do I rant on Joel? Because this guy is believing the shit he spouts and extrapolating from it. Frankly I'm sick of hearing from him about what makes a good programmer. If you aren't a good programmer yourself then STFU about what makes a good programmer. Writing a few insignificant applications doesn't make you a rock star.

    1. Re:Here we go again by Anonymous Coward · · Score: 2, Funny

      Why do I rant on Joel?

      Show us, on the doll, where Joel Spolsky touched you...

    2. Re:Here we go again by clockwise_music · · Score: 4, Interesting

      He also wrote an article about how Exceptions are pointless and a waste of time,
      and that we should track "ErrorNumbers" ourselves manually.

      He completely ignored the fact that exceptions were developed to solve
      the problem of "working out in the stack where the error happened", and when
      people pointed that out how ridiculous his solution was he refused to change
      his mind. So screw it.

  38. Re:there are Programmers then here are PROGRAMMERS by sartin · · Score: 2, Interesting

    Oh, I don't know about most programmers being good enough to invent data structures. In the 1980s, my friend Karen was credited by her co-workers at Sperry as the inventor of doubly linked lists. She encountered a situation that obviously needed them and got rid of a bunch of old, inefficient code. Exactly none of her co-workers had seen them before, nor had they thought of using something like that to fix the performance problems they were encountering due to poor data structure choice.

  39. It is simpler than that by Anonymous Coward · · Score: 3, Insightful

    In the modern world, those who create wealth are *never* paid anything close to the value of what they created. The lion's share goes to the rich fat-cats that sit at the top of the corporate ladder, contributing nothing that wouldn't have been present otherwise.

    Exploitation - its how humans do things.

  40. That's 50 lines/hour by XanC · · Score: 2, Insightful

    8000/40/4 = 50.

    Typing was hardly the bottleneck. In fact I bet there was quite a bit of staring into space.

  41. Not unusual by jbmartin6 · · Score: 2, Insightful

    people get paid in proportion to how difficult management perceives replacing them is. In this, coding is no different than most other jobs.

    --
    This posting is provided 'AS IS' without warranty of any kind, implied or otherwise.
  42. Re:there are Programmers then here are PROGRAMMERS by jc42 · · Score: 2, Interesting

    Somehow I think that Bill may have had a slight "edge" over other applicants for the chief software architect position.

    This is made clearer if you investigate his full name, William Henry Gates III. His father, William Henry Gates II, was a fairly successful businessman who had the money to send him to Harvard, where he made the contacts needed to start a business with inside access into IMB's management level. Yes, he was a geeky kid who got into the new small-computer stuff, and he even learned a bit of programming. But his real background was business management, and he was born with the proverbial silver spoon in his mouth. He cultivated the computer-geek image, while developing his insider-to-upper-management-levels reality.

    Of course, lots of people in the computer biz know all this. But it's surprising how many in both the computer industry and the MSM have fallen for the computer-geek-who-made-it-big public image.

    (I've also seen the claim that his given name actually is "Bill", not "William", but I've never seen verification of this. Not that it matters much. It's not too unusual in American society to have nicknames as given names on birth certificates.)

    --
    Those who do study history are doomed to stand helplessly by while everyone else repeats it.
  43. Re:Another contributor to productivity invisibilit by mwvdlee · · Score: 2, Interesting

    Hence, the code of a good coder looks as if any beginner could have made it whereas the code of a bad coder appears as if the results of a sophisticated mind.

    To put it in another way; any idiot can make something simple look difficult but it takes a genius to make it look easy.

    --
    Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
  44. Re:there are Programmers then here are PROGRAMMERS by toadlife · · Score: 3, Funny

    Your keyboard from back in the day?

    --
    I don't always use unix-like operating systems; but when I do, I prefer FreeBSD.
  45. That's the public propaganda goal by zogger · · Score: 3, Insightful

    This equilibrium is what they hard sell to the populations, as the justification for their policies, but no way do they ever want to achieve that.

    The globalist fatcats will *always* make sure there is a great imbalance in wages (a lack of equilibrium) so they can take advantage of wage arbitrage, plus get paid to destroy any approaching equilibrium, then get paid again to start to reconstruct it..but they will never let it actually get there. It isn't nearly as profitable for them after that point of equilibrium, nor would they be able to maintain so much political power, which is even more of a lust for the uber rich than just the mere accumulation of currency units. The dig on that ultimate control over other humans, that is theior primary goal and lust, that is why so many political and economic top people appear to be so sociopathic at times..it is because *they are*.

        They have done this construction/deconstruction, keep the people divided and conquered repeatedly over the years, and that is by the use of war, external or internal and frequently both, by destroying the infrastructure and a lot of the population in other areas that are approaching parity with them (and in their own areas frequently as a blow-by). In many instances, at the tippy top of capitalism, (WW2 is a prime example) they fund all the warring sides *at the same time*, destroying a lot of what had been built up, which therefore needs another infusion of the people's capital (their labor and most of their wealth, overtly or through other political controls) to them so they can rebuild..what they engineered to destroy in the first place. They get *rewarded* for being high level criminals. Over and over again.

    It's pretty easy to wipe out a productive middle class during a war phase and reduce them back down to serf/peon class, to be exploitable in the normal kingly manner, your own people or those folks over yonder, it doesn't matter to that class of exploiters.

    It is very wasteful and downright painful for the global populations as a whole that they keep on doing this, that we can't achieve a fair and balanced natural economic equilibrium, but it serves the purpose quite well (for them) by maintaining these top 1% crooks and predators in their positions at all times.

    The aristocracy was never abolished in practice, just in a lot of cases they dropped that public "royal blood" stuff and started wearing more "normal" attire so they would not appear to be as such. Just a camouflage maneuver and so they can continue to fake out their herds of slaves by telling them they now live in some sort of "elected by the people" government, when it has always been these same fatcats calling the shots and doing the most in the way of profiting from other's work.

    They are *wolves* and will always act in a predatory manner. They may even war on some other of their fellow wolves now and then, but the wolves as a class are always united in that they need to keep the wolves and prey animals/herds separate and cowed.

    Here's an obvious example of wolf class versus their prey animals, so they can keep feeding on them and make it look like they aren't. All this war on carbon and new taxes and permits and credits and treaties and schemes and laws and so on. Well, the serfs and peons (and I include any alleged "middle class" that exists anyplace, they are still the property of the wolves, they are temporarily allowed a few more toys in exchange for perpetual lifetime indebtedness and subservience to the wolves) will be paying for that, because there ain't a singe fatcat wolf predator out there who is going to drive less, fly less, eat less, stop living in multiple mansions, etc.

      All the ones "negotiating" all this nonsense...whatever they negotiate is NOT going to apply to them or impact their lifestyles in any practical measurable manner. The wolves will remain wolves and their sheep will be eaten just as much and be shorn a little closer to the hide, that's all.

  46. Productivity does not apply here... by Onan's+Salad · · Score: 3, Funny

    This topic is terrifying! Productivity only makes sense when you have a static goal, which is not the case in any working environment I've encountered. Instead, I've found that I'm paid for tolerance. When a manager asks me to deliver X, but a marketer suddenly promises Y, I get paid for not killing both of them. When my manager asks me to make 1 + 1 = 3, and a marketer promises a client that 1 + 1 = 6.255, I get paid for not going on a murderous rampage. Seriously - if it weren't for these wages - programmers would have a worse reputation than postal workers. We get paid to be driven crazy.

  47. Re:Not so by Antique+Geekmeister · · Score: 2, Insightful

    "Conditions at hand" can be and often are, illegally, deceptively, or destructively manipulated. If you even imagine that I'm kidding, look at the history of child labor, indentured servitude, diamond mining, or the music industry to see how workers have been abused to focus wealth in the power of a select few.

  48. Wrong; it's programmers who SOLVE PROBLEMS by CPE1704TKS · · Score: 2, Insightful

    The worst programmers I've met are the ones who are heads down and program. They are usually very arrogant and think they are gods. Case in point, there's a guy I currently work with who is a disaster. People are in awe of him because he will work until 4am and has improved the performance of our application 100-fold.

    The problem is that during the design phase, he completely disregarded all of our design recommendations and did things his way. It turned into a complete disaster, with nothing working as it should, deadlocks and complete lack of scalability, etc. So yes, he worked until 4am to improve things and did improve the performance from the initial disastrous numbers, but it was all his own fault! As well, because he was so arrogant and stubborn, he ended up producing something that no one wants anymore because the interface is too abstract and hard to use. Now, our the product is being shut down before it has even launched, because we couldn't convince any consumers to "wait until the next release" to get it to do what they actually want. All the fellow programmers think he's an asshole, but all of the managers who don't understand what he does will undoubtedly promote him.

    The best programmers are the ones who keep it simple, design things excellently and program it once, with maybe a couple of iterations of performance enhancement. I've met plenty of brilliant programmers in my time, and these are the key traits that they exhibit. The "brilliant", nerdy programmers that heads-down program are rarely any better than a smart, easy-going programmer that both works hard and spends more time listening to their customers and making common sense design decisions.