Crunch Tactics a Symptom of a Larger Problem?
An anonymous reader writes "One of the brave few: hot on the heels of the recent lawsuit filed against Vivendi Universal for back wages due to a developer who was allegedly asked to alter his timecard, Rob Fahey of gamesindustry.biz
has taken the bold step of taking the position that the insane hours game developers are routinely asked to work are might not be in the industry's best interest, and in fact might be less profitable than planning projects well."
Yeah, who would have ever thought of that? The fact that this statement is seen as "bold" should be indication enough that something is amiss here.
I don't think that poor management is the problem here like the author indicates. These companies are working at a backbreaking rate so that they can remain competitive. It's not like EA can afford to cut their development time per day and only put out a football game every two years. Software companies drop off the map very quickly if they don't keep putting out new products that are popular.
There might be ways via management and planning to reduce the time it takes to create a piece of software, but that won't lead to shorter work days for the programmers. It will merely lead to more projects being completed in a year with programmers still working 12 hour days. As long as the other guy has workers that are willing to work 12 hour days to achieve goals, you can bet that you will too.
The game industry is finally coming to terms that the long work hours caused by inadequate planning and management is driving away many talented workers and programmers.
If you are a member of IGDA I'm sure you know that there is no lack of programmers that want to work in the game industry. The problem is the game industry has no method to bring in programmers who have experence programming, but not programming games. Basically you need a CS Degree, plus a hell of a working demo to get hired somewhere and the jobs are very limited. Once you are hired, and you are good enough then you can hang around, but most people in the gaming industry are very good programmers and at some point after working 80 hours a week they are going to say "I don't need this shit". Lack of programmers who want in isn't the problem, lack of an ability to keep them in might be.
Maybe if the gaming industry brought on more low level programmers at the start of a project, they would have enough people so insane crunch time wouldn't be as insane. Of course then they would have to pay their salaries, which gets in the way of Profit!
Anyone who has ever worked as a programmer can tell you that as a deadline creeps up they usually end up working more hours. Spec's change, deadlines get moved up and back, other developers quit, etc.
...
Unless you give yourself an extra 6 months to a year of slack time, you are always going to have suicide hours near deadlines because shit always happens.
Then you plan for that and include it in the schedule. If it "always happens", then you'd better always include it in the schedule. There is no excuse for doing otherwise -- forty years of software engineering history gives us a pretty strong indication that the belief "maybe everything will go perfectly this time" is a horrible fallacy.
Things will go wrong. Specs will change. People will get sick. It happens every fucking time, and we all know it. So what the hell are we doing not building this time into the schedule? Not doing so is equivalent to jamming your fingers in your ears and yelling "la la la, I'm not listening!" at the top of your lungs. It might feel good for a little while, but it's bound to bite you in the ass later.
At my company (not games, but trust me, you've heard of us) we routinely double or triple all time estimates provided by engineers, to account for unforeseen eventualities. Wonder of wonders, my team has always hit our dates and we don't have insane crunch time near launches.
Obviously, truly earthshaking events -- building burns down, lead programmer hit by a bus -- can throw even the best schedule off. But surely we can be doing better than having the schedule thrown off every single time we build something, can't we?
ZFS: because love is never having to say fsck
Yes, I understand that overtime is needed at time. I really do love what I do, so I don't mind the all night code jams (which are only fun when you look back on them). What I don't like is the fact that many companies take advantage of this fact to set absurd timelines (I'm not going to name names, but they know who they are).
Add the extra 6 months. Need a new NFL game every year? Then hire two teams and give each a the time they need to make a good game. Not only will your employees live longer (and be happy), the end product will improve (remember less returns == more money).
Spell cheek you've failed me four the last thyme!
But I digress. Last night I stayed up all night to code. Any coder who has a project he or she enjoys to work on will want to stay up to work on it. But when it's work and you're there for like 15 hours a day and not getting overtime, then I have a real problem with that. You'd think it would be, but game programming is sometimes completely mind-bending. There's lots of parsing, data management, bug-hunting, optimizing, and deadline-dodging that goes on. It's some of the hardest coding on the planet, as the entire thing has to have a good "feel" and "flow." It's not like you can say "thisGame.feel = great;" There are hours and hours of refinement and tweaking and debugging that go on, all in a very high-pressure environment (especially when you're under a release date or convention deadline). Game coders probably don't have it worse than any other coders, but I'd be hard pressed to say they have it much better.
-=-=-=-=-=
I'd rather be flamed than ignored.
The problem is much more common and much more widespread than this.
A good friend of mine works for Motorola as a developer.
He is expected to work more hours than I would believe if he wasn't at work every time I call him.
He works nearly every weekend, all weekend, frequently comes home around 2-3am (gets to work 8:30am I think) on any day, etc.
ALL WITHOUT ANY OVERTIME OF ANY KIND!
He likes to say he's "allowed to work all the time".
I tell him it sounds more like he's forced to, but he corrects me on that saying it isn't true. When I ask him if he'd get fired if he didn't work those hours they're "asking" him to work, he says "yes" without hesitation.
Sounds forced to me.
He says that Florida has some law that allows this behaviour of "non-exempt" employees. Yeah, stupid term - I have no idea where they came up with it or what they are not "exempt" from.
Another example is my uncle... who works for NCR as a hardware field tech.
He works 2-4 COUNTIES away from his home, while people in those counties work in HIS.
He has also been forced (for years) to falsify his timsheets to show 40 hours, even though he typically works 70-90.
He also is forced to work 10 days, then take 4 days off (this would drive me nuts, but at least they give him time off, unlike my friend above).
Both situations are 100% due to poor planning by idiotic management (I worked in one of these companies for 8 years, I know).
This also shows that it is not only not limited to the game-developement world, but not limited to program developers.
This is a growing problem in this country, and it is due to our rewarding people based on their B.S. skills rather than their _real_ skills.
It's that way in big companies, and it's that way in our government.
Unfortunately, I have yet to hear of a way to remedy the situation... it's in our culture.
- Preferences: Solaris 10 (servers), Ubuntu (desktops), Solaris 11 (personal servers) -
The real problem is supply and demand for workers. Many, many young programmers really want a career in game development. It sounds fun, exciting and creative. So there's always other programmers willing to step in and work for lower wages than what they'd be making doing mainframe apps or something. This creates some problems - wages are held down by huge labor supply, and the most experienced qualified programmers and project managers go to some other field where they can make real money.
"Unless you give yourself an extra 6 months to a year of slack time, you are always going to have suicide hours near deadlines because shit always happens."
If it takes another 6 months, they should schedule another 6 months. That ain't slack time. If those dates are so important, they shouldn't be cutting it so close that Murphy's Law can derail the project.
"Derp de derp."
'if you give yourself an extra 50% more time, the project will consume those 50 and still have crunch time'
this is bs, of COURSE if your staff is already burned out from the previous crunch time, for the first half of the schedule they'll 'recuperate' and not be very productive, which means that by the end they'll likely be a bit behind. Also a good project has a very 'tight' schedule (not tight = no time, tight = many meaningful milestones, possibly on a weekly basis)
If your work force is not exhausted, on the other hand, you'll see that if you do your scheduling well (adding buffers and so on) more often than not you'll be bang on or even early. In video games development you'll always likely be bang on because there are always a lot of 'nice to have' features you can work on if you're early.
The problem is how to go from an exhausted work force to a happy work force: you do this by having everybody basically take a month off after your last insane crunch spell and making it clear that from now on they will NOT BE ALLOWED to work more than 9 hours a day, and that if the deadline is not hit at the end they will NOT GET their bonus (which should be made a significant % of compensation).
All of this will definitely encourage people not to kill themselves, to have a life, and to be happy productive coders for many years to come. In the end it would also save the companies money, because they wouldn't have the staff turnover problems (with retraining costs etc.) they have now and so on and on.
Odds of this happening? pretty close to nil, also because there is some perverse 'you're not a tough guy coder unless you can go 48 hours on mt dew' psychology at work here as well...
-- the cake is a lie
On any given project: if you give yourself an extra 50% more time, the project will consume those 50 and still have crunch time. It's simply phychology. When a dead line is far away people work more slowly and on less vital things. As the deadline looms, the people frantically code the essentials, hoping beyond hoep to make the deadline.
Then my team is somehow miraculously immune to this effect, as we have A) never missed a ship date, and B) never had to work twelve-hour days to meet a deadline.
Most of the credit belongs to our project manager, actually. Good project managers make a hell of a lot of difference in matters like this, and are all-to-often neglected and underappreciated.
ZFS: because love is never having to say fsck
The best programmers are not paid crap. Maybe by crappy companies, but most of the companies know what the really good programmers are worth, and the best programmers aren't going to stick around crappy companies for very long.
Mediocre programmers are paid a decent amount of money, but not when compared to some of the hours they have to work. Most of these are people who THINK they are the best programmers, but in reality only know basic data structures and algorithms and probably write code that is not reusable or documented well (although they THINK that it is both).
A lot of this stems from current Computer Science departments in Universities. These classes are 75% full of people who don't and probably won't get it. The other 25% (the mediocre programmers) look around and see how much better they are than everybody else, and assume they are friggin savants or something.
The unfortunate thing is that many of these mediocre programmers have the potential to be good/great programmers but they don't get the education and training they need. Instead they just get the idea that they are great and have no need to really learn anything advanced. In fact, most of them don't even know that advanced topics exist.