Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
The "Spanish Theory" of software project management (dodgycoder.net)
71 points by damian2000 on March 3, 2012 | hide | past | favorite | 51 comments


I'm in a situation now where, instead of walking 10min / day back and forth to the office my boss is expecting me to commute on buses and trains 4hrs / day (not exaggerating).

I consider this extra commuting time as unpaid overtime (up to 20hrs a week, even though I'm not "working") and hence want to deal with it as this article says I should: "No way, I quit".

Yet I feel bad about this; what would you do?


A daily four hour commute is horrifically bad for your health (both mental and physical). You absolutely should not feel bad about quitting or demanding to be allowed to telecommute.


What would I do? Well, that kind of depends on your situation:

1) If you have the six months of emergency funds saved up that you are supposed to, and are either single or married without children, I'd probably quit. Assuming you have actual technical skills I'd move that up to should probably quit.

2) If you have three months or less of emergency funds and/or have children and/or you or someone in your family has a chronic medical condition I would grin and bear it in public, and network furiously to try and find another job so that you aren't "cutting off your nose to spite your face"

3) In both of the prior cases I'm taking it as a given that you are at best ambivalent about your current position or employer. If it's a job you love and it is just the situation that is a problem, then talking with your boss to help explain why it is a problem may be worthwhile. As hard as it may be to believe, some folks out there may look at the setup and not see it as a problem. Either because they're not doing it, or they actually like the ride time to do other things.

Hope this helps...


Why would you feel bad? This is a serious quality of life issue. 4 hours a day commuting is not acceptable for most people. Move, find an arrangement that lets you stay home, or quit. It's not your fault that your boss is making you do this.


Assuming you worked ~40 hours/week before, this extra 20 hours means that your hourly wage is roughly 33% lower. What would you do if asked to take a 33% cut in pay?


Don't feel bad about it. Unless you just moved 2 hours away from your workplace it's not your fault.


Is your boss trying to make you work in another office? In that case can you negotiate with him a relocation package?


One possible compromise is to get a 4g hotspot and work while you are on the bus and only stay in the office for 4 hours.


> In practice what this often means for the developer is unpaid overtime (also known as "crunch time"), something very familiar to game developers, and also common in traditional software development, as the project nears its deadline. But those unpaid hours are actually costing you, the developer, because you can't get them back.

Sure you can. A good employer will give you time off in lieu later.

Of course, an even better employer would never let it come to that.


In days of yore they had a mechanism so that if an employer ever let it come to that, there would be financial repercussions.

I believe they called it "time and a half."


Point being, no amount of money can replace time spent off work with your family. What are you going to do, pay your spouse and children as an alternative to actually eating dinner with them? Only replacement time can make up for that sacrifice.


Actually my point was, that rather than an absolute ("no amount of time can replace time spent off work with family"), there was a market mechanism that did a pretty good job of letting individual employees/employers manage the tradeoffs between work and non-work. Somehow (Republicans) that mechanism became deprecated, and has been replaced by conflict and bullshit.


Except when you take flex time out of the working day, it doesn't come at dinnertime, it comes when your spouse is still at work and your kids are still at school or maybe at their afterschool thing.


And also I agree to work overtime near deadlines because my employer lets me super flexible work time when there's not much work. So it's a tradeoff.

Of course, if your employer doesn't compensate with something, you're getting screwed. But that's true for developers, waiters, clerks, everybody, it's not something specific of our kind.


Based on the comments and complains I heard and read online (in other words: it's only my wild theory) what it seems specific of programmers is the willingness to comply, without trying to negotiate. Maybie it's because the ideal is passionate effort instead of detached profesionalism, or maybie it's because programmers are just a 'quiet bunch'.


It's also the lack of unionization.


I believe the lack of unionization is an effect of what I wrote.


There even a not written rule in Spanish companies: «you never leave the work office before your boss». Effort in Spain only correlates to the time spent in the office and not with results. That is the reason why telecommuting never really took off in Spain.


Let's go disrupt their economy.


I'm Spanish and I approve this article!

I didn't knew that there was a "Spanish Management Theory" ;), it seems we are just giving the world awesome things... like the Spanish Flu.


Except the only relation between the Spanish Flu and Spain was that Spanish newspapers were the firsts writing about it, as they weren't as censored as the ones published in countries fighting WWI.


They nap in the afternoon, they publish uncensored news .. is there anything those Spaniards are good for?


And you forgot about food and weather ;)


Not to mention the friendly late-evening dinner in the summer. Suddenly missing Northern Spain and Southern France :(


>it seems we are just giving the world awesome things... like the Spanish Flu

At first glance, I read that as Spanish Fly. Another awesome thing from Spain...


I was a bignpropknent of OT for non managers since they have less control. The danger with paying managers OT is every hour they do "make work" causes the organization to spend 10 more so you don't want to invent that. OT policies encourage managers to properly staff from the start.


Your concern applies only any creative professional work where time input and work output are not clearly correlated, not just management, though.


The challenge with management is the costs of waste get externalized and multiplied.


Umm, didn't England (and later Scotland) exactly extract the wealth from the ground, in the form of coal, which enabled the industrial revolution.

Spanish coal on the other hand seems difficult to mine.

Cue Jared Diamond and all that "there's actually a reason for that" can of worms.


This meme about how unfair it is that programmers work unpaid overtime is starting to drive me nuts.

I've been in big stodgy software company where everyone worked exactly 8 hours, and the whole company filed out the door at 5pm as if a factory whistle had blown. I've also worked at a smallish software company where the norm was at least 10 or 11 hours a day, and half the programmers came in on Saturdays and Sundays (and I did too).

I much preferred the latter. Why? The work was more interesting, and the programmers were smarter (and nicer!), but the main reason I preferred it is, "What's the alternative for my free time?"

What do you really do with the rest of the day? Yeah, sure, you have great "personal life with your family". But really, the typical programmer at BOTH companies was single, didn't have a girlfriend, and didn't have many friends.

The free time was wasted on video games, lots and lots of video games, mindless chatter at a bar, watching team sports,... you get idea.

Let's stop with the whining and sniveling about unpaid overtime among programmers. The average programmer is well paid, his work is usually interesting, and his free time will be squandered (applies to me too). I prefer to be at work where at least I'm doing something real.


Let me make sure I understand your point correctly. You're saying that we should stop complaining about unpaid overtime because we have nothing better to do with our time anyway?

If that is indeed correct, then you are off base to an insulting degree. I personally work a 40 hour week and never have enough free time to truly be satisfied despite that. I know no programmers who like working excessive hours simply because they never have anything else they'd rather do.

Maybe you're single and can't think of anything else to do besides video games, bar hopping, and sports, but I'm married with a child and I have more than enough interesting hobbies to occupy as much time as I care to give them.


You're an excellent little drone worker. Unfortunately, on their deathbed, most people probably aren't going to wished that they worked more. Maybe trying to find a girlfriend, a few good friends, dancing late into the night, learning another language, writing the great American novel, etc. should be part of a complete life.

At the very least, if all you want to do is work, start your own company. You're probably just making someone else rich who is enjoying life a lot more than you.

You only go around once and you can't take it with you.


Maybe I'm missing your point, but from what I gather, no one should be whining about unpaid overtime because you don't think programmers have social lives and their time is better spent working for free.

Have you heard the expression, "Speak for yourself"? It applies to you here.


But the OP is speaking to all software developers, and I'm offering an alternative viewpoint.

> no one should be whining about unpaid overtime

Do I think that I and other programmers should be paid for overtime? Yes, of course I do. I would gladly accept payment. My point is that this complaint about unpaid programmer time is becoming a recurring theme, as if it's a huge and terrible problem. What's next: programmers forming a union like Detroit auto workers.


What's wrong with forming a union?


[Warning: This question may seem like a troll... I'm just trying to provoke a little more thinking about the pros and cons of unions as they apply to programming.]

Would a union allow it's members to contribute to open source projects? Especially those used in commercial products?


I can't see many programmers joining a union that didn't allow members to contribute to open source. Remember, a union isn't some independent entity that rises up and dictates terms, it's simply a collection of its members. The organization can become corrupted if you're not careful, but there's certainly no reason to assume it would be here.


One thing wrong is that programming is not homogeneous work, and unionization works better when different employees' work are completely substitutible. Otherwise you end up in a "market for lemons" race to the bottom in work quality situation.


There are a number of uniform-ish things that I wouldn't mind an advocacy group handling. For example, I think as an industry we could get better terms in employment agreements, e.g. less onerous noncompetes, claims to own out-of-work IP, and no-contact rules, if employers had to negotiate with a union over those things, instead of every individual employee having to fight an uphill battle to strike out lines in the agreement.

Although an alternative, seen in California, is to bargain at the really collective level and deal with it through legislation that outlaws some kinds of terms entirely.


I'm curious...I haven't thought about this much at all and I've no experience in it, but your assertion doesn't seem obvious to me. Can you back it up with examples?


Your "wasted time" is my "stress relief", so I can actually be productive when I am in the office. There have been times when I've worked significantly more hours than my usual 40 (I'm hourly though, not salaried), and I can honestly say that for me it's unsustainable. After about the first week of working 60 hours+ I'm probably _less_ productive working the second 60 than if I'd just worked 40s.


Been there done that. Wait a couple of years and those people from the second company will start dropping like flies.

They either get a personal life and move to a company that allows that, or burnout / go insane because they don't have anything to live for.

Not everyone is built to live just for "code".


It appears that your comment has been taken the wrong way... I think what you're saying is this:

* It's more fun (for you) to work with people who like to program and ship software than it is to work with people who just program to pay their bills and would rather be anywhere else than at work.

When employees care about solving problems, they put in extra hours sometimes. Managers have the problem of making sure that team members don't burn themselves out. At these companies you see things like as much time off as you want, work what hours you want, work where you want. There's no need to make people work.

When employees don't care, they spend lots of time in the office getting coffee, checking email, IM chatting, surfing the web, having endless meetings arguing about whether or not source control is a good idea, etc. The managers there have the problem of getting the staff to do any real work at all.

For an employee who wants to work at one kind of company, it's very frustrating to work at the other kind.


Many really good people who love to program, though, don't necessarily love to spend 100% of their time programming one thing. Lots of strong, motivated programmers work on open-source projects and other side projects in addition to their day job, and try to avoid companies where excessive crunch-time would make that impossible.


Yeah, I've seen both ends of that. I really understand wanting to work with people who care a lot about what they're doing and who want to get things done right.

At the same time, I've also seen short-sighted management where they're just trying to wring you dry and pulling really stupid stunts that really hurt the people who do care. And when they do those, I find myself starting to care less, because some of the stupid little things they do when trying to save a few pennies can just totally sap your ability to care. Just got a fresh reminder of that, sadly. Cancelled a cheap parts order just because we managed to get the flaky part to work for a short time, but it still breaks down half the time as they'd know if they hadn't left early.


This describes the kind of place I want to work. Employees want to be there for crazy hours because it's such a fun environment, and employers push back to prevent burnout.


There is nothing wrong with working 10 or 11 hours, if you want to. The problem is when programmers DON'T want to stay overtime.

Have you read "In Praise of Idleness" by Bertrand Russell? It raises some interesting questions.

http://www.zpub.com/notes/idle.html


There is something wrong with working 11 hours on a constant basis. Peak performance is realized on a 40 hour schedule. Doing more hours just gets less work done in more time, even if it doesn't seem that way. Those extra 3 hours are better spent playing video games, because then they produce some value, as opposed to no value. Of course, crunching works, and there are times to do that, but you can't crunch all the time.


I would almost argue peak [coding] performance is realized on less than a 40 hour work week schedule. I hate how I am required to be in my office 8 hours a day for 5 days a week.

Somehow, filling chairs seems to be important. Management doesn't take into account the number of hours I think about the software development problems we face and their possible solutions and researching and evaluating how others have solved similar problems in the past. If I were to reserve doing this while in my seat, management and others in the organization would get mad since I wasn't actively typing away on my keyboard. It's also way more difficult to concentrate and remain undistracted in a busy office where people think you are readily available at any moment to answer any question (important or not) that they might have.

This has been addressed before too... managers schedule vs makers schedule.

Also, I prefer and believe I'm more productive mulling over the problem a few days, then coding for 10-14 hours for a day or two (while in flow) then taking a day or two easy or off to recuperate and re-energize. But maybe this is a personal myth I need to break... anyone know of any studies or info to tell me I'm wrong (just wondering).


Ok, so you were doing what you loved, because you love it. That's fine. But at the same time, you were working for a business, and the manager of that business should have known that they were hurting their bottom line because they allowed people to come in on the weekends.

For the reason why, read peopleware, or http://www.igda.org/why-crunch-modes-doesnt-work-six-lessons

It keeps amazing me how clearly peopleware spells out how you're supposed to manage software teams, and how few teams are actually managed that way.


Not all of us want to spend every moment in the office. Some of us have girlfriends, hobbies, or just sometimes need a break from sitting in front of a computer.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: