Greenspun on Managing Software Engineers
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).
Companies like Microsoft are founded on the notion of commoditization. This is quite analogous to what the industrial revolution did for craftsmanship, what MacDonald's did for cooking, and what companies like AT&T did for customer service.
Microsoft has created mechanisms (Wizards, etc.) for software development, analogous to machines to do the "heavy lifting", that allow many people to generate complex application frameworks. And Microsoft has created step-by-step training materials and systems to break up complex processes into something that's easily mastered by everybody.
That's at least Microsoft's story. That's why business people have their organizations buy and develop for Microsoft software. They believe that Microsoft has succeeded at bringing software development to the masses, to the non-craftsmen. Microsoft software is supposed to turn what used to require expensive, scarce, rare craftsmen into something anybody hired off the street can do with a little bit of off-the-shelf training. That's what "easy to use" really means to Microsoft and business management.
Whether Microsoft has actually succeeded is a different question; I think they are still pretty far from that goal, but others will step in where they failed.. And like mass produced trinkets and food, the quality of products built on Microsoft tools leaves a lot to be desired. But, then, that hasn't stopped most people from buying mass produced goods and fast food either.
Skilled software craftsmen may continue to take pride in their work, but whether that is going to be economically a big success or a fringe business for upmarket consumers, remains to be seen. Good home cooking (free software) and upscale restaurants (skill-based software companies) may be what the gourmets like, but most of America eats at MacDonald's, and the same may well turn out to be true for software.
-jerdenn
He's kidding right? This might be ideal for managers, but I don't know any of my geek friends who would consider this ideal.
A programmer probably needs to spend 25 hours per week getting coordinated with other programmers and comprehending the structures of the systems being extended.
Where did he get this figure? From the Man-Month book? There's always an initial period of design that eats time, and various redesigns afterwards, but then there's the time spent churning away code that you don't talk to any of your co-workers, or very seldom.
On weekend mornings you could walk naked through an entire floor of our headquarters building without fear of embarrassment.
They took a weekend morning OFF?!? Oh the shame!!! What lazy bastards!
Your business success will depend on the extent to which programmers essentially live at your office.
I see this programming ideal slipping away. I think people are realizing that no matter how many foosball tables you put in, programmers will burn out working 70+. I think that this ideal treats programmers as machines. As much as programmers like to think they ARE machines, they are humans and need rest. I think people are finding that if they go home and rest, they come back refreshed. Of course there are crunch periods, but once they're over, take a break.
Most people have a TV at home but they don't have friends with whom to watch it.
er??? What is he talking about?!? Most people who have a TV don't have friends? Where is he getting this crap?
He does make some good points about the quality of programmers....
Trains stop at a train station. Buses stop at a bus station.
Buses stop at a bus station
Trains stop at a train station
On my desk there's a workstation....
That 15% OT is mandatory now which translates to ~7.5 extra work days/year depending on where...
And the odd thing is that we all get Thinkpads specifically to work the odd hour or so at home and then get dirty looks (well not actual dirty looks, but some of us get the virtual dirty look in the form of never getting more than a 2 no matter what, never ever ever) if we dare to leave the office before the divorced twice, never home workaholic boss does.
Thanks, Bob. Your point was sort of an unstated assumption of mine. At ArsDigita we do tend to get fairly young people who are very bright. They want to do something that will impress their classmates from MIT or UCLA or Caltech or wherever. The key to successful management is to provide an inspiring goal that these guys and gals can buy into and then a working environment that lets them achieve the goal. It does result in some long hours but they have 5 weeks/year to recover. If they get sick of it they can always join a slacker company and work 40 hours/week.
As kids watched the dotcom craze and saw how much SE were making they thought hey i want to be an SE. It's called Invisable Hand in economics. Companies demand more SEs and so the gap is filled with an increase in CS, SE students in our colleges. Expect lower wages to come to computer related fields. The only way to protect yourself is to know more and be able to do more than the next guy.
Time is Change
I don't even put "PhD" or "Dr." on my business card (I admit to having a photo of little Alex on the back, though). You're right that a PhD per se = useless. But at ArsDigita we actually have managed to get a lot of work out of people with PhDs. Much of the edge comes from the screening process. Someone with a PhD from Caltech is going to be very smart and very persistent. He or she will have managed to plan, produce, and publish a long-ish document (the engineers with the most influence are usually those who are willing to write). This is why companies like McKinsey recruit PhDs from top schools. But just like McKinsey, the first thing that we have to do at ArsDigita is deprogram the PhD. We say "here you ship your product every two months, not every two years" and "here you write up your results over a weekend, not over a season" and "here we do look for the grand elegant complete solution but we try to get to it via incremental releases rather than wait quietly for 10 years".
I'm not trying to force anyone to go on a death march! But the programmers with whom I hang out long to do something innovative and creative, to solve a problem that nobody has solved before. It is tough under those circumstances to rely on a project manager to map out everything that must be done. It is also tough to keep people from pounding away at a problem until it is solved.
Most of the people at ArsDigita are young. They have no families. They have no personal reputation. Find me a 35-year-old who has accomplished a lot IN ANY FIELD, who has changed the world in some positive way, and who has never worked long hours. The articles I put on my various Web sites are not intended to help people who just want to live a quiet comfortable life (I'm not an expert on this). They are intended to help young people turn into Linus Torvalds or Richard Stallman or Dan Bricklin and Bob Frankston (Visicalc).
Private practice 1st year associates in a white shoe Wall St. firm working 90 hrs week command $140K out of school w/ no experience.
The average income of doctors in the US including all of the MDs who now work for HMO's etc. is ~$250k according the personal disability insurance providers.
The average CEO of an American firm earns between 17x and 30x the income of the lowest paid worker. My own CEO earned something like $6-9 million in direct cash compensation, another $9 or so million in deferred compensation, another few hundred thousand $ or so in guaranteed deferred pension earninings and several hundred million dollars in options, grants, deferred stock purchases and other forms of equity. And this is not a startup this is a well established stable company which barring an asteriod will be around for a while.
So yeah - lots of people are willing to work huge hours. Mostly because there is a huge financial upside. Not a maybe, not a chance, not a possible IPO but a definite concrete realistic outcome you can bank on when making other life decisions like what house to buy now like how many children to have now and what kind of schools they can go to, whether you need to be a 2 income family or not.
Actually ArsDigita pays most entry-level workers $100K (these are fresh MIT CS grads). The reason cost of living is high in cities like Cambridge is that Cambridge is a great place to live. You can learn from almost anyone that you run into on the street. They are likely to have an Ivy League education. They are likely to have done something interesting recently and be willing to tell you about it. If your idea of the great life is a big-screen television, 100 channels of Cable, and a big house with blank walls to hold the TV, you're right the cost of living is lower in Peoria. But if your idea of the great life is finding interesting people to talk to, lectures and performances by the world's best and brightest, a city like Manhattan might be a better choice (despite the expense).
Positive is when you get something for your behavior, negative is when something is taken away. In this case, knowing that you will get a bonus, or a raise, if you exceed expectations will certainly motivate you more than simply meeting expectations for fear of a pay cut, or losing your job. Therefore positive reinforcement is a better motivator, in this case.
So, in your case, you studied so you wouldn't fail - you can get C's. But if there were some reward for you based on your performance, you might have done better. In your example, "than when I wasn't failing them" is neither positive or negative - you had nothing to gain or lose at that point. But in that same situation, if you father said he'd buy you a new car if you got a B, and a new really expensive car for getting an A, wouldn't you study harder?
Apologies for over-analyzing a joke.
----------
Stupid sexy Flanders.
(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...
- Get a boxload of toys, hand out to programmers, repeat if needed.
If programmers don't complain:ManicHawk - Just because you're manic doesn't mean the walls aren't bouncy
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.
:)
It seems okay to me. I've been using the arsdigita.com site all day. Anyway, there isn't much hardware behind arsdigita.com (normally gets no more than 100,000 hits/day). We never said that ACS was going to handle more traffic per CPU than a non-personalized system that doesn't hit the RDBMS. As for AOLserver and Tcl, you don't have to use either. ACS Java is released and available from http://www.arsdigita.com/download/ It contains not a single line of Tcl code (same old SQL and PL/SQL and Java-in-the-database core plus a 100% Java presentation layer). It should work with any Java application server and any Web server (or no Web server at all; you can run the whole thing from within Oracle 8.1.7 and its built-in Web server).
Let's not forget that the average consulting firm charges >$200/hr for a professional's time. Assuming billing 60 hrs a week for 50 weeks a year, that's $600000. And almost all expenses are billable to the client. When you look at it this way, even a $70K salary is pretty close to exploitation unless there are serious cash bonus payments every year a la banking.
Greenspun and his ilk are going to find it hard to find people willing ot program 70 hrs a week for sustained periods if you aren't going to offer them at least a million in post-tax compensation over the course of a two or three year employment stint.
<flame class=adhominem>
Uh, Mr. Moron, I'm a contractor in the business for 10 years. That edu is a past client who as a thank you gives me free isp services. You may now get back down off your hind legs.
I notice you're are an idiot. </flame>
-*- Any technology indistinguishable from magic is insufficiently advanced -*-
I've worked on many hardware & firware projects, often by myself, and almost every time I ended up working a lot of really late nights. At least for me, I can get more raw coding and design work done in an all-night session that an entire week of 8 hour days. Getting the environment right... no distractions, music without lyrics, correct room temperature, etc, makes a huge difference. I try not to do this sort of thing often. I try to do all-nighters more for my own (often free software) projects more often than I do them for my employer. (trying hard to resist a shameless plug... the URL is next to my user info above)
Now I think it sucks to "have no life". It think it sucks for employers to expect programmers to work 70+ hours/week. Phil's writing does leave a bad taste of giving would-be managers a formula for over-working programmers.
It is true? Yes, I think it is.
Does it suck? Yes, I think it does.
Those are separate issues. Just because it sucks and is manipulative and/or unethecial doesn't necessarily mean it's wrong. I think the a number of comments posted here have failed to make that distinction.
PJRC: Electronic Projects, 8051 Microcontroller Tools
Greenspun's argument goes thus:
1 I made zillions as a dotkomissar therefore I am right.
2 I agree with other statements generally agreed to be correct therefore my statements are chistled in granite.
3 Nagging is good because not nagging leads to similar results therefore either negative or positive reinforcement must be a good thing.
4 Stupid people yield stupid results.
5 You are probably stupid if you are not as great as I am.
6 If I say something is correct then it must be a priori since I provide no proof otherwise.
7 Generally agreed upon aphorisms are in fact correct even if you can't prove them to be.
8 Everyone wastes 30% of their time even the most productive and brilliant of us.
9 Hard work is good.
10 Working smarter is no substitute for thinning the herd.
11 If you could bottle it you would. Even though we call it engineering and we claim to agree to be able to manage it at all, it's a really an artform that can't be well understood, documented, replicated or taught. IF you're in the bottom half...tough luck for you.
Brooks may be right but if the variation in productivity is really 10:1 then it isn't engineering at all. That's no measure of the engineering-ositude of anything. If it were then civil engineering projects would have schedules and timelines that look like "whenever...." and we wouldn't be able to tell the difference in the creation process from software, steelmaking or wineries.
So let's agree to disagree. ArsDigita was successfull because of very smart talented people working in small focused groups that specifically WERE NOT ATTEMPTING TO ENGINEER ANYTHING. At least not the way you'd design and build an airliner. Because if you knew anything about actual engineering you'd understand that it doesn't depend on the brilliance of a few to be successful. Is is the application of well understood and documented knowledge processes and tools to create a reproduceable item or service or process.
In fact that is precisely why software is so hard to make. No one has adequately figured out how to engineer it at all. Projects still largely fail and the ones that don't generally have no repeatable success criteria or design or process commonalities. Even successful projects generally are late and an order of magnitude more expensive than projected, don't survive unaltered for as long as projected and cost much more to maintain. Good solid designs rarely survive the tenure of the people who built them and in the end it's cheaper to be ignorant of the whole of a system and attack fixes as temporary point solutions than it is to build maintainability into the system to begin with.
In fact if software was engineered then you would see larger groups successfully develop it and maintain it. But it's not. For an apocryphal story about this read "Strategic Planning, Systems Analysis, & Database Design, the continuous flow approach: Mark L. Gillenson & Robert Goldberg; Published by John Wiley and Sons, 1984; ISBN 0-471-89066-9. Where there is a story of two developers who apparently developed some customer system right the first time with no obvious bugs or requirement or design changes, on time and on budget. When asked how they ever did this, apparently the response was something like "It never occurred to us that bugs were acceptable..." or less poetically, the quality was engineered-in from the beginning.
> 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.
Programmers are creative types, a fact which makes the following words (paraphrased from memory) of Frederic Pohl (a Science Fiction writer of the old school) relevant.
It's hard to tell when a writer is actually writing. Sometimes even he is not sure, & can't say whether reading the Sunday classifieds is actually work towards the book, or just screwing off.
Geoff
I think I see a trend here. Maybe for them it really would be easier to muzzle the entire internet than to produce p
Abuses in the tech industry are getting fairly common, but I wouldn't get too worried - already there are changes taking place. Firstly, as the land-grab on the web comes to an end, there is going to be less of a mad-rush to get things up in a hurry - there's no point now - no one is going to win marketshare with a quick solution at this point, and their are diminishing rewards to new companies joining the fray now. Added to which, at most large companies, you can already see an entrenched 8-hour cycle taking place.
I've worked in a place where *some* of the programmers had access to syntax highlighting editors and others did not. That made for terrible looking code. The problem is that code that looks like it has plenty of white space in color mode doesn't really when you turn off the color syntax - things are run together and badly indented because the color highlighting made things look like they were still easily discernable and hid this fact. This is especially bad in printouts.
Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.
Simplicity is a critical value in software development. But there are two aspects to consider: simplicity of concepts, and simplicity of their manifestation in design and code. For many problems, deep and subtle concepts allow top programmers to address the problem faster. Some problems require them. The implementation is necessarily at least as complex as the concepts. One should always avoid making it more complex. One should also always consider whether simpler concepts would do, as many good programmers tend to overcomplexify (as Greenspun attests). But that is not always the right answer.
Furthermore, it is sometimes a simple matter of volume. In a fast-moving project, lots of ideas and designs are constantly being generated, and these take time to comprehend even if they are simple. A top programmer can pick up many simple ideas faster than an average programmer, just as he can comprehend one deep idea faster.
If you don't think programmers should spend a significant amount of their time understanding others' code, I think it's likely the programers in your team don't have adequate understanding of issues global to the project.
The evaluation of an action as 'practical' . . . depends on what it is that one wishes to practice.
I get 75% of expenses paid for by salary and 25% from loans. What you may not realize is it doesn't matter how large the salary is as much as how large in comparison to everyone else's salary it is.
- He claims that it takes 25 hours a week to get coordinated with other programmers and to understand the systems they're working on. So, he immediately writes this off as unproductive time. If someone really spends 25 hours a week doing overhead tasks, then the system is broken. If, on the other hand, researching the system and understanding how it works produces better code (or at least working code, as compared to broken hacks), then that research time is indispensable.
- He claims that 70-hour workweeks are the key to profitability. Everyone else has already criticized this idea, so I'll just poke at it a little bit. I worked 70-hour workweeks once on a project because it was grossly underestimated and because we had a drop-dead date. Nobody in management anticipated the challenges of this project, and it had taken a long time to get designs finalized in the first place. Also, for most of us it was our first major project in C++ (this was back in 1991). Maybe it's possible to motivate programmers to do things this way for a few weeks, when they know the consequences. But to do this all the time, as a normal course of business? Any programmer with half a brain will see right through this.
- He doesn't realize that programmers are going to have lives outside of work. Sure, it'd be nice to have a really cool office that has nice comfy chairs and entertainment facilities. But unless your developers are complete hermits, sooner or later they'll find hobbies, friends, and families outside of work. And they'll start to resent having a heavy workload that keeps them away from those things.
- Cheap American managers are likely to read this article, think, "Hmm. Let's get those programmers in here 70 hours a week," and consider Greenspun's perks to be expensive frills that can be ignored, scaled back, or purchased and then eliminated when the stock price falls.
- Software projects collapse. Companies fail. What would the legion of ArsDigita programmers think if the company suddenly went bankrupt, and all of their 70-hour workweeks were a waste?
I've been there before: The company I worked for in 1991 spun off a division which became part of a joint venture with Amdahl in 1993. Several months later, they announced that the joint venture company was killing the project that I had been working on. They assured us that they needed all the people to stay with the company, and the CEO said, "And if anyone leaves the company, I'll be personally hurt." Well, with no product and nothing to work on, morale sunk like a rock, and several people left -- including me. And, just last year at this time, my previous employer was laying off developers left and right because our product didn't sell. For the people who weren't laid off, management wanted everyone to take a 10% pay cut until January, to be made up with stock options. I left the company soon after that, even though they wanted to keep me there.As a software engineer, I'm motivated by knowing I'm working on a quality product that people will find useful. I know I'm not going to be writing quality code if I'm on a 70-hour per week death march and resenting being overworked by an employer -- especially if there's a chance the company may go belly-up next year. My current company respects and rewards its employees' contributions, and that's worth a lot more than having a big-screen TV, a pinball machine, and comfy chairs.
It's simply not true that older workers can't get jobs. I'm 42. I visited a job fair here in Richardson, TX. Mostly telecommunications companies. My previous telecommunications experience is extremely limited, but within a week I had two interviews and two very attractive job offers with equity. And no, I don't plan or expect to work 80-hour weeks. Why was I able to get these jobs? Because I have a handle on OO and real-time development, and I can present that in an interview. I've interviewed dozens of developers over the past five years, some old and some young. An amazing number obtained a degree withoug mastering the basics of Computer Science. Another large set hasn't read anything since leaving school. These are the people who are whining about the unfair competition due to H1-B visas. Developers who have mastered the basics of the field, and who have kept up with new technologies have no trouble finding work.
Microsoft is actually a good example of small teams, each person individually strong and working hard. For example, Netscape had nearly unlimited resources in terms of bodies. Microsoft crushed them and built a much better browser (IE) with a team of only about 30 developers.
They want to do something that will impress their classmates from MIT or UCLA or Caltech or wherever.
MIT and Caltech must be really overrated if all it takes to impress the students who graduate from there is a job doing web scripting and 3 tier applications that any high schooler can do with PHP, ASP or Perl.
Then again, maybe you guys simply hired the bottom of the barrel.
If they get sick of it they can always join a slacker company and work 40 hours/week.
Such as i2, Trilogy, Cisco or Microsoft, huh?
<sarcasm> Of course, your hotshit web development shop makes these companies look like mom-N-pop shops. <sarcasm>
The more I read about Ars Digita, the less impressed I am. From the trivial bootcamps and gross overpayment for monkey work (web scripting, pah) to the fact that some of you think using fuck in code is a mark of professionalism, I had mentally filed Ars Digita as yet another hotshit startup that won't last the next half decade.
From the descriptions I've gotten of ArsDigita both from employees and boot camp attendees, the place is a hackers playground where and software engineering and computer science practices are paid lip service. Particularly amusing is the fact that you guys think that your online degree program which is merely a glorified course in Web Development is equivalent to a degree from MIT
*LOL*
Second Law of Blissful Ignorance
What they discovered was that up to 40 hours a week the amount of output was proportional to the number of hours worked. Beyond 40 hours that was true only for about 2 weeks. After two weeks the amount of work being done fell back to the 40 hour level - no matter how many hours were worked. All of the people working over time in the study thought they were doing more work - but when their production was measured it turned out that they were not.
Granted the study was of clerical workers - not programmers - but people are people. There may be statistical variation from one person to the next - but on the average 40 hours is the optimum time for most people. Yin and Yang qualification: mostly the results are true - but for some people they may be false.
In general most people working longer than 40 hour weeks are just kidding themselves - they really aren't getting much more useful work done than they would in a concentrated 40 hour week.
Work is more like a marathon than a 100 meter dash; it is not about brief sprints - it is about setting a pace than you can maintain for a long time. You can only sprint for so long - then you have to slow down to a long distance pace.
I would like to point out the the US was on the winning side in W.W.II and beat the Soviet Union to the moon - all on 40 hour work weeks. If you honestly believe your project is more pressing than either of those I suggest that maybe you are suffering from a lack of perspective.
1x 70 hours at $70k costs the same per man hour as 40 hours at $40k, if the amount of work that neads to be done exceeds what can be done by the available staff in the available time then they nead more time or more staff.
If Greenspun advocates pushing his staff into doing more hours over hiring more staff this implys that overworked staff are more productive than more staff.
The effectiveness of programmers is reduced when they work long hours (this has been proved by independant research.)
Therfore, this implys that his organisation cannot cope with larger numbers of staff, that is, the managament can't do their jobs and are failing to co-ordinate their staff effectivly.
Ergo, poor managament beeing passed off as good mangament.
Thad
Thad
Phil was talking about how to get the best software out of top programmers. The answer is to motivate them, make them comfortable, and encourage them to work intensely. How many hours per week do you think the top 10 Linux developers work? How about OpenBSD or Perl hackers? Do you hear them complaining?
Perhaps it's not possible to motivate programmers to work hard on some tasks. Maybe some software (or the companies that write it) is just too boring, and will inevitably be done by 9-5'ers, who may not get as much done, but are lower risk and easier to manage. Those of you protesting should take consolation: there will always be a place for you. However, you may never realize how fast good software can be written by small teams of top programmers working intensely--and how exhilarating is the experience.
PS. If you really find this hard to believe, find some people working for ArsDigita and ask them how they like it. I have a friend there who describes the experience as "addictive".
The evaluation of an action as 'practical' . . . depends on what it is that one wishes to practice.
You are saving half your income so that you can do this aren't you?
the average programmers will consume nearly their entire work day just in reading and understanding the new code generated by the good programmers
If the project was being run correctly, the average programmer wouldn't be reading the good programmers code at all. Ever heard of code-by-contract? How about object-oriented code? I don't have to dig down and understand the code in glibc, because it is in a fucking library. All I need to know is the function name and its parameters. If I'm having to read code in order to use it, it wasn't written be a very good programmer at all.
It is easy for an office to beat the home on the social dimension,...
Not unless the company is hiring some freaky women to come in a couple times a week to provide certain services that are illegal to be provide for pay in most of these united states. Playing pinball just doesn't compare the games me and my woman play.
One of the main points of the ad was to ridicule the cheap open-plan offices in which programmers were traditionally housed and promote the fact that at Microsoft each developer gets a plush personal office.
.
.
.
An open office plan contributes to making the work environment stronger on the social dimension.
This lack of internal consistency amplifies another one of his points.
In the long run it is impossible for an organization to be excellent in one area and mediocre in all others.
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. If you see one of your average programmers walking out the door at 6:00 pm, recognize that this person is not developing into a good programmer. An average programmer's productivity will never be significant in a group of good programmers. If you care about profits, you must either come up with a new training program for the person or figure out the best way to terminate his or her employment with your organization.
This is beyond the pale. I'm up at 6am exercising. I drop the kids off at 8am and arrive at work by 8:30. Put in my 8 hours and leave at 5. If I am to be rested the next day, I need to be in bed by 10pm. This leaves a total of 4 hours a day to devote to the next generation of programmers, let my wife know that she isn't a single mother, and maybe play at one of my many hobbies that are generally ignored. Greenspun can kiss my ass. Excuse the french, but that is as polite as I can put it. If my company (which is realistic, BTW) installed a pool table, rock wall, garden, grand piano, etc, they would all be summarily IGNORED. This is work. I do it to make a living so that I can spend time with what is truly important.
If my manager challenged me for walking out after having been at the office for 10 hours, then he won't have to ask himself anything. I will ask him to kiss my ass. I've done it before and I'll do it again.
And just in case it wasn't clear before, Greenspun and all of you "keep 'em entertained while we work them to death" managers can KISS MY ASS!!
Aah, change is good. -- Rafiki
Yeah, but it ain't easy. -- Simba
Frankly, some of us get our twelve hours of work in in eight hours. When I'm up to speed, I can't work useful overtime. I will work seven or eight hours, because that's how long it takes me to get mentally exhausted. Working longer is a waste of my time and their money.
--The basis of all love is respect
We had that poll. IIRC, most of us work "Hemos".
--The basis of all love is respect
A few years ago I read an excellent book on sleep deprivation -- "Sleep Thieves" by Stanley Coren. It got me to thinking about work weeks. I sketched out a reasonable weekly schedule:
This adds up to 84 hours/week. Even before you've spent any time at all at work, you've used up half the week. Think you don't need that much sleep? Read the book I mentioned. Sleep deprived people literally murder patients on the operating table and blew up the Challenger. Think you don't need exercise? Ask your doctor. Spend time with friends and family, routine errands, etc. and more time is gone.
Consider now what the various work weeks really mean:
The long work hours phenomenon is a relatively recent phenomenon. Two centuries ago (not long in the span of human civilization) people did not have electric light. Pratically all human activity was limited to daylight hours. Back then people did accomplish some very remarkable things. For example, starting the United States, learning much about the universe, creating great art.
A final note: people have incredible abilities for self deception. When I hear people bragging about how much they've accomplished by working long hours, I wonder if it's true or they're just deluding themselves. Remember, people in the Soviet Union also deluded themselves about their accomplishments for literally decades.
"Beer is proof God loves us and wants us to be happy." -- B. Franklin
For example, I live more than an hour's commute from my workplace. I often have social activities near work in the evening. It doesn't make sense for me to go home in the interval, and I'd love to have a couch to nap on or a video game or pool table to play with until my dance lesson or date begins. I might also get some more work done if I could relax for a bit and get refreshed instead of burning out and just working through like a zombie until normal quittin' time.
I also consider the people I work with to be my friends and think tha you should be able to work in an environment where you LIKE going to work. Not that you should do it to the exclusion of family or other things, but liking your job and considering your coworkers your friends doesn't make you a loser. Work is a part of my life, not something I do so I can have a life. Making it more pleasant and fufulling isn't a ploy to steal from the other things I do, it's making that eight hours a day away from my family, friends and hobbies worthwhile in and of itself.
I did set up ArsDigita so that every employee got 5 weeks of vacation annually (enough for a 3-week break in the summer plus two one-week breaks). Maybe I should add that to the article.
Compare this against a "normal" 40 hour/week job. Most employers give at least 2 weeks of vacation. If we ignore holidays and the odd extra days beyond an even 52 weeks, that give about 50 weeks, or 2000 hours/year. If you're expecting your employees to work 70 hours/week for 47 weeks, that's 3290 hours/year, 64.5% more total hours. You should aim for the same 2000 hours/year total, if you really want to be fair. Of course, at 70 hours/week, that would mean giving each employee 23-24 weeks of vacation per year (yes, that's over 5 months). The fact that you give them only 5 weeks indicates that you really prefer exploiting your employees. Sure, you may pay well, but there's more to life than work, and time is an irreplacable resource that money cannot truly compensate for.
As long as you employ people who don't have a life outside of work, you may be able to get away with this sort of exploitation. Lucky for you, they'll have a very hard time developing a life outside of work when they're working 70 hours. However, most of them will eventually determine that living only to work isn't much of a life, and they'll find a better job someplace where they won't be exploited so much. At that point, your only hope is to keep finding new youngsters with no life, and try to indoctrinate them into your culture of indentured servitude.
As long as there remains a ready supply of people willing to be exploited, you can probably get away with this for a long time, and you're in the majority with this approach. But don't lie to yourself; you're exploiting your workers for the sake of profits. It's a widespread problem, and much of the industry is equally guilty of the same thing, but it remains exploitation, albeit well-paid exploitation.
This sort of exploitation in the past has fueled the creation of unions in other industries. If employers aren't willing to stop, don't be surprised if programmers start unionizing someday... (And then you'll regret your shortsightedness.)
Deven
"Simple things should be simple, and complex things should be possible." - Alan Kay
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.
An Eye for an Eye will make the whole world blind - Gandhi
http://www.arsdigita.com
cpeterso
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!"
Kary Mullis won a Nobel Prize for a non-trivial accomplishment (PCR, a common molecular biology technique) and worked 40-50 hour weeks at a biotech company during the entire project. And its interesting to note that in the case of PCR, it was a problem domain that was pounded by many 70-hour-weekers without success.
Wait..... isn't that fuzzy math?
I handle developer relations for ArsDigita, both internally and externally, and thus am in the position to monitor the culture that's evolving here quite closely.
The scenario that Philip describes in his paper closely resembled the way that ArsDigita ran during its "startup phase". Insane hours, put in by a small core of individuals. Were these people putting in 70+ hours a week? Absolutely. Is this an unbalanced lifestyle? In my opinion, Yes.
ArsDigita has now cracked the 230 employee mark, and I can assure you that we _don't_ force people to work 70 hour weeks. Many people will put in a significant amount of time here at work, because they _love_ their jobs. It's their choice.
Our CEO stresses a healthy mix of work + play. I have yet to receive any bad reviews or cat-calls for walking out of the office at 6:00pm, nor have I seen anyone tagged as "lazy" who does the same. It's not about the time you spend at the office, it's about results. Period.
Hope this helps. Adam.
[1] Major contributions to topics including Diophantine analysis, summation of divergent series, Fourier series, the Riemann zeta function, and the distribution of primes.
"one treats others with courtesy not because they are gentlemen or gentlewomen, but because you are" --G. Henrichs
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.
At 11:00, the boss came in, and spent the next hour fixing the other programmer's problems.
At 12:00, we (my boss and I) went out to lunch, then went around bookstores and universities libraries, and sometimes went out of the way to look at an interesting building (my boss was trained as an engineer, and was totally inept at history and architecture, and thus enjoyed the "private lessons").
We would get back between 14:30 and 15:30, where we'd sit for the next hour listening to the other programmer's problems.
At 16:30-17:00, the other programmer would leave either for his home or his aerobic classes.
At 17:00, when everybody else left, we started working, coding until 20:30 or 21:00 or inspiration left us. In that amount of time, we'd do 2-3 days worth of work. And after, most of the times we'd go out for a beer and/or cruise for chicks...
We were three (two after the other programmer was fired for gross unproductivity) guys supporting a whole crew of 14 people (including secretaries, executives, accountants and other departments which weren't profitable). After 9-10 months of this, my boss told the company to screw itself and left...
--
Americans are bred for stupidity.
I think Greenspun is talking about product companies, not software body shops. Most companies that hire hotshot programmers to do a software product give them a fair equity stake in the company or royalties. So the "master/servant" relationship isn't as strong here. Instead of being pedantic about how many how much you're getting per hour, you're just trying to figure out the best way to get the product shipped, cash in your options, and retire. The mathematics is different than if you were just billing hours.
Greenspun = rich computer scientist; behavioral scientists = poor social scientists. I think I'll trust Greenspun.
Flame away, but I've never been impressed with
. html
Phillip Greenspun. From Travels with Samantha to
this latest misuse/understanding of Brooks'
excellent book, he's had a knack for missing the
important points and not letting us know how
great he is. (even when he's humble, he's always
got something to be humble about, and mentions it)
For starters: The 10/1 productivity ratio wasn't
a "good/average programmer" stat--it was a "very
best/very worst" stat. Furthermore, although the
book was reprinted in 1995, that figure comes
from the original, published in 1975, from a
study carried out before that. Nearly 30 years
ago, in other words! Somehow that number jumps to
100 times in the article, but I'll chalk that up
to another typo.
The 70-hour idea is silly. It doesn't address
the _accuracy_ of the work done, and the fact
that it goes down after a while. Check out this
article:
http://www.fastcompany.com/online/06/writestuff
Also, FORCING (i.e. "encouraging") people to work
hours like that is just going to get you a bunch
of uber-nerds who will generate tons of brilliant
code that pisses off end users, because they
never talk to or deal with end users, or life for
that matter.
"Your business success will depend on the extent
to which programmers essentially live at your
office." Makes it perfectly clear who I DON'T
want to work for!!! Furthermore, he then goes on
to say, "Programmers don't have the same need for
wood-paneled expensive plushness that, say,
corporate lawyers or investment bankers might."
My question is why the hell not? As much as the
lawyers and investment bankers have a "need" for
these things, so do I!
All in all, the article didn't end up saying
much. Some people are better than others at their
jobs, and most of the bad ones don't realise it.
Big fat deal! The best programmers tend to get
pushed into management. Well, guess what? It
happens in almost every field, and is just as bad
there as it is in software engineering.
"People who do stupid things with hazardous materials often die." -- Jim Davidson on alt.folklore.urban
I see alot of people comparing salaries on the web without taking into consideration the cost of living. Its an important factor and can't be overlooked. That was the primary reason for my post. I do consider 70 hours per week excessive though. I'm not saying I would never work that much, but if I do it, I want it to be because I want to, not because its required (explicitly or implicitly).
I think "Phillip and Alex's Guide to Web Publishing" is great by the way. I read the online version but I plan to buy the hard copy eventually. Thanks for making all of that information available.
Check out AbiWord.
I used to work those 80-100 hour weeks. What I've found over time is that you do not have to do that at all to be really successful.
Consider this - if a really good programmer is 10x more productive than an OK programmer, then why not work half as much? The company still gets a worker who can produce at 5x the rate of other programmers. The worker gets a lot more free time to work on side projects or train themselves.
What I've noticed over time is not so much that older workers have trouble finding work - it's that most older workers do not take the time to keep themselves trained in technological developments. That's what really kills you in the long term, not so much the fact that you are older. If you're an older worker with a lot of good projects under your belt and a strong grasp of the latest in technology, I don't think you'll have trouble finding a job.
I currently work about 40 hour weeks, and have never been more productive and creative. I'm not only architecting some interesting systems, but working within the company to help develop small and USEFUL corperate wide components. The shorter hours have never been a problem, and I'm encouraging my whole team to do the same.
It's all up to you. Take control of your career. Do not fold to the temptation to work longer hours, and make sure you try to keep innovative in the work you are doing.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
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?
-konstant
Yes! We are all individuals! I'm not!
-konstant
Yes! We are all individuals! I'm not!
Evaluation system, forced curve on a scale of 1,2,3. 3 being deadwood that floats and 1 being raise the freakin dead, smote the rock, etc. etc. But the VAST middle area which has a range of RIP (retirement in place) to just saved the company 25 million dollars which translates to a $250 million revenue stream.....
Ones, twos threes are relevant because they are the ONLY factor in determining the difference between what could be a 0% and a 20% bonus. Given that MegaTelCo-Blue doesn't reward its employees any other way and the options they hand out are about 35% under water.
One thing that should be mentioned is that Philip's article doesn't really describe what happens at Ars Digita.
Few people here work more than 50 hours per week, and there's certainly no real pressure from management to do so.
The company has changed quite a bit since I first got here. The office used to be pretty busy late into the evening and on weekends. Now I rarely come in on weekends, and when I do, it's pretty quiet.
Americans are way behind the power curve on working these ridiculous hours. Europeans have known for quite a while that productivity beyond about 40 hours a week (36 in Germany) goes down. For every hour you spend in the office past 5 PM, productivity doesn't really go up.
;-)
How many programmers do you know that fart around their desk all morning, get ramped up around 2:30 PM and end up staying at their desk till 7 or 8 to get their job done.
I'm guilty as charged.
When you know that your boss EXPECTS you to leave by 5PM, you tend to manage your time better to ensure that your job is done by then.
I tell all the folks who work for me that if they're staying past 5, they're not managing their time. Its a sign of weakness, not dedication. They're happier, more productive, and the divorce rate went down
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.
Jon Erikson, IT guru
I've learned a bunch of things from this discussion. Let me say that I did not intend "Managing Software Engineers" to be the last word on the subject. That's why there is an "add a comment" link at the bottom of the page. My experience is limited to the handful of commercial and open-source software products that I've built plus some dozens of Web-based systems built on top of ACS in which I've been peripherally involved. My thoughts are intended to be useful for people who find themselves similarly situated and to be a magnet for contributed thoughts from people with better expertise than my own (see Chapter 1 of _Philip and Alex's Guide_).
The other day a Sloan MBA student asked me if being an entrepreneur was worth it. By that he meant the long hours, the risk, the pain of seeing one's baby disfigured by new management, venture capitalists, etc. I reflected for a moment and said that "Yes, it is still worth it. Being an entrepreneur means that you get to pick the people with whom you work."
So I guess that's what it boils down to for me. I never enjoyed working inside organizations built by others, even if I got to go out to the opera every week and spend long evenings at friends' houses. But it has always been fun for me to work at my own companies because I love the people that were pulled in (in the case of ArsDigita, there are my co-founders Jin Choi, Tracy Adams, Eve Andersson (also my girlfriend!), Bruce Keilin, and Aure Prochazka, plus a lot of really great people that joined just after the protoplasmic stage). Did it ever upset me to spend long hours with these guys? No! We were getting a lot done and being positive reinforced by the reaction from programmers worldwide, end users, and by our own growth in skills. Would we have been happier in the long run if we'd gone to work for Ciitbank in the IT department, married and had kids? Probably! I wrote about that in Travels with Samantha.
Anyway, I'm glad that my article spurred this lively debate! I don't want to be remembered for advocating a long work week. There is a lot more to the article and I certainly wouldn't advocate long hours to anyone who didn't love his or her job and wasn't learning every day.
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.
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.
Zigbee Central: A Zigbee weblog
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.
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.
Netcraft says arsdigita.com is running AOLserver 3.0+ad5 on Solaris. If the OpenACS on a dual-processor P400 has no load impact when a Slashdot article linked to it, then how can a site running Solaris be slashdotted off the map all day? I assume that most Solaris servers are at least as capable as a P400.
cpeterso
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.
--
Proud member of the Weirdo-American community.
"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.
Best Slashdot Co
Most of the oh-so-highly regarded advice on his photo.net site is typically useless drivel. Use Oracle?? Gee thanks Philip! I would've never have thought of that. Use TCL? Gee thanks Philip, but no thanks! Keep my html simple and clean? Gee no one ever thought of that before!!.
Hopefully this flamefest will keep his diatribes off of /.
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.
The cake is a pie
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...
Obliteracy: Words with explosions
...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.
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.
"The invisible and the non-existent look very much alike." -- Delos B. McKown
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 $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!
Check out AbiWord.
From their perspective, it doesn't cost any extra to have employees work longer than 40 hours. They're on salary, right?
--Be human.
One way to stop pathetic arguments like this one is to unionize. The current bargaining system for negotiating salary and terms of employment are slanted too heavily in the corporations' favor. This has happened in a number of industries over a long period of time. One way to effectively deal with it is to unionize.
Comments? I'm an independant contractor, so I have less to gain from unionization. That said, I'd be glad to take a leadership role in the effort. Anyone else?
--Be human.
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.
Great Windows SFTP Server!
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.
"The Sage treasures Unity and measures all things by it" - Lao Tzu
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?
--
Welcome to the Turing Tarpit, where everything is possible but nothing interesting is easy.
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.
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.
Zigbee Central: A Zigbee weblog
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.
I like you, Stuart. You're not like everyone else, here, at Slashdot.
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.
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.
"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.
Being asked to do more than 4 hours a day is called overworking?
...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.
--
1% APY, No fees, Online Bank https://captl1.co/2uIErYq Don't let your $$$ sit in a no-interest acct.
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.
http://rareformnewmedia.com/
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
All opinions expressed herein are my own, and not those of my employers, who are appalled.
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 by Alfie Kohn. Study after study demonstrates that "positive reinforcement" is devastating to creative or intellectual workplaces. Greenspun's comment:
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 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" -- 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.
-*- Any technology indistinguishable from magic is insufficiently advanced -*-
But 70 hours a week is not managing anything. Sorry, but if I had a section head who required everyone to work 70 hours a week I would fire that person. 70 hours a week is churning client billables to insure that your own bonus is guaranteed off the backs of the people who work for you and are subject to your control. Threatening to fire people who don't can't or won't work 70 hours a week is criminal. Actually it is in many states and localities. You would be hard pressed legally to demonstrate that 70 hours a week was a known, described, understood and necessary job requirement or at the very least a long term convention of everyone doing that class of job aka medical residents.
This kind of thinking is where workplace violence comes from. At the very least you're courting burnout, long term failure, increased absence, sick leave, slacking, substance abuse and depression.
This is why software sucks.