Announcing: Slashdot Deals - Explore geek apps, games, gadgets and more. (what is this?)

Thank you!

We are sorry to see you leave - Beta is different and we value the time you took to try it out. Before you decide to go, please take a look at some value-adds for Beta and learn more about it. Thank you for reading Slashdot, and for making the site better!

Greenspun on Managing Software Engineers

michael posted more than 14 years ago | from the crack-the-whip dept.

Programming 310

Cryofan writes "Very interesting story on managing programmers. Lays bare the dynamics behind what is happening to the software industry." I think Greenspun has it right about the distribution of talent in software engineering, but I'm not sure I agree with his concept that it is necessary to work 70-hour weeks (though for unreasonably long hours, they do pay unreasonably large salaries).

Sorry! There are no comments related to the filter you selected.

Unreasonably large salaries. (2)

blazer1024 (72405) | more than 14 years ago | (#646191)

(though for unreasonably long hours, they do pay unreasonably large salaries)

Yeah, but what good is an unreasonably large salary if you don't have any time available during the week to spend it? (Unless you just have a NICE vacation every year)

Just a thought...

Managing Programmers 101 (5)

manichawk (154084) | more than 14 years ago | (#646196)

If programmers complain:

  • Get a boxload of toys, hand out to programmers, repeat if needed.
If programmers don't complain:

  • See above

Great Tips (2)

clinko (232501) | more than 14 years ago | (#646199)

Here's one of the great tips from the page
"positive reinforcement is more effective than negative reinforcement"

WRONG! I know that failing my classes (negative reinforcement) sure is more effective at making me study than when I wasn't failing them.

70 hours?!? (1)

TWX_the_Linux_Zealot (227666) | more than 14 years ago | (#646200)

They'd better give time off in lax weeks, else employees would just go freakin' nuts...

The coders in my office have taken to shooting each other with nerf darts and StarWars(tm)(c)(r) guns and light sabres and such to keep the sanity in place (and it's still not working :)
"Titanic was 3hr and 17min long. They could have lost 3hr and 17min from that."

no, we're not lazy... (1)

TheBahxMan (249147) | more than 14 years ago | (#646274)

Why should managing software engineers be any differnet that anyone else? What makes us so special? Do we HAVE to work for 24 hours straight? No. Do we have to have break rooms with poosball tables or a PS2? No, but its nice. My father has worked everyday since I've been alive, rain or shine, cold or warm, building HUGe houses in my home town. Why doesn't he get a nice breakroom with a foosball table when he's actually doing somthing physical all day long. Programmers don't get tired, they slack more and more as the day goes on. PLBTH!

Spot on but for the hours (5)

MosesJones (55544) | more than 14 years ago | (#646276)

I agree with the lot, the only one is the number of hours. The myth that more hours = more top quality code. Brook's says it, Peopleware says it, almost every study made says it. Reduce the communication between teams so teams are more productive so can work lower hours and thus be able to concentrate more and create better code.

Everyone thinks that they are more productive in 4 x 100 hour weeks than 4 x 40 hour weeks. But the fact is that in week 4 you are destroying the project with your lack of concentration, and in the other you are still productive.

Its still like herding cats though.

70 hour weeks (2)

darkworm (252052) | more than 14 years ago | (#646279)

I guess it depends what programmers you are talking about. Some people love programming for 70 hours a week. Ok, I wouldn't do 70 hours a week, I have a life. But for people that can code for that long, and produce good software a high salary is and should be given.
There are some programmers who do a 9-5 and write shitty code, and they get paid a hell of a lot more for programming in VB than the people that code in C/C++ on worthwhile projects, like enterprise solutions and not a frontend to allow someone to print a document in Win95.

-- "Hey Bob, come look! I've never seen a penguin so small!"

Huh? (2)

SethD (42522) | more than 14 years ago | (#646283)

Wait..... isn't that fuzzy math?

I think... (1)

Sheeple Police (247465) | more than 14 years ago | (#646287)

that Greenspun should stick to managing our economy instead of managing our software engineers.......

Nah, in all seriousness, the article is interesting, but according to what I've heard, isn't middle management supposed to be heading down south? Then why an article on managing programmers in a journal like ArsDigita?

However, I did have some issues. For example, Greenspun implies that programmers are naturally arrogant, saying that either the bad programmer is so bad that he's unwilling to accept good ideas, and that the good programmer is so good that he assumes that his idea is the best. That seems to be a bit harsh on the programming community.

On the flip side, one of my favorite comments was the one that read:
We thus proved the management adage that a deadline just gives someone an excuse to procrastinate and do nothing until the very end. .... So true, so true

Wrong assumption to start with (5)

bugger (101595) | more than 14 years ago | (#646291)

Greespun writes: "... the average programmers will consume nearly their entire work day just in reading and understanding the new code generated by the good programmers."

Something is very wrong if this happens in Greenspun's hypothetical workplace. Either programmers are rewarded for *writing* complex code, or what Greenspun assumes to be good programmers are, in fact, hackers who are incapable of creating and designing maintainable code.

The whole point of engineering is to create solutions that are simple, flexible, and effective - and that can be *understood*.

Writing code that the average programmer cannot *understand* is not what classifies a good programmer. A good programmer will write code that is elegant, simple, straight-forward, can be understood *and maintained* by the average programmer. It is the initial coding *solution* that discriminates the good programmer from the coder.

Managing software engineers is like sheepherding. (1)

AFCArchvile (221494) | more than 14 years ago | (#646293)

Sometimes they fall right in line with your demands, but when they become irrational, it's time to get the sheepdog out to nip at their hindquarters. When they start getting out of hand, then it's time to whip out the cattle prod.

Personally, I hate what is happening to software engineers. The quality of code makes me think that it was written by a monkey chained to an emacs terminal. Case in point: Half-Life, which will not run the Opposing Force mission pack at all. Pathetic, yes, but it shows that Valve only concentrated on Counter-Strike and TFC. Business as usual for them, but I'm stuck here with a dead mod which I haven't played in a long time.

Re:Great Tips (2)

AntiPasto (168263) | more than 14 years ago | (#646307)

True... you learn more from an accident than driver's education.

I think, however, it depends on the person and the situation / subject.


Re:Great Tips (2)

n3rd (111397) | more than 14 years ago | (#646309)

That's not quite how it works in the real world.

At school, if you fail, you have to pay the school to take the class over, or at least take it again, wasting time and effort.

In the real world, how would you like it if you boss said to you "Work harder! You're lazy!" everyday? It would probably make you quit, or at the very least resent working there.

It's your choice: do you want to hear "You stink!" all of the time, or "Good job!"?

Re:Spot on but for the hours (2)

Kierthos (225954) | more than 14 years ago | (#646312)

More hours definitely does not always equal better code. I believe it was Microsoft who planned to have world-wide programming on a project going 24/7, with each group of programmers ending their work day by sending the code they had written to the next group of programmers who were just starting their work day. It failed horribly, obviously, because so much time was spent dealing with understanding the code the other guys had written, dealing with differing programming styles, and of course, having to deal with the MS proprietary code, which must be horrid to begin with...

It is far easier to get good code by not over-working your people. If they want to work 70 hours a week, that's fine for them. But more and more businesses are insisting that their programmers have a social life so they don't get burned out and move on. It's pretty savvy of the businesses, as they look better in the eyes of their employees and can retain their workers. Because as we all know, nothing tanks the productivity of a project like having to hire people to fill the group up. Mmm... re-training in the middle of a deadline... such fun...


management by consensus (5)

konstant (63560) | more than 14 years ago | (#646316)

Recently I moved into what you might call a "management" role - a Program Manager at Microsoft. Despite the title, my work lies much closer to the realm of Negotiator than to Boss. A PM has many responsibilities and deadlines, but s/he has no official authority to execute them. If I want something done by a certain date, I need to convince the other teams (dev, test, ops) that my way is the best way. If I can't convince them, which is often the case, then my job is to discover a compromise.

Greenspun has hit the nail on the head about management by consensus. When friends of mine regale me with tales of old-school management I try to show them the superiority of a system where the leaders are the actual workers, and the titular bosses are nothing more than organizers of the group's talent.

In tech it makes sense to follow a more democratic model. If the workers aren't intelligent enough to contribute to design decisions, why were they hired in the first place? And if they are intelligent enough, why squander that ability with petty micromanagement?

Yes! We are all individuals! I'm not!

Re:Spot on but for the hours (2)

Zachary Kessin (1372) | more than 14 years ago | (#646319)

By making people work 60+ hrs/week or hell even 50 you are mostly creating burnout. First of all most people can't do that forever, one week every few months sure, every week, no. And we are responsable for it as for years we have been willing to work 70 hr weeks without complaint or extra money.

I have a life thank you very much.

The Cure of the ills of Democracy is more Democracy.

Re:That's Philip Greenspun... (1)

AFCArchvile (221494) | more than 14 years ago | (#646322)

not Alan Greenspan. You're starting to turn into one of the sheeple who believe that Alan Greenspan does everything in the world and is the actual leader of the country and the world.

Re:Wrong assumption to start with (3)

SquadBoy (167263) | more than 14 years ago | (#646323)

This is *very* true. I am a sysadmin type trying to get into programming. I know Perl ok and am just getting started with C/C++. With that background I can set down with the Linux kernel and read a bit and understand many parts. This is because it was designed to be understood and used by more than one person. I'm far from average at this point (a rank novice)and yet I can understand the kernel for a very complex and powerfull OS a true testament to those who have written and maintained it. So based on what I've done and seen I have to agree that a good or great programmer will write code that is obvious to even a novice, once it is written. Just like with you human language you can always read more than you could have written. Think of all the really great inventions all of them are brian dead obvious, once you see the solution. The ones that don't make sense don't get used. I think Greenspun likes the "hacker" myth just a little too much.

Managing programmers is *not* fun (2)

Jon Erikson (198204) | more than 14 years ago | (#646330)

I've managed teams of programmers before, and lived to regret it as well. I'd rather face an angry customer complaining about how their Linux box got hacked again than try and get a team of unwashed, unmotivated programmers to put out a working product built to spec within the amount of time allocated.

I'm sure that programmers here will claim that their huge intelligences are responsible for their constant need to change the task they're doing and their complete lack of focus, but it means that out of every hour they're present, only half (if you're lucky!) of it will be spent working. The rest will be spent browsing the net, checking emails, getting drinks, going to the toilet, scratching their armpits and any other activities that can help them avoid doing what they're begin paid for for another minute.

And when they get in in the morning then you can write off the first couple of hours totally, as they're still shambling zombies from an all- night pizza, BO and coding session that only ended three hours ago. In fact there have been two occasions I had to send someone home just to shower, because we had clients coming in. Not that clients get to see the programmers if possible, you need to give the right impression after all.

No, after a frustrating year of dealing with programmers I have the greatest of respect for product managers and the like, because they are the ones that have to try and get work from people not used or willing to getting a job done. It's like squeezing blood from a stone.

Neither (1)

JurriAlt137n (236883) | more than 14 years ago | (#646334)

It's your choice: do you want to hear "You stink!" all of the time, or "Good job!"?

None of the above. The only thing words I want to hear my boss utter are "paycheck", "business trip at expense of company" and our all-time favorite "raise"...

Re:Managing Programmers 101 (1)

twingo_gtx (161891) | more than 14 years ago | (#646338)

If programmers complain:
Get a boxload of toys, hand out to programmers, repeat if needed.

If programmers don't complain:
See above

So true, so true. I would love if they gave me a new toy to play with every week or two. I need some Yo-Yos and some foam balls and any other thing throw around

70 hours is typical (1)

simpl3x (238301) | more than 14 years ago | (#646341)

as usual phillip has a lot of interesting things to say about detail. as a designer/business owner, i have found that remianing flexible at the start of a business (not using architects to lock an entire space down for example) can help when you have found that your assumptions are entirely wrong. also, 70 hours is never entirely productive but necessary none the less in just about every "profession". a large portion of time is used simply to organize one's thinking so that the productive time is used well.

Re:no, we're not lazy... (3)

BMazurek (137285) | more than 14 years ago | (#646343)

Why doesn't he get a nice breakroom with a foosball table when he's actually doing somthing physical all day long. Programmers don't get tired, they slack more and more as the day goes on. PLBTH!

Because the work is different.

I've worked as as a in a saw mill and as a garbage collector, and 6 years in the software industry. Manual labour is different. I enjoy both.

Writing code is fun and allows creativeness. But often when I go home, I don't want to do a heck of a lot.

Manual labour can be fun, in that you can let your brain go into neutral. You come home physically exhausted, but you feel good. You feel like doing other things.

Someone working at a computer needs different kinds of breaks compared to people performing manual labour.

Re:70 hours?!? (1)

JurriAlt137n (236883) | more than 14 years ago | (#646346)

Let me guess. They do that for about 30 hours a week?

Right, sure, uh-huh (1)

coryboehne (244614) | more than 14 years ago | (#646350)

In my experience (ISP Admin) all that unreasonably long hours garnered was unreasonably SMALL salaries. I would work for up to 80 hours a week, and guess what, instead of overtime, or even just paying me for the hours at a regular rate, they gave us 'comp time' (illegal in NM as I found out later) so this does'nt very well hold true in every case.

3x-7x pay raise? (3)

TurkishGeek (61318) | more than 14 years ago | (#646354)

If the student finishes a PhD thesis, he or she is positively reinforced by being given a 3-7X pay raise.

I am not sure I get this. Is this a 3-7x improvement over the generally pathetic grad assistant salary? It surely can not be a 3x-7x improvement over a programmer with a similar age with no Ph.D who has chosen to work in industry instead of grad school.

Even then, I have yet to see a Ph.D that makes 7x his grad assistant salary, unless his grad assistant salary was in the 10K-12K range. Heck, if one can live with that salary for 4-5 years, then perhaps he really deserves a 7x increase.

Re:Unreasonably large salaries. (1)

jallen02 (124384) | more than 14 years ago | (#646356)

Can you say retirement at 38?

Thank you :)


Re:Spot on but for the hours (5)

ucblockhead (63650) | more than 14 years ago | (#646361)

The problem is that managers get misled into thinking that this works because it does, for a month or two. For the first couple months, you can bang out eighty hours weeks producing top quality code. Then your productivity falls until you have to stay there eighty hours just to do what you normally could do in forty. And then it keeps falling.

The average person can only work 40-60 hours a week without burning out. It is very bad to plan otherwise. And I suspect that in a lot of cases distributing lots of cool toys means that the coders are there for eighty hours but perhaps working for only sixty. That's not a bad thing...

Hell weeks with long hours should be saved for important deadlines. You want people relatively rested so that when emergencies hit, you can throw things into overdrive and become a hero. Otherwise, you'll find that when crunch time comes, you've got nothing left. Never sprint in the first mile of a marathon!

Well I'd better retire (3)

cheekymonkey_68 (156096) | more than 14 years ago | (#646363)

I'm not long past thirty with a sixteen month old little toddle, according to Greenspan I should just put myself out to pasture and get my carpet slippers.

Surely if project managers did their job probably and argued the case for realistic project deadlines all this macho culture of working 70 or 80 hours a week would be unecessary.

Remember when you have a family you have responsibilities, and that means avoiding death march projects in companies that require you to work at least 70 hours a week.

Re:no, we're not lazy... (1)

coryboehne (244614) | more than 14 years ago | (#646364)

exactly, the only question is which do I enjoy more?

Re:Unreasonably large salaries. (1)

chrischow (133164) | more than 14 years ago | (#646368)

perhaps but you would have missed out on a lot getting to 38!

Form a union! CPU: The Computer Programmers Union! (5)

Anonymous Coward | more than 14 years ago | (#646371)

Don't wanna haul around radioactive waste in cardboard boxes? Or carry ebola samples in ziploc bags? Or work in mines with no wall or celing supports? Or work 16 hours a day and live in soot covered housing on company grounds? Well, we're paying you $150K/yr, so shut the fuck up, whiny mama's boy.

Is "high pay" the latest excuse to justify crap treatment?

It gets worse. Get married? Have a kid? Need to cut back the work hours to "only 40-50 hrs/wk" as a responsibility to your family. Then you get fired. And no IT company will hire older workers that have a life because they won't work 80 hours weeks (like recent college grads and H1B visa workers can), even though their contract never mentions more than 40 hours, or mentions overtime pay or days off for additional work hours, which employees get fired if they actually try to claim that pay/time. And of course having the company cell phone 24/7 on weekends or at night is never considered to be so much as one working hour.

If companies don't start treating IT workers better, tech unions WILL form. Think they're a bad idea? Hate untions? Hate the corruption? Hate the politics? Hate the strongarming? Well, hey Mr. Employer, then this is your lucky day, because you have a chance to FIX THINGS NOW, before the union forms. Otherwise, don't start whining when some union has your business upsidedown by the balls down the road, because you had your chance to fix things now. Why are you wasting time reading this while your IT staff is 6 braincells short of pulling triggers from overwork? Go and make their lives more pleasant. Yes, it'll even boost productivity. Happy workers are productive workers.

SCREW YOU!!!! (1)

Xenix (232152) | more than 14 years ago | (#646373)


Re:Unreasonably large salaries. (1)

sstrick (137546) | more than 14 years ago | (#646378)

I think that is the general approach to programming these days.

Work 70+ hours weeks until you make enough money that you can retire when you have that nervous breakdown.

Thats my play anyway.

Technical Workers Unite (1)

abe ferlman (205607) | more than 14 years ago | (#646379)

From a business point of view, long hours by programmers are a key to profitability. A programmer probably needs to spend 25 hours per week getting coordinated with other programmers and comprehending the structures of the systems being extended. Thus a programmer who works 55 hours per week is twice as productive as one who works 40 hours per week. In The Mythical Man-Month, the only great book ever written on software engineering, Fred Brooks concludes that no software product should be designed by more than two people. He argues that a program designed by more than two people might be more complete but it will never be easy to understand because it will not be as consistent as something designed by fewer people. This means that if you want to follow the best practices of the industry in terms of design and architecture, the only way to improve speed to market is to have the same people working longer hours. Finally there is the common sense notion that the smaller the team the less management overhead. A product is going to get out the door much faster if it is built by 4 people working 70-hour weeks (180 productive programmer-hours per week, after subtracting for 25 hours of coordination and structure comprehension time) than if by 12 people working 40-hour weeks (the same net of 180 hours per week). The 12-person team will inevitably require additional managers and all-day meetings to stay coordinated.

This is clearly from a management perspective, and while this advice will be useful for managers, it underscores the need for unionization among technical professionals. An industry norm of 70 hours a week would be devastating to the lives of most human beings without some other sort of compensation, like 3 out of every 7 weeks off.

Hours? Hah. (2)

Angst Badger (8636) | more than 14 years ago | (#646380)

Greenspun's right on except for the hours. Maybe he's right that good programmers are more productive pulling exceedingly long hours, but it's an awful way to treat workers. Sure, we get paid buttloads more than 19th century factory workers, but the social consensus that developed while union members were getting their skulls bashed in by private corporate armies and federal thugs in the first part of the 20th century was that some conditions are unreasonable no matter what the pay. If you have a spouse and children, to work 70+ hour weeks is to be neglectful, period. Unless we are collectively planning to continue the popular practice of riding young programmers like cheap whores and discarding them as soon as they turn 35, this sort of thinking must be met with the derision it deserves.

Past a certain point, productivity has to give way to the well-being of the worker. Antebellum slaves were more productive working from before dawn until after nightfall, but their life expectancy wasn't very high. The Japanese, who pioneered this sort of thing in the white-collar world, are finding that the heart-attack rate for men in their 40's and 50's is alarmingly high. There is nothing anyone is doing in the business world, <sneer>"dotcom"</sneer> or not, that is worth grinding people into the ground like that.

Just my two cents. I'm going to start my 70+ hour work week now.


Good specs (2)

wiredog (43288) | more than 14 years ago | (#646381)

"put out a working product built to spec within the amount of time allocated. " You have complete specs? How unusual. As a programmer I have found that the customers desires, and therefore specs, change during the course of a project. One of the hardest things to do is to get a customer to agree that "That feature needs to be in the next version." Because of this, the spec is never complete, therefore the project never is.

Re:no, we're not lazy... (1)

jallen02 (124384) | more than 14 years ago | (#646383)

So true, anyone with any mental capacity can do a reptative mental task over and over and over you dont need much of a break to maintain productivity you dont have to solve anything beyond what to do next and gee guess what its the same thing youve been doing

Whereas, every day you run a mental jungle gym and without *SOMETIHNG* in there to help refresh your brain and distract you (at least with a guy) you know smaller problems to help you solve the bigger problems, you arent going to achieve a very high level of proficiency. As you go your mental capacity to solve problems increases along with your logical skills period so that maybe some tasks you dont have to think so hard about any more, however most of my days im faced with challenging problems still and I enjoy a quick 10 minute break of nailing my boss with pennies and whatever else comes close to hand... Or walking around the office making fun of people going down the one way street the wrong way (owch), whatever just anything to distract you for a little while, its required.

Only like the most focused inidivduals can deal with no breaks, and honestly ive only met one programmer who did that, and I still wondera bout him so, nuff said.


I'm on the cat side. (1)

pruneau (208454) | more than 14 years ago | (#646384)

I won't work for that guy.
Why ?
Because there is at least three things at home he will _fail_ to bring at work :
- my wife (she's allergic to work)
- my childs (just give them a try)
- my cat (there's too much dogs into his offices).

Hey Philip, work and life just don't mix...

Unless you do things like redhat does : instead on bringing home to work, you bring work to home - now that's better !

Re:Neither (1)

JurriAlt137n (236883) | more than 14 years ago | (#646385)

That depends. If those magic words have "no more" in front of them...

Re:Wrong assumption to start with (2)

segmond (34052) | more than 14 years ago | (#646386)

It depends on what is being worked on. Take example of a code for a complex database system, cryptography, tcp/ip stack or some complex program. Even when implemented in a simple clear elegant solution, the average program will be lost, simply because he does not have the right background, so he will spend time catching up. But I still agree with you that something is wrong with Greenspun's hypoehetical workplace. In a good project, programmer's don't need to be reading each other's code, except during code review and when hunting for bugs. That is why we have modules, The very good programmers work on important part of the program, the average programmers work on the other parts, the newbies, work on perhaps the installation and simple parts.
Nevertheless, the article is a good article.

Re:Unreasonably large salaries. (1)

jallen02 (124384) | more than 14 years ago | (#646387)

I have no idea, but I love drooling over my car that cost more than anything else ive owned in myl ife that I get to drive 20 minutes a day.. :-P

The trick is do you enjoy what you do?


SE is difficult because... (1)

garoush (111257) | more than 14 years ago | (#646388)

... Soft. Eng. is an _art_.

-- George

Re:no, we're not lazy... (5)

ucblockhead (63650) | more than 14 years ago | (#646390)

What a lot of people don't realize is that programming is hard work. Brain work. People don't realize that the brain is just like a muscle. It gets tired. It needs to be stretched. Most of what is called "play" here is the same as stretching muscles. You've got to do it, or you'll get a brain cramp. And that's not fun, if you've ever experienced it. After a long coding session, your brain locks and suddenly a trained monkey could do better than you could.

Anyone who has coded a long time has had the experience of having a hugely frustrating problem, going off for a movie or a nap or whatever, coming back, and fixing the problem in a few minutes of coming back.

Of course, you've got to make sure you do real work too. Twenty minutes playing videogames can boost productivity tremendously after a long session. Three hours of videogames is obviously just slacking.

This is one reason like coders like visceral twitch games like Quake. They allow us to turn off part of the brain and limber up for a while.

Happily discarding decades of Workers' Rights... (5)

American AC in Paris (230456) | more than 14 years ago | (#646391)

One very important thing to remember here, folks.

The economy is good right now--very, very good. So good that We The Programmers can often dictate the terms of our employment.

Being human, we get greedy. We willingly work unhealthy hours at the promise of scrumptiously high wages. To help us along with being in the office 70 hours/week, employers give us cushy toys and comfy offices.

What happens, though, when the golden days end?

What happens when you wake up one day, find that you don't have the comfy office environment you once did, that there aren't fifty gazillion companies who'd hire you in a second, and, because you've done it so willingly for so long, you're still expected to work the same 70-hour week as before (or stand to lose the job you can't replace in a heartbeat anymore)?

The companies are only your friends now because it's the only way they can keep talent. What do you do when the tech cup no longer runneth over, and you've already willingly committed yourself to a dangerously unhealthy work week?

We're taking the work of generations' worth of workers' rights activists and throwing it all out the window because of a sudden, unexpected, and extremely volatile explosion in the amount of leverage the common tech worker has. We're willingly launching ourselves back into indentured servitude, and it's only going to be to our benefit for as long as the boom lasts...

Re:Right, sure, uh-huh (1)

TheBahxMan (249147) | more than 14 years ago | (#646392)

Hey, hopefully yer not referring to Usurf, whom I also worked for. They pulled something similar on me before they up and moved to Boise. I had 20 hrs of overtime and I never saw it. Being underage, there wasn't much I could do about it, however I did send a very professional letter to each member of the board, and It solicitied ZIP for a response. Thanks Usurf!

well, the'll be out of business before you know it anyway, so fuck 'em. They were supposed to fix my wireless over a month ago. They can burn. (kill them all...)

Software 'engineering' is different because... (2)

l2b (40934) | more than 14 years ago | (#646394)

...as practiced in most shops it is not engineering. Can you accurately predict what the code will do before you run it? Betcha most of us cannot. Real engineers can predict the properties of the most complex product they are working on before implementing it, be it buildings, circuits, mechanical structures, etc. (Or even complex large automated computer systems.) For this to happen, they have models that accurately and completely represent the contemplated system. I have met few people in the software industry that even realize this.

If we built bridges the way most people build software, we'd all be dead because the testing (and problem discovery) would happen in production.

Unskilled and unaware of it... (2)

Tet (2721) | more than 14 years ago | (#646396)

From the article:
One of the paradoxes of software engineering is that people with bad ideas and low productivity often think of themselves as supremely capable.

Actually, this isn't unique to software engineering. I recently read a fascinating paper on that very subject, which shows that the least capable are not only unable to perform a given task, but they lack the ability to judge their competence at that task, and hence grossly overestimate their abilities. See http://www.apa.org/journals/psp/ psp 7761121.html [apa.org] .

Re:Well I'd better retire (1)

kevin42 (161303) | more than 14 years ago | (#646397)

Been there too. :) Fortunatley there are a number of jobs left where you can get paid well and work a reasonable number of hours.

In my experience the death march isn't neccesary. I worked at a company once where it was expected that most people wouldn't work hard unless they knew we were in crunch mode, so we went into crunch mode (i.e. 12-18 hour days 7 days a week) for 6 months at the end of each project. So in turn nobody wanted to work hard for the non-crunch mode part of the project and of course it was a self fulfilling prophecy.

I have proven through a number of succesfull projects that that isn't the right way to run a project. If you manage people well and manage the project well you can deliver quality code on time without killing people doing the work.

As far as blaming the project managers, someone posted about the project manager's job being a negotiater. In my experience that's true, and I don't think you can blame the PM for a project's failure to deliver on time. It's got to be up to the technical lead, or whoever actually has the authority to make it happen. IMO peer management doesn't work.

Salaries not that large (3)

MrEfficient (82395) | more than 14 years ago | (#646400)

...but I'm not sure I agree with his concept that it is necessary to work 70-hour weeks (though for unreasonably long hours, they do pay unreasonably large salaries).

What do you consider to be an ureasonably large salary? Are you talking about the $70k they (ARSDigita) pay their entry level programmers? Let's think about that for a minute. $70k for 70 hours per week, that would be $40k for for a 40 hour per week job. Mmmm, not looking so good now, but wait, there's more. Let's consider the location of the job, Mass. What's the cost of living there compared to your current location (hint: its pretty high). According to this site [homefair.com] $40k in cambridge is equal to about $24k where I live. That just plain sucks. Remember, big numbers don't always mean big quality of life!

Hard to manage programmers in Silicon Valley... (1)

imagineer_bob (163708) | more than 14 years ago | (#646401)

...or at least it was a year ago, during the peak of the "dotcom" boom.

It was so easy to find a job (and conversely, so hard to hire), that my staff knew as long as they were somewhat productive, their jobs were safe!

I had a hell of a time getting people to show up to work before 1 or 2 in the afternoon and staying for more than 4-5 hours a day! Threats of termination didn't help, because they knew it would be next to implossible to replace them.

Now that the dotcom bubble has burst, good old-fashioned management techniques will probably work again, but I'm out of the people-managing business for now.

--- Speaking only for myself,

punishment != negative reinforcement (1)

mmmmbeer (107215) | more than 14 years ago | (#646404)

One thing in particular bugged me about this article. He misuses the term "negative reinforcement." This is not the same as punishment, which is what he is talking about. Punishment is the act of causing an unpleasant result if the subject (e.g. an engineer or a student) does not produce the desired result. Negative reinforcement is the act of causing something unpleasant until the subject produces the desired result.

As an example, in teaching a rat to run a maze, lets say you implant a device which can cause the rat a small amount of pain. Then, if the rat runs the wrong way, you activate the device. This is punishment. Now lets say you keep the device active unless the rat is running in the right direction (even if it's standing still). This is negative reinforcement.

Leaving @ 6:00 p.m. (5)

bigbird (40392) | more than 14 years ago | (#646407)

If you see one of your best people walking out the door at 6:00 pm, try to think why you haven't challenged that person with an interesting project.

Maybe your best people have a life. Maybe they are married, have kids, or have hobbies. Maybe they work on a really cool open source project outside work. Maybe they have better things to do than dedicate every waking hour to your ever so important project ... maybe they are smarter than you think!

And finally, maybe they are good enough or smart enough to accomplish more than what's required from 8 am - 6 pm. And you just want to extract every last ounce of servitude you can. Not a nice way to treat people.

Working hours... (1)

citmanual (2002) | more than 14 years ago | (#646410)

Phil, as usual, has things pretty much right. But, I disagree entirely with his concept of hours. He seems to think that coders should be strapped in for 80+ hrs/week and I think that is nuts. I need my home time to deal with having a life (translation: getting really really drunk because I have no other life). I do vaguely remember having a girlfriend at one point or another, and I do recall not wanting to work all day and night.

I would like to see a slashdot poll on num of hrs we all work. I imagine there already has been one, but nothing better than a rehash.

Re:Happily discarding decades of Workers' Rights.. (2)

Badgerman (19207) | more than 14 years ago | (#646411)

Agreed. Some programmers are putting themselves in a dangerous position - to themselves, and to feeding the delusion some (not all) companies have.

We *DO* have the talent to broker deals, to make a difference. But to do that we need to be willing to change, to find the right jobs, and to sometime take that lower paycheck in exchange for sanity.

It's also important that companies get realistic views of programmers and programmer needs now. Otherwise they will make plans based on inaccurate information. Taking a job that gives you time and sanity is one small way to contribute to this.

And these jobs are out there. I'm employeed at a consulting firm with training, bench time, and a reasonable support-the-employee attitude. I even make more money than where I used to be. Best of all for them, I WILL work those long weeks when they're really necessary, because I won't be burnt out.

Re:Software 'engineering' is different because... (2)

truthsearch (249536) | more than 14 years ago | (#646413)

This is true all too often, but well managed projects may not be as rare as you think. I can tell you exactly what new features will exist in the next releases of my applications and how they will look and feel to the user. In a well run project, you can write the app's user documentation before coding even begins. That's one difference between a programmer and a developer/engineer. Unless development is done what I call cowboy-style (come into down, get the dirty work done, then get out asap, leaving a mess behind), any good developer should be doing pseudo-engineering.

Good Grief!! (2)

StormyMonday (163372) | more than 14 years ago | (#646415)

Where to start? This is the biggest piece of pseudo- management crap I've seen in ages. Outside of a few well-worn chestnuts ("Positive reinforcement is better than negative reinforcement. People do what you reward them for doing." Duh, and duh.) this is a recipe for disaster.

Rather than do a point-by-point commentary on this piece of fertilizer, I'll just say that, Once Upon A Time, I was part of a proposal effort where our competition followed Greenspun's philosophy. Our group used the classic software- engineering management style. We not only won the bid, we humiliated the other group. The client rated our system superior in every category, including price.

Yes, we had our superprogrammers. Yes, most programmers were average. The main thing that made this project such a success was talented management and adequate funding.

Perhaps Greenspun is hoping his competitors will follow his advice?


Close, but.... (1)

rrwood (27261) | more than 14 years ago | (#646417)

Greenspun is right on the money for most of what he says. I'm betting he's single and a major geek though, since he has no clue about families and generally having a life outside of work. Granted, there are some people who are great programmers and who have no life other than work, and if you built a company out of them, you'd probably make a ton of money. However, there are a lot of talented people who do grow up and who do realize that there is more to life than just code, and IMNSHO it's worth tapping the resource that these folks represent, too.

And yes, I do consider myself a good programmer, and I do have a wife and kidlets. And having kids has turned out to be cooler than I could have ever comprehended before it happened. Yeah, it's an intellectual thrill to write some kick-ass code and have people at work be impressed, but if I were hit by a bus, they'd hire someone else, and never miss me. But my kids-- to them, I'm irreplaceable, and as a parent, I'm doing something that truly touches their lives and changes the world (for the better, I hope).

So, try to stay focused on what really matters. Computers are a lot of fun, but it's the people in your life that really matter (or should). Again, IMNSHO, of course.


Re:My perspective (1)

joshua (2507) | more than 14 years ago | (#646418)

The trouble is, observation shows that most companies don't actually *want* to produce the best possible product, and will actually penalise developers who have that as a goal...

Re:management by consensus (1)

Anonymous Coward | more than 14 years ago | (#646419)

What do you think about FreeDevelopers.net [freedevelopers.net] ? It's in embryo, but I wonder when it will be feasible to carry this democracy idea to FreeDevelopers.net's extreme.

Move to NL (2)

citmanual (2002) | more than 14 years ago | (#646422)

Over here we don't get wicked huge salaries (excellent lifestyle by NL standards), but we do get perks from hell.

-28 days/yr vacation, off the bat. I started here June 1 and have already burned my 16.5 days for the year.
-hella perks. I went for an all expense paid corp vacation to South Africa. Spent the whole week drinking corp beer and eating like a king. Oh, and there was the whole safari aspect
-decent working hours. I slog 45 hrs usually. no more, not much less.

I don't get to drive a hot new car as I would back in the US. I also miss my truck, but living is good.

Re:Do they only hire people with no social life? (1)

fizban (58094) | more than 14 years ago | (#646423)

Hear Hear! Bravo!

Re:Managing Programmers 101 (2)

BinxBolling (121740) | more than 14 years ago | (#646424)

If programmers complain:

Get a boxload of toys, hand out to programmers, repeat if needed.

If you're interviewing with or working for a company that provides a lot of toys, ask yourself: What am I giving up in return for these toys?

If you feel compelled to spend 70 hours a week in the office because the company provides a playroom with some video games and a few other goodies, you're a sucker.

I don't want toys. I want a good salary. I want reasonable working hours. Most of all, I want opportunities to build high quality software, and to feel pride in the things I have created or helped to create.

Link slashdotted... (4)

TurkishGeek (61318) | more than 14 years ago | (#646425)

Well, the ArsDigita link is slashdotted. Strange contrast to their claims of the reliability of their server/software architecture that they hype up to high heaven on their site. Perhaps overpaying programmers/sysdamins to crank out Tcl code or set up AOLserver boxes for 70 hours does not necessarily work for designing stable Web sites.

Managing software engineers is like herding cats. (2)

NecroPuppy (222648) | more than 14 years ago | (#646426)

Think about it.

Programmers want to do their own thing, even though they are being paid to do what the company wants.

To get them to do what you want, occasionally, the cat toys have to be broken out, in an attempt to get them all working on the same thing.

And, like cats, if you mistreat them, they will sulk, ignore you, and actively plot your destruction.

Article thoughts (2)

timbu2 (128121) | more than 14 years ago | (#646427)

I've always liked Mr. Greenspun's writing, and his various we sites.

A couple of things to keep in mind.

He isn't always as right as he is opinionated.

He makes a lot of assumptions about the world, that may seem to have evidence in his world, but don't play so well to the rest of us.

That said, there were a number of interesting points made.

Like everyone else I think having people work 70+ hours a weeks is bullsh*t. It might work for a while but it isn't sustainable or neccessary. I work with veteran of the software industry who started in the 70's, 80's and early 90's. Not only can they put out high quality code, but they can do it in 40 - 50 hours.

Maybe if you hire single people who wish to stay single this will work. Heck if you reward them well enough anyone might do it for a year or two, but I don't think it's sustainable.

See what happens to your star programmers when they are going through a really ugly divorce because there wife has given up on their marriage.

25 hours a week spent in communication is ridiculous. Lots of companies have a lot less than that.

One or two people doing the design, now that is critical. But it might be valuable to have a bunch more people review the design to make sure the design isn't screwed up.

Re:Move to NL (2)

codemonkey_uk (105775) | more than 14 years ago | (#646428)

The Netherlands. But you can do normal hours in London too if you like.

The whole 70 hour week is a demented American concept.

Only a fool would throw away their formative years for money.

Money. Does your money hug you? Does your money say "I love you"? No. It does not. Its money, and, its worth nothing unless you spend it.


Re:Unreasonably large salaries. (1)

0xdeadbeef (28836) | more than 14 years ago | (#646429)

Man, the old hippy slogan sounds very appropriate in this situation: do you own your car, or does your car own you?
Bush's assertion: there ought to be limits to freedom

Joel Spolsky has good thoughts on these issues too (1)

gkanai (148625) | more than 14 years ago | (#646430)

Joel Spolsky [editthispage.com] also writes on these same issues: interviewing [editthispage.com] programmers, hiring [editthispage.com] programmers, user interface design [editthispage.com] for programmers, functional specifications [editthispage.com] , as well as productive software schedules [editthispage.com] .

Can you say stroke at 39? (4)

bluGill (862) | more than 14 years ago | (#646431)

A neighbor of mine was a single guy who owned his own house, has a nice boat, nice car, and over a million dollars (if he sold his investments) He had a stroke at 39, and will spend the rest of his life in a nursing home unable to enjoy any of that money. Well, unless you call paying a nurse to help you to the bathroom enjoying. Personally I respect my fellow humans too much to want someone else wiping my rear end.

Point is, if you live a healthy life to 75 or more, retiring at 38 is great and worth the years of working too long of hours. If your health disappears what good is all that money.

Of those I graduated from high school with, several didn't live to their 5 year class reunion due to accidents. (I'm not even counting drugs or suicide which account for a couple more) Accidents happen, and there is nothing you can do about them.

therefore, I'm enjoying my life now. If I live to be 123 and am healthy all the time, great, but if not I've enjoyed what I had. Mind you, I am puttting a large sum of money into retirment funds so I can retire early, but I'm not working more then 50 hour weeks (and that much rarely) so I can enjoy what my health while I have it.

Re:Unskilled and unaware of it... (1)

l2b (40934) | more than 14 years ago | (#646432)

This was indeed discovered very early on. The oldest reference I have is "Forgive them, for they know not what they do", which is, of course, found in the Bible's New Testament.

Drivers and Software Engineering... (1)

truthsearch (249536) | more than 14 years ago | (#646433)

One of the paradoxes of software engineering is that people with bad ideas and low productivity often think of themselves as supremely capable.

Isn't this true of most drivers on the road? If we're all such good drivers, as most of us think we are, then why are there so many accidents?

Re:Great Tips (1)

mazur (99215) | more than 14 years ago | (#646434)

Here's one of the great tips from the page

"positive reinforcement is more effective than negative reinforcement"

WRONG! I know that failing my classes (negative reinforcement) sure is more effective at making me study than when I wasn't failing them.

That's a completely different type of environment, with a different goal and different working method. If at work they only nag on about my failures or deficiencies, and not in the same strength praise my good work, I'm likely to get sullen and unmotivated, even though the pay's good. I do goof up from time to time, and sometimes I'm brilliant and solve complex seeming problems with a few keystrokes. I don't mind hearing about the bad stuff, as long as they do not forget the good stuff and say so.

It takes a lot of brains to enjoy satire, humor and wit-

Re:3x-7x pay raise? (1)

Neutronix (248177) | more than 14 years ago | (#646435)

Well, what I realy would like to see is One get a PH.D working 100 Hours a week...

Re:no, we're not lazy... (1)

TheBahxMan (249147) | more than 14 years ago | (#646436)

I agree, that using a game like Quake to 'limber up' the brain is a fine idea, however a better idea would be, for instance, taking a walk, reading the newspaper, taking a nap, going to the gym. A healthy mind requires a healthy body, something I have noticed many programmers have the time (use your lunch break!) but lack the initiative. I'm in my first semester in college and I'm glad the school I'm attending requires fitness classes. I was on my way to 300 lbs and now I'm building muscle and I've lost the gut. I have more energy than I know what to do with, and when I program I do it faster and in a way that makes more sense. Not only will being fit and healthy improve the way you function, but god forbid some of these programmers actually get outside and enjoy whats left of our world. For christs sake take a sunday drive to the top of Glorieta Baldy!* *(or whatever your local mountain may be...)

Do they only hire people with no social life? (5)

Malc (1751) | more than 14 years ago | (#646437)

"It is easy to make an office more entertaining than the average person's home. Most people have a TV at home but they don't have friends with whom to watch it. "

Comments like this and obvious expectation to work 70 hour weeks seem rather condescending and also imply an expectation that work is more important than your life. In my experience, at 70 hrs/wk, work becomes your social life too. Sorry, but that's not acceptable to me anymore. I have and want a life outside work. I recently got engaged, and in my opinion, family comes first. Then friends. Work should have a lower priority than your happiness, and it shouldn't try to provide all those things (afterall, most employment that I've experienced in the US is "at will" and they will drop you with no compassion if they need to make cutbacks). I might love my job, but not over other aspects of my life. I work to live, not live to work.

If other people want to work that hard and enjoy it... fine, but don't be resentful of those who want to work 40hr weeks, and don't try to make them feel guilty for that. I've seen too many examples of managers trying to manipulate people with families, outside interests, etc, by telling them that a load of other people in the office are working twice as many hours. That's not fair: most of those other people are either single, or slowly destroying their personal relationships. What's the point of working 70+hr weeks on a project if you wind up with a divorce? You've lost somebody from your life who should be there long after you've left your employer. You might have earnt a lot of money (assuming that the project succeeded), but it's no good if you have nobody to share it with, and enjoy life with.

Re:Wrong assumption to start with (1)

HiThere (15173) | more than 14 years ago | (#646438)

There's more to it than that, though I do agree that if everyone is working in the same environment, that "good or great programmer will write code that is obvious to even a novice, once it is written." is a fair characterization. But beyond that, it is a metric that can be used to rate development environments. If the code can be understood after it has been created, then the development environment is a better environment than if it can't. And an environment that makes it easier to write (wright?) good code is a better environment than one that doesn't. Thus, adding lint to a C programming environment will improve the environment. So would adding a good Xref program. Or a syntax highlighting editor. etc.

Caution: Now approaching the (technological) singularity.

Re:Hard to manage programmers in Silicon Valley... (1)

In-Doge (116196) | more than 14 years ago | (#646439)

Well if good "old fashioned" managment techniques mean overworking your employees and treating them like dirt or little more than pawns in a chess game, count me out.

One of the reasons I love the computer industry is because it's easy to find a company with a fresh, laid back attitude to work, yet can still get the job done. Work hard and play hard.

Re:Spot on but for the hours (1)

pvera (250260) | more than 14 years ago | (#646440)

The more hours you work in a row the more the wear and tear on the programmer. Any programmer can work 50-hr weeks indefinitely but once you go over the 60-hr mark you are starting to wear down the programmer.

The other problem is that programmers that are salaried don't see jack until and if they get some kind of bonus. Back when I was a network controller I got paid for every hour I worked, but now that I make twice as much I get paid the same for 40-hr weeks than 70 hrs. And the inflated salaries are a myth.

Earning $70,000/yr sounds kickass until your 6th weekend in a row programming and you start turning in timesheets with more than 130 hours in a 2-week pay period.


Warning! (1)

Neutronix (248177) | more than 14 years ago | (#646441)

Just a bit of advice for the ones that are working 70-80 hours a week...

Why did you get that job? Because you had the technological expertise, right?
How long will you keep up with the latest technology while still working all your waking hours?
Will you be useful to your company?

Will your company give you time to catch up, or will they contract a younger a more apt guy?

Think about it.

More hours == more quality code? Hardly. (1)

gambletron 3000 (33775) | more than 14 years ago | (#646442)

Another person who seems to belive that Rambo coding is the way to go. Productivity is not a measure of how many letters you type. Try reading <a href="http://www.fastcompany.com/online/06/writest uff.html">this</a> for an example of how coding is done by grownups when lives are on the line instead of stock options.

Re:Hard to manage programmers in Silicon Valley... (2)

sheldon (2322) | more than 14 years ago | (#646443)

Being asked to do more than 4 hours a day is called overworking?

Re:Link slashdotted... (1)

corecaptain (135407) | more than 14 years ago | (#646444)

moderate this one up.... Greenspun (who does have some interesting things to say, but has a God complex IMHO) should make sure his site(s) can handle the slashdot effect before spouting off!

If you don't like money ... (3)

psergiu (67614) | more than 14 years ago | (#646445)

...then come here, in eastern europe. You'll get like 6,000 if you're really lucky (usually more like 4,500) :)

And the prices here are just a little tad lower. (US imported stuff is allmost 2x the US price however)

You americans just whine too much.


Don't these people have lives? (1)

armb (5151) | more than 14 years ago | (#646446)

"It is easy to make an office more entertaining than the average person's home. Most people have a TV at home but they don't have friends with whom to watch it."
I have a family at home which means a lot more to me than TV. I like where I work, but one of the things I like is that working 70 hour weeks is something that happens occasionally when there is a crisis, not the norm.

He's right about the hours, but... (2)

joss (1346) | more than 14 years ago | (#646447)

You do get more than twice as much work done working 70 hours a week than 40.

He's also right about productivity. The best programmers do get 10x as much done. The exceptional programmers typically get 10x as much done as the good programmers.

Companies try to listen to this advice, but they never take it seriously. They think they can get really good programmers by paying 1.5x as much and buying a few toys. Unless they are very lucky, they just end up with average programmers like everyone else, and maybe a couple of engineer-savants (great programmers with no common sense).

The fact is that no companies will pay them 10x as much. In fact, it's hard to find a company that will pay 2x as much. Say an average developer can make $50,000 per year working 40 hours per week. If paid according to achievment, a really good programmer working 70 hours should earn around $15,000 PER WEEK. There's no way on earth that traditional companies will pay that much - the director of HR would go mental if they found out some hacker at the bottom of the management chain was earning twice as much as they were.

The only way for really good programmers to make the kind of money they are worth is by working for a start-up where they can have a decent equity slice. Then they'll work 70 hours + per week. Otherwise there's no point unless the work is *very* interesting. Contrary to popular opinion, the very best programmers do have a life. It's the 2nd tier geeks who happily work 70 hour weeks as a matter of course and spend the rest of their life playing video games.

If companies took the hyper-productive programmer thing seriously, the job market for programmers would look like that for sports stars. Until companies are prepared to pay those hyper-productive programmers enough that they could work for 6 months and then spend 6 months doing whatever the hell they like. In the mean time they just pretend to themselves that they have the best people.

Re:Unreasonably large salaries. (1)

amccall (24406) | more than 14 years ago | (#646448)

Even if you invested most of your unreasonably large salary into stocks/bonds/etc... you still would probably not have enough to retire nicely.

And what good does retirement do at 38? Working in a high stress job for 12 years has probably cut your lifespan in half, and you'll end up dead at 40.

People need to learn this: a high pay job is not worth your health. Ask anyone that has had a heart attack at 45. I would rather earn 45,000 and have peace of mind and free time, than 75,000 and be jumping off the ceiling with a sky high blood pressure.

Re:Wrong assumption to start with (2)

Lando (9348) | more than 14 years ago | (#646449)

I completely agree.

I am currently redesigning a system that has 220,00 lines of code, but the programmers that wrote the program in the first place never used libraries and there is a lot of repetition. Changes were made in different areas as problems were noted and never replicated to the other proceedures, etc, etc, etc.

As head developer, I made the decision not even to have my junior programmers work with this poorly writen code. Senior programmers and myself only. Once we have rewriten a function and made it available to the juniors, they can usually work out in a couple of hours what it took for a day for an experienced programmer to pull apart. So writing the code correctly takes a heck of a lot less time... Given that the code we are generating is well documented, juniors never have to even touch the functions just understand what the function does, this takes about 15 minutes max. I mean how many people have gone through the code for the printf function? Now how many people use it.

The article is slashdotted at the moment, so I have not read it, but from the comments it appears that he is just flinging "The Mythical Man-month" by Frederick Brooks out the window... Somehow I doubt that he has enough experience with programming to do so....


Positive reinforcement is far better (1)

sips (212702) | more than 14 years ago | (#646450)

Feeling that no matter what you do you will fail is absolutely the worst possible thing that you can do. Personally I don't believe in total failure just setbacks and revenge^H^H^H^H^H^H^H reaction to problems.

Re:Move to NL (1)

Kierthos (225954) | more than 14 years ago | (#646451)

Where's NL? I mean, what does NL stand for? North London? *feels he's missing something important here...*


Re:Software 'engineering' is different because... (1)

l2b (40934) | more than 14 years ago | (#646452)

This is true all too often, but well managed projects may not be as rare as you think. I can tell you exactly what new features will exist in the next releases of my applications and how they will look and feel to the user.

Does this information reside in your head? If so, then it is not engineering.

In a well run project, you can write the app's user documentation before coding even begins. That's one difference between a programmer and a developer/engineer.

If this is solely in text form, it is trivial to prove that (unless the system is very, very simple) the text is incomplete, inconsistent and incorrect (i.e. does not reflect what needs to happen correctly). It will also be close to impossible to manage changes.

Unless development is done what I call cowboy-style (come into down, get the dirty work done, then get out asap, leaving a mess behind), any good developer should be doing pseudo-engineering.

I am not quite sure what you mean by the above statement (esp. the term pseudo-engineering).

Re:Well I'd better retire (2)

Pfhreakaz0id (82141) | more than 14 years ago | (#646453)

It's easy. Just say it in the interviews: "If you're looking for a guy to work 50 or 60 hours, don't hire me. I have to get home to my real job." Then when they start making those "hints" a few weeks down the line, say "I guess you thought I was fibbing or something. I'm going home". Managers think you're full of it, or will crack under the "guilt" of your coworkers. In my case, they have been sadly mistaken. I work 40 hours a week, period, and if I happen to do something after hours (maintenance, etc), I take comp time.

Re:3x-7x pay raise? (2)

StoryMan (130421) | more than 14 years ago | (#646454)

Well, I spent three years at Michigan as a grad assistant and, yeah, my "salary" each year was around 10 grand. (And, of course, remember that grad assistants don't get paid from May to September, so take that into consideration...)

Try teaching three classes a year (freshmen classes, I mean), writing a doctoral thesis, and *taking* five classes a year and, well, you're a candidate for burnout.

Now, try living like this for 4-5 years.

Now, I'm not saying that my suffering should be praised or rewarded. Many people have done it, managed to do it well, and eventually got themselves good jobs out of it. (And in fact, I find more prospective employers impressed with the fact that I went the "old school" route -- English/Comp Sci BA, English MA, Creative Writing MFA, English PhD -- than some of these comp-sci hot shots who don't even graduate college. Which, of course, brings up another interesting question: are liberal arts grads -- who come to programming jobs indirectly -- more highly regarded than straight-to-work comp-sci grads? Well, my experience has been interesting. I've had more than a few employers say how refreshing it was to see someone who could code well with a background in something other comp-sci. But I've had a lot of managers who see me woefully under-qualified. Usually these are miserable people to work for, so I'm more than happy to move on. So YMMV.)

But -- getting back to my original point -- it is true to say that a PhD does (eventually) make 7-10X more than his or her pathetic grad student salary!

Frankly, I'd rather depend on the Easter Bunny (2)

Thag (8436) | more than 14 years ago | (#646455)

First off, most programmers aren't working 70 hours a week, or at least not in any company I have ever worked for.

Secondly, exactly how is a union supposed to make my work experience better? Most of my problems at work are with management. Bringing a union into the picture ADDS ANOTHER LAYER OF MANAGEMENT! Not only do I still have to deal with my boss, but now I have to deal with my union boss as well, and I probably have to deal with my real boss THROUGH the union boss and some other damn committee. This is NOT a solution!

All I can say is, if anyone ever tries to do this in a company I work for, I will try my utmost to scuttle it.

Jon Acheson

Re:Link slashdotted... (1)

gadders (73754) | more than 14 years ago | (#646456)

Too true. Are they going to re-write their "How to Build High Performance Websites" manual?

so much for phil's scalability (1)

kellan1 (23372) | more than 14 years ago | (#646457)

well greenspun has always contended against all logic and reason that the AOLServer and Tcl combination scale. if so, why is his website slashdotted?


Beekeeping (5)

goliard (46585) | more than 14 years ago | (#646458)

The more I read of Greenspun, the more I am convinced he's completely clueless.

WRT reinforcement: His little folk wisdom is thoroughly trashed by the many actual studies cited in Punished by Rewards: The Trouble with Gold Stars, Incentive Plans, A's, Praise, and Other Bribes [amazon.com] by Alfie Kohn. Study after study demonstrates that "positive reinforcement" is devastating to creative or intellectual workplaces. Greenspun's comment:

Having thus been rewarded for doing nothing, the programmer tries it again the next month
is absurd, factually incorrect, and, when you think about it, contrary to what is known by every open source contributor! I recommend Kohn's book highly to anyone planning going into management, in part because what he has to say about why people do difficult intellectual work dovetails perfectly with what people have observed in the open source movement -- only he was writing back in like 1994.

In fact a lot of what Greenspun talks about as "obviously" true has no actual support in research. He talks about how overtime is such a wonderful thing, and how it makes companies so wealthy. I have in other places [slashdot.org] noted the mathematics of wages and resources which are so advantageous -- to the company. After all, if you donate 20 hrs beyond a 40hr work week without further compensation, your manager gets a project done for half the money (and possibly in half the time, if there is no exhaustion penulty). Very efficient that.

What of merit there is in Greenspun's article was long ago written by Orson Scott Card in his famous essay "How Software Companies Die [carolyn.org] " -- the one which originated the metaphor that managing programmers was more like keeping bees than planting crops.

Frankly, Greenspun comes off as manipulative and exploitative and pretty skanky. And superstitious: it sounds like his explanations of his company's success are post hoc, and reflect more what he'd like to believe that his actual practice.

Re:Leaving @ 6:00 p.m. (1)

crosstalk (78439) | more than 14 years ago | (#646459)

I totally agree with this. Here at IBM they thing that all we do is come to work and then go home and sleep. All the time they preach this line about being good citizens and all. Then they turn around and all the sudden occasional overtime is now mandatory overitme so that they can get a few more people out of you without having to pay for another actual person. This is one trend here that I am not happy with at all. I for one know that I must have my time away from work, specifically with MY GF, and with the boy scout troop I help with and also just working on the house making sure that everything is taken care of like cleaning and mowing the yard, and cooking. It is just crazy to expect people to work 70 hours a week all at work. Because the rest of your life never stops, even though work sometimes thinks it should.

Re:Software 'engineering' is different because... (1)

Mr. Sketch (111112) | more than 14 years ago | (#646460)

I would bet that most 'real' software engineers can predict what their code will do more than 90-95% of the time. I'm not saying that I can, but I like to think I'm getting there :). As we all gain more experience we get to the point that most of the time we can just look over the code and see what it's going to do without having to run it.

There actually are Proof of Correctness tests that can be performed on code to ensure that it will perform it's desired function. And I've heard (not actually seen though) of software that will produce 100% 'correct' code. However, 100% correct code is usually not optimized at all and in doing the optimization is where most programmers fail and where bugs are often introduced.

The solution that Software Engineers use today is to just try to break the project up into managable components and hope each one of them is done correctly. However, if a component is not correct then the problem cascades into other modules that depend on that component.

But in theory software can be written such that it doesn't have to be executed to know what it will do, however in practice this is usually not the case.

Re:Salaries not that large (2)

Zak3056 (69287) | more than 14 years ago | (#646461)

Let's think about that for a minute. $70k for 70 hours per week, that would be $40k for for a 40 hour per week job

Actually, your math is a little on the LOW side. The 40k/yr job, if appropriately compensated (i.e. overtime) would pay $85k, not 70. In other words, it's even worse than you're saying.

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?