1 Oct 2008, 10:12am
Career Advice




  • Archives

  • Categories

  • Should I stay in Software Engineering?

    By Career Advisor

    Jason_AvatarCA Question: I’ve been a software engineer for about 6 years now, all in the same job. My problem is that the hours are terrible. I know that some crunch time is expected when projects are due, but I’m regularly working 10-11 hour days, and working on the weekends is pretty common. My question is, is this normal? Are other people in the field working hours like this? I have a chance to leave the field and do something different, but because I’ve only worked one job, I’m not certain if the long hours I’ve been working are part of the profession, or if I could realistically expect to find another software engineering job where the hours are more reasonable. I’m trying to decide whether to look for another coding job, or to take the opportunity to do something different. I want a job, but I want a life too. Can I have both if I stay a coder?

    Answer:

    I think it’s telling what Philip Greenspun who is a professor at M.I.T.for Computer Science has to say about this subject. Side Note: Philip Greenspun founded ArsDigita Corporation and was its CEO from inception until it reached $20 million/year in revenue.

    Here is a direct quote of an Article that he wrote in 2002 titled: “Managing Software Engineers”.

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

     

    It’s difficult to make a generalization for the whole software industry that all programmers work long hours. Everyone’s situation is different of course. There are Software Engineers that work a 40 hour week. There are Software Engineers that work 70 hours weeks. If you want to work just 40 hours per week, I would start looking for another job. They are out there. It’s hard to say how many there are, but they’re out there.

    [...] Should I stay in Software Engineering?In The Mythical Man-Month , the only great book ever written on software engineering, Fred Brooks concludes that no software product should be designed by more than two people. He argues that a program designed by more than two people … [...]

    *name

    *e-mail

    web site

    leave a comment


     
  • Search Jobs

  • Post a Job



    • View Jason Lesher's profile on LinkedIn
    • Layoff Report