Slashdot Mirror


How Many Hours a Week Can You Program?

An anonymous reader writes "How many hours a week should a full-time programmer program? Trying to program anywhere near 40 wears me out. On a good week, I can do 20. Often, it is around 10 or 15. I'm talking about your programming session at the console, typing — including, of course, stopping and thinking for a minute, but not meetings, reading programming books, notes, specifications, etc., which by comparison feel like lunch breaks. I rarely get called to meetings (which is good) but that means to keep my brain from overheating I spend several hours a week surfing the web (usually reading tech news but also a few stops on Facebook, email, etc.). I should add that I am interrupted a few times per day. Me and another guy maintain an intranet site of a couple dozen web apps for an IT department, so we work on a few different things: phone calls, bug fixes, feature adds, as well as writing new web apps from the ground up, all in a day's work. And I know that wears a person out more than if they had just one project to work on. I wonder if programming is like mental sprinting, not walking, so you can only do it in bursts. Am I normal or stealing?"

101 of 547 comments (clear)

  1. Kind Of Vague by unother · · Score: 4, Insightful

    If you mean purely the process of typing in code, well--that's kind of hard to gauge, isn't it? I've always found that the trial-and-error of development processes means that unless you're working in an orthodox manner it's really hard to separate "thinking" from "doing". Also, I find that when you're in the "zone" it's not painful at all. Sounds like you may be working on something you don't enjoy so much? :D

    1. Re:Kind Of Vague by xerent_sweden · · Score: 2

      Is planning, creating UML and organizing projects really programming? No. Is it part of the programming process? Yes, definitely.

    2. Re:Kind Of Vague by unother · · Score: 2, Interesting

      See above where I said "unless you're working in an orthodox manner". UML is used where UML is used; it is consider "orthodox" (AKA CYA). That's why I said the separation is harder when you're free from that sort of overarching process (which is good for some things, but overkill for many others). Point being: if you find development dull, yet you are in a very Waterfall-oriented organization, then well... might not be the programming part. :)

    3. Re:Kind Of Vague by nametaken · · Score: 5, Insightful

      Yeah, it depends entirely on the environment and what you're used to. It's amazing what people will do when they think it's normal.

      I used to work 40-50 hr weeks just writing code. Mostly web applications like the op does. All day, no facebook or web browsing, all billable hours with two project managers behind me that just had to look forward to see what I was doing. I had two 10 minute breaks (one morning, one evening) and 30 minutes (iirc) for lunch. I worked in a converted warehouse with no natural light, no windows (to stare out of and waste time daydreaming). You learn to do it because that's what's expected of you and what the people around you do. Now I work IT and program for a different company, and I can hardly fathom how I used to do that... or why.

      Fuck that old job and fuck that employer... it wasn't worth it. When I went to leave they offered me another 15k to stay... that's how bad I was being raped all along. Obviously I told them no. I know it wasn't sweatshop labor or anything, I was able to quit and it wasn't particularly hot in there, but reasonably smart people that study and learn a usable skill shouldn't have to live like that. Not in the US.

    4. Re:Kind Of Vague by ShakaUVM · · Score: 4, Interesting

      >>Also, I find that when you're in the "zone" it's not painful at all. Sounds like you may be working on something you don't enjoy so much? :D

      When I'm in the zone writing code, I can easily code for 10 hours straight. However, doing this on a day in, day out basis tends to be wearing from all the focus. When I worked for other people, I found that working about four hours a day when my brain was freshest yielded the best results. Since I was being paid hourly, I wasn't even forced to sit around waiting for five o'clock to roll around. I'd bill four hours and bail out. Got a project that had been budgeted for three years and half a million dollars finished in a summer for (unfortunately) much less money.

    5. Re:Kind Of Vague by thoughtsatthemoment · · Score: 2

      It is vague. If there is a range that defines coding, it falls between playing video games and designing an algorithm. Any healthy programmers can play games for days nonstop, but designing an algorithm? They can easily hit a wall and have to stop.

    6. Re:Kind Of Vague by deisama · · Score: 5, Insightful

      This is one of the things I struggle with working from home for myself. With no meetings and nothing to distract me, getting in the "zone" is awesome, but can be a little hazardous.

      When I'm that into it, I stop getting hungry or thirsty, I don't get tired. I got to bed at around 6am, because the bright light hurts my eyes and distracts me long enough to think "you know, its 6am, maybe I should go to sleep" even though I'm not the slightest bit tired.
      My dreams are all about the tasks I'm programming, but of course, since they're not grounded in reality, any discoveries there are useless.
      3 hours later, I'll wake up. I'll spend maybe an hour waking up, eating breakfast, maybe watch an ep of the dailyshow, and than its back to the project.

      I did this for 5 days straight once. It's absolutely fun as hell. Challenge after challenge after challenge. Like the best video game you've ever played. Its crazy productive. 3 to 4 months tasks get done in days. And at the time your mind masks all the downsides from you. You never get exhausted or sick of it. You don't realise how much time or days has passed.

      But than you snap out of it. Your bones ache because you've barely moved them. Friends have messaged you and called, and you didn't notice. The fact that you've barely gotten any sleep hits you hard. You'll be fine one second, take a step forward and than all bam, all of it hits you at once.

      And thats if you're lucky enough to have finished your task. If you've forced your self out of it because of "health concerns", than your mind makes it painfully clear, that you don't actually have as much choice as you thought you did in this matter. Almost as though you're being held hostage, you won't be able to focus on anything else at all. Your mind will constantly come up with new ideas that make you REALLY want to go back and see if it works. If you want to watch a show or play a game, you'll be lucky if you can notice the title. If you try to hang out with friends you'll be distant and distracted. If you try to do anything that requires even the slightest amount of thought, you'll be utterly useless.

      And finally, when you're not in the zone its a stuggle. On the one hand, you know that if you could go into the zone all the work you're wasting time on would be blown away. Why should you do any work in this unproductive state when you know you could do it way better and faster when you're in the zone? But at the same time, there's this fear too. I don't want to lose the next 3 or 4 days of my life. Will this next task be the one that sucks me in? If I start this now, will I be able to make it to my appointment tomorrow? And is this strategy even physically healthy?

      I haven't really come to terms with it yet. But hopefully one day I'll find the perfect balance :)

    7. Re:Kind Of Vague by ShakaUVM · · Score: 3, Insightful

      >>if you can only handle programming 10-15 hours a week - why are you doing software programming?

      I can *do* more, but what I found was that about 20 hours a week yielded optimal results. This is backed up by various findings in education and cogsci as well.

      >>Then 40 hours is never enough time to get everything you want done. ... now back to the code

      I run my own business now. I get quality work done in short amounts of time, and enjoy life with all my free time. If my business went under, I think I'd have a really hard time going back to an office job. I'm spoiled rotten.

    8. Re:Kind Of Vague by petit_robert · · Score: 2, Insightful

      I run my own business too, and try spend at least 15 hours a week on technical newsgroups. On numerous occasions, I happened onto discussions that saved me days of useless work because some post in a thread showed a solution pertaining to a problem I was working on at the time.

      This has had the unexpected consequence of making me feel like I'm actually losing time when I'm too busy to read those newsgroups (/. included)

    9. Re:Kind Of Vague by LBt1st · · Score: 2, Insightful

      I've been there. For years I was like that. I basically put my life on hold all through my teens and 20's. Then eventually I realized I was missing out on a lot, and made an effort to not make coding my priority in life. This was a very difficult transition that took about 2 years. Now I'm finally able to accept that it's something I do when I have time.
      Before if I tried to hang out with friends or something it'd be bothering me the whole time that I wasn't being productive. It was like an obsession that would pain me until I was back at it.

      It feels good to be free of that. I still love to code but I now have a real relationship (not just sex buddies), I see my family regularly and occasionally get out for some fun.

      More then anything I think the key is to try to relax. Truly stop to smell the roses, do some traveling, meet some people.
      I Do miss that zone though. If things were just right, I could do 15 hours a day. Overall though, my life's better now.

    10. Re:Kind Of Vague by schamberlin · · Score: 2, Informative

      What, seriously? You were forced to work 40-50 hours per week actually writing software, without the union-mandated 5 hours per day for updating your blog and watching funny YouTube videos?

      Why do people seem to think that being asked to actually WORK at work is some sort of heinous crime?

      > reasonably smart people that study and learn a usable skill shouldn't have to live like that. Not in the US.

      They should get to work in some gilded office and get their asses kissed for doing 30 minutes of actual work in a day?

    11. Re:Kind Of Vague by ImNotAtWork · · Score: 2, Interesting

      A very wise electronic systems guy (use to be a telephone guy before e-systems) once told me. "Always leave at least one thing to do for tomorrow." (when working for an employer)

      --
      open source sub sim. I might start coding again for this. http://dangerdeep.sourceforge.net/contribute/
    12. Re:Kind Of Vague by haruharaharu · · Score: 2, Insightful

      My code does compile and run the first time. It only runs as expected once it's been verified to produce the right output. That often takes as long as the original code.

      --
      Reboot macht Frei.
    13. Re:Kind Of Vague by Dr_Barnowl · · Score: 3, Insightful

      All that said, and acknowledged, I wish I could "zone out" at will. I enjoy my life a hell of a lot more when I'm being productive.

      I get "zone" times, but find it hard to do at will. I think that's linked to my opinion of the general quality of the project I'm working on ; I'm much more likely to zone out when I'm motivated or enthusiastic about things. Much less so when I think the project is a ... tasered sheep on meth.

    14. Re:Kind Of Vague by Delkster · · Score: 2, Interesting

      Why do you think that you have the right to waste the employers time and money watching youtube videos, updating facebook and surfing the web. They are paying you to work, not to have fun. Sounds like you're just an asshole slacker.

      I might agree somewhat if GP had talked about 25 hours a week or something, but 40-50 hours of true working time a week in a programming job without slacking is bordering between heroic and impossible.

      Nobody I know can really program -- or do another similar mentally intensive and somewhat creative work -- very efficiently for even 8 hours a day without having small breaks every now and then. If you don't have those breaks consciously, your brain begins to have small breaks every now and then, your concentration will falter more easily, and you begin to make more mistakes. Even if you think you're constantly working at full steam, your brain probably isn't. The difference is that making those breaks conscious (and not having superiors watching you all the time as long as you get your job done) is a lot more comfortable and less stressful than trying to force yourself through without them to no avail.

      Of course there's the occasional case of deep hack mode now and then where you can focus on your single task for hours and hours on end, at least seemingly without loss of productivity, but most people certainly can't keep that up all the time. Perhaps some exceptionally focused people can do it a lot of the time but most people certainly can't and would just be cheating themselves if they pretended so.

      For that vast majority of people it's simply inevitable that working 40-50 hours a week (as GP said he did) will mean mental breaks every now and then, much more often than 2x10 min + lunch per day. I'd say that regularly working upwards of 40 hours a week in a programming job doesn't make much sense in the first place, though, for the very reason that most people will have their productivity suffer if they try to do that. They simply wouldn't get much (if any) more work done in total if they tried to do 50 hours per week rather than, say, 35. The total work done would just span over a longer period of time with more breaks and non-productive periods in between, whether conscious or not.

      If GP's managers in the job he described didn't understand this, and they were actually monitoring him to make sure he (supposedly, not actually) was getting things done all the time, they were fighting against the very reality and were doing so at GP's expense, and probably also at that of the employer because GP wasn't at his most productive. I fully understand his frustration with the situation.

      An anecdote is always just that, but sometime last year I was working part-time around 25-30 hours a week on a project (mostly non-programming, though, but in a software project nevertheless), and if I wasn't at the most productive I've ever been, I was at least damn close to it. That is, I've got more things done within an single week than I got within a single week at that time but the productivity I was able to sustain for a few months was almost certainly higher than that of any other period of similar duration. I was highly motivated and was working pretty intensively and productively (not entirely without surfing/youtube/whatever breaks, but with relatively few of them, and with strong concentration), but I certainly couldn't have kept the same pace for even 35-40 hours a week, much less 50. I'd probably have got less done in total if I had tried to do that. If someone had forced me to do that and expected me to do it without any slack, they'd have also shot themselves in the foot, not just me. My managers were smarter than that.

      I appreciate high motivation to work but it should be motivation towards getting things done, not towards sweating your ass off. The amount and quality of "done" in a programming job doesn't scale with the amount of effort infinitely, and maximising the latter rather than the former just makes no sense.

  2. Programming by sopssa · · Score: 4, Interesting

    As long as you're interested in what you program, you can easily do it full work days. However it seems like you're doing the usual code monkey job - these effects are what happens when its not fulfilling or at all interesting. Not in your area of interest and not challenging in the needing-to-think-and-solve-problems way, but just to produce code. That's what it basically comes down to.

    A friend of mine gets his job done and still plays computer games and codes his own projects at work a lot. Since he gets his work done, it's not a problem (though he hasn't told this). Another programmer I know spends 30-40 minutes breaks playing Civilization or other games he enjoys and his boss knows this and likes it because after those gaming breaks he has unwind, maybe has think some of the problems and gets really good programming done again. But he works at a software house, attends to meetings and is in other ways involved in the business too.

    It's no surprise that so many programmers also go as developers later. You get to solve actual problems and do more interesting stuff. When you were a teen, you didn't just program - you developed and spend time thinking what you did. It's no fun if you leave that part out.

    1. Re:Programming by mikes.song · · Score: 5, Insightful

      Yeah, if you are working on your own projects, it's easy to do a sixteen plus hour stretch. Some cola, pizza, and your imagination.

      But, if you are implementing someones broken business logic or accounting rules, I'd guess that three to four hours a week is the norm.

    2. Re:Programming by nemasu · · Score: 2, Informative

      Bang on. At my previous job I was not just a programmer, I was a developer (ie. involved in design), and I was making something that I found very interesting. We were a small group, so you were on your own most of the time and was challenging, which I enjoyed. I found myself looking forward to work and even staying late to finish whatever thought process I currently had. Now...I hold the Programmer title and work in spurts at boring and uninteresting projects watching the clock so I can bolt out the door as soon as possible. Obviously, at the moment, I am off-spurt.

      --
      I made an app! Shoutium
    3. Re:Programming by Anonymous Coward · · Score: 2, Informative

      Bingo.

      I'm also a code monkey who turns business logic into php websites. I reckon I do a bit better than the OP but not much. Maybe 20-25 hours out of my 37.5 a week.

      I work on my own non php code in spare time. I can pull more hours on that per week in my spare time than I can in my paid-for daily work.

    4. Re:Programming by MikeFM · · Score: 2, Interesting

      If it's my own project that I'm interested in and I have no outside distractions or pressing concerns I can program 20 hours a day but when it's work or I have a kid climbing over me or a wife that keeps wanting me to come out of my cave then it's a lot harder. I especially find deciphering other people's bad code and documentation draining but if I'm doing something really hard like designing a prediction system to suggest what products customers will buy based on random factors such as time of year, time of day, weather, what site they came from, etc THAT will keep me involved for quite a while (statistics, neural nets, and genetic programming all in one - fun!). I'd rather sit and figure something tricky out and bash out code than play video games or watch tv any day.

      I keep thinking I need to schedule a week every couple of months where I just get a hotel room somewhere by myself, turn off the phone, email, im, and Slashdot/Facebook/etc and just write code the way I used to before I had a family and an on-call job. It was those sessions of intense coding where I came up with the best stuff. It's damn hard to do when you're coding in thirty minute blocks.

      --
      At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
    5. Re:Programming by dsginter · · Score: 4, Interesting

      As long as you're interested in what you program, you can easily do it full work days.

      I think that you are missing the lower level question:

      How many hours per day will your brain allow you to be functional at a given task?

      When I did lots of SQL-based web development, I would toil away for 12-16 hours on some days only to have the answer in my head after a good night's rest. This happened a lot (and was a little frustrating to do in 10 minutes what could not be done in 10 hours the day before). Maybe I just suck at SQL-based web development but the whole concept of a mental limit is interesting to me.

      --
      More
    6. Re:Programming by Quirkz · · Score: 2, Interesting

      My "hobby" of sorts is programming a web-based game on evenings and weekends and holidays. It's hands-down the most fun thing I've ever done, and there's no way I could code 8 hours straight. Thankfully the game requires I wear a lot of hats: creative writing, strategic planning, image manipulation, and other stuff on top of coding. So on a good day if I put in close to 8 hours of work, I may only be coding for 2, which turns out about right. Enough to be satisfying, not so much I feel my brain is melting.

      What gets me is the tedium of error checking, mostly. I may have to do slightly more of that than what most coders face, since the web-based nature of the game means users can insert just about any darn thing they please. It may be 30 minutes of putting together the framework, an hour of cleanup and error protection, and then half an hour of testing to make sure it does what I want it to do -- not sure if most of you consider that "coding" or not, either. Heck, a lot of purists don't consider PHP to be coding in the first place, I suspect.

    7. Re:Programming by martin-boundary · · Score: 4, Insightful
      Those 12-16 hours are the price for discovering the 10 minute solution (assuming you didn't just fart around for 12-16 hours). You wouldn't have found the 10 minute solution without them, because it took that long to gain experience in the problem domain and learn how NOT to do things.

      Once you have the experience, the next time you're faced with the same problem, you'll come up with the 10 minute solution without the 12-16 hours of thrashing about.

    8. Re:Programming by tomhudson · · Score: 2, Funny

      "How many hours per day will your brain allow you to be functional at a given task?"

      24 when I worked the fishing trawlers but towards the end of the third day the fish start talking to you.

      "We are NOT fish, you insensitive clod!"
      -- the dolphins.

  3. that's easy by Anonymous Coward · · Score: 5, Funny

    That's easy! I can do 169, no problem. Of course, I'll be tired and I may make a mistake here and there.

  4. Not a programmer but... by rwade · · Score: 3, Insightful

    I rarely get called to meetings (which is good) but that means to keep my brain from overheating I spend several hours a week surfing the web (usually reading tech news but also a few stops on Facebook, email, etc).

    My only work product is Excel spreadsheets and the occasional Word document. When I'm building these spreadsheets and documents, I'll get data for them over the phone, which I promptly type into my computer. The net impact is that I'm sitting at my computer all day, 40 hours a week. You just can't sit there and work spreadsheets all day, every day. If your job doesn't involve anything else, you're probably going to end up browsing the web to stay sane.

    1. Re:Not a programmer but... by CorporateSuit · · Score: 4, Funny

      If I can replace you with a program, can I get your salary?

      --
      I am the richest astronaut ever to win the superbowl.
    2. Re:Not a programmer but... by MikeFM · · Score: 5, Funny

      I replaced Al Gore with a small script program and nobody noticed. I was going to replace Rush Limbaugh but I haven't yet figured out how to push that much spam through a pipe without exceeding my system resources.

      If your job is THAT involved I might have to break out something more advanced than Bash.

      --
      At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
    3. Re:Not a programmer but... by rwade · · Score: 3, Funny

      Do you bold text sometimes too...

      I do, but I'm very good: keyboard shortcuts, you see...

    4. Re:Not a programmer but... by Enigma23 · · Score: 3, Informative

      In the UK, if you're working sat in front of a monitor health & safety recommendations state that 'There is no legal limit to how long you should work at a VDU, but under health and safety regulations you have the right to breaks from work using a VDU. These don't have to be rest breaks, just different types of work.'

      I hope you take regular breaks away from sitting at your computer, for your sake.

      --
      Ceci n'est pas une .sig
  5. Duh by xerent_sweden · · Score: 5, Funny

    168 hours per week. 191 if you're onboard Air Code One and circling the globe in DEFCON style.

  6. The 40 hour work week is God given by Anonymous Coward · · Score: 5, Funny

    Eight hours a day, five days a week was good enough for illiterate industrial workers doing manual labor when it was invented 150 years ago. I see no reason it shouldn't be a perfect fit for highly educated software engineers in 2010!!

    1. Re:The 40 hour work week is God given by 93+Escort+Wagon · · Score: 5, Insightful

      Eight hours a day, five days a week was good enough for illiterate industrial workers doing manual labor when it was invented 150 years ago. I see no reason it shouldn't be a perfect fit for highly educated software engineers in 2010!!

      I grok the humor attempt - but I want to point out that those "illiterate industrial workers" would've thanked God for a 40 hour work week. They were often working 10-12 hour days, six or seven days a week.

      There's a reason unions caught on so well, and a reason companies hired goons to fight them so fiercely.

      --
      #DeleteChrome
    2. Re:The 40 hour work week is God given by kz45 · · Score: 4, Insightful

      "There's also a lot of programmers working 80 hours a week now. Too bad information workers have a genetic pre-disposition toward avoiding unionization."

      or a back-bone. Nobody is forcing you to work 80-120 hours a week. If enough developers refused, the practice would stop. The problem is that there is always a supply of developers that will work those insane hours.

      I personally detest the idea of Unions and I'm glad programmers have avoided them. In most unions, your potential raise is dependent on all the other union members in your department. You also don't negotiate raises, your union lawyers/reps do. No thank you.

      A union is almost like a small version of a communist country. Everyone is equal.

      All of my development jobs for the past 10 years have 40 hours with occasional work after hours. The one job I had that required more than 40 hours on a weekly basis, I quit.

      If you have the skills, you will always find someone that wants you. If not, then a union shouldn't be propping you up or forcing a company to pay you a salary any higher than what you deserve.

      The free market works both ways. It's not a businesses fault that most people don't have the balls to demand a raise or walk.

    3. Re:The 40 hour work week is God given by Prien715 · · Score: 2, Interesting

      Employees are now working at least 12 hours per day, six days a week, yet the letter claims they are being increasingly disregarded and dehumanized by management.
      Working conditions at RockStar

      Maybe we need unions again?

      --
      -- Political fascism requires a Fuhrer.
    4. Re:The 40 hour work week is God given by xero314 · · Score: 3, Interesting

      Having worked both union and non-union jobs I can tell you that your generalization of unions is incorrect. A Union is merely a collection of workers. Unions collectively bargain with employers. Yes it means that all members of the Union agree to certain standards, but it does not mean that they are necessarily without any control over their own employment. The Union can bargain for non-salary requirements such as insurance benefits, limits on overtime hours, and safe working environments. Unions can bargain to minimum salaries with out making a stipulation on higher pay negotiated by individuals.

      Every time you bargain with, or enter into any agreement, with an employer (accept in very rare circumstances), you are bargaining collectively. The problem is, that with out a union (be it formal or informal) you are not the one with the collective backing you up.

      Employers naturally collude to keep expenses low, and that includes salaries. Employees have no such natural collusion as it does not batter to us if our coworkers are underpaid. In many cases people would support their coworkers being underpaid if it meant them getting a slightly larger share because of it.

      Unions must exist for capitalism to remain viable. In the past 20 years we have seen the weakening of the power of the established unions, and it may just be a coincidence that this coincides with economic collapse, but I personally doubt the two are unrelated.

    5. Re:The 40 hour work week is God given by Haljo+Gemel · · Score: 2, Insightful

      "There's also a lot of programmers working 80 hours a week now. Too bad information workers have a genetic pre-disposition toward avoiding unionization."

      or a back-bone. Nobody is forcing you to work 80-120 hours a week. If enough developers refused, the practice would stop. The problem is that there is always a supply of developers that will work those insane hours.

      I personally detest the idea of Unions and I'm glad programmers have avoided them. In most unions, your potential raise is dependent on all the other union members in your department. You also don't negotiate raises, your union lawyers/reps do. No thank you.

      A union is almost like a small version of a communist country. Everyone is equal.

      All of my development jobs for the past 10 years have 40 hours with occasional work after hours. The one job I had that required more than 40 hours on a weekly basis, I quit.

      If you have the skills, you will always find someone that wants you. If not, then a union shouldn't be propping you up or forcing a company to pay you a salary any higher than what you deserve.

      The free market works both ways. It's not a businesses fault that most people don't have the balls to demand a raise or walk.

      I'm a member or a union, I program for a living, and my union is nothing like your describing. They negotiate your minimum yearly pay rise, work out the overtime rates and rules, and bargain for your maternity/paternity leave, flexitime rules ect... and basically make sure my employer doesn’t shaft me. We are not all equal and its not a small communist country. When i want a pay rise I negotiate it with my manager. The union doesn’t force me to do anything. But then again I live in the real world not where ever you are.

  7. You're Not Like Me Nor Are You Stealing by eldavojohn · · Score: 5, Insightful

    Look, you aren't stealing. You aren't stealing until you're fired and you keep coming to work and forcibly removing money from your employer without their consent. That doesn't happen very often. Whoever says you're stealing by investing your time as you see fit is full of bullshit. You control your productivity and if your employer don't like it, they'll get someone else. It's that simple.

    Now that said, I have no problem doing forty hours of sheer coding in a week. Meetings take up a lot of time but in one of my former positions as a lead developer, I did serious coding to make us look really really good. It involved 50-60 hours a week of being there and 30-40 was actually coding to make sprint deadlines. I mean code overnight into the next day with no sleep. And no interruptions! My god, you would not believe the lines of code (note: bad metric) I can put away with no interruptions. That's what headphones are for. Amen to the large DJ sized headphones I have at work. It's a polite do-not-disturb sign to my coworkers.

    Coding involves also searching online so you don't re-invent the wheel. Aside from that, your list is good. And yeah, meetings are important for coding. How else do I get my requirements other than directly meeting the customer? That's part of coding unless you're leaving that up to some other guy to get (which is a horrible idea in my opinion).

    Anyway, sounds like you're getting the job done and you're not pulling your hair out like I once was. So what's the problem? You may not realize it but you may produce forty hours of normal developer work in those ten hours. I don't know, maybe your code is less buggy than mine? Either way if the paychecks keep rolling in and your employer isn't hold an axe over your head, what's the problem?

    --
    My work here is dung.
    1. Re:You're Not Like Me Nor Are You Stealing by Nadaka · · Score: 4, Funny

      haha. Where I work the customer service phone monkeys in the cube farm next to me use the speakerphone. THE GOD DAMN SPEAKERPHONE.

    2. Re:You're Not Like Me Nor Are You Stealing by rolfwind · · Score: 2, Interesting

      Look, you aren't stealing. You aren't stealing until you're fired and you keep coming to work and forcibly removing money from your employer without their consent. That doesn't happen very often. Whoever says you're stealing by investing your time as you see fit is full of bullshit. You control your productivity and if your employer don't like it, they'll get someone else. It's that simple.

      This logic is not sound. I remember reading a WW2 manual that warned the officer that if he goes into an area, and he sees men suddenly very busy at his approach, it probably means that they were slacking off while he was gone.

      I know many people like that. Since employee/employer is a type of contract, what the employees do is a form of fraud by deliberate misrepresentation/deception. That's why companies pain themselves to come up with some type of productivity metric to measure these things, and in the long term, yes, the company knows whether you are worth it or not.

      But going by other businesses, where an employee can bullshit/dupe an employer for a good while because the boss doesn't hang around their shoulder.

      To make it easier, just extend that to subcontractor (let's say construction), and tell me they can't steal from the employer. The overall lesson you were putting across stays the same (Caveat Emptor) but leaving the employee without any morale responsibility is the wrong mindset.

      (Now, I don't care if someone surfs for a while, you have to accomodate for human nature, but there are various degrees to everything.)

    3. Re:You're Not Like Me Nor Are You Stealing by dkf · · Score: 2, Funny

      Where I work the customer service phone monkeys in the cube farm next to me use the speakerphone. THE GOD DAMN SPEAKERPHONE.

      That's inhuman. Strike back! Learn to yodel. Practice at your desk.

      --
      "Little does he know, but there is no 'I' in 'Idiot'!"
    4. Re:You're Not Like Me Nor Are You Stealing by johncadengo · · Score: 3, Insightful

      Have you ever asked them not to?

      --
      My page.
    5. Re:You're Not Like Me Nor Are You Stealing by flanders123 · · Score: 3, Funny

      You get cubes? Lucky.

      I work in a "Trendy Open European-Style Office". Only one problem: My office is in America, land of the "I can yell like a dooshbag on my fucking bluetooth headset cuz its free country!"

      Sigh...My kingdom for a cube.

  8. Depends on what you're coding by mikael_j · · Score: 4, Interesting

    To this day I sometimes catch myself working on some interesting problem at home and putting in 30+ hours over three days when I've got some time off from work, because the problem is interesting and there's no one around to make it uninteresting by coming up with changes halfway through, demanding arbitrary things that have no place in the app and similar stupidity.

    But when I'm at work building some glorified CRUDified spreadsheet in WEB_LANGUAGE_OF_CHOICE and I can't get two hours of coding in before the specs change or some PHB from another department feels like pointing out that the blue background color is a bit too blue for his tastes or whatever, well I sometimes end up taking a lot of little breaks just to clear my head enough to be able to function at all.

    --
    Greylisting is to SMTP as NAT is to IPv4
  9. Much like sleep for me by Orga · · Score: 3, Insightful

    If quiet, uninterrupted and sleeping peacefully (coding something interesting/challenging) I could go easily for 8 hours or more. However if you interrupt me, and this could be a meeting, lunch or even a visit form a coworker it can knock me out of my coding (wake me up) and it's usually going to take me some period of time to get back into the flow of it all. The longer the interruption usually the longer it takes for me to get back into it. Caffeine and other Nootropics can contribute to to length and motivation to get back to work.

  10. Age by ucblockhead · · Score: 5, Interesting

    When I was 20, I would program 8-10 hours a day, then go home and code for 4-6 hours into the night.

    Now I get distracted before an hour's coding is up. That's why I moved into management.

    --
    The cake is a pie
    1. Re:Age by okmijnuhb · · Score: 2, Funny

      You were lucky. I worked for three months in a paper bag in a septic tank. I used to have to get to work at six in the morning, clean the paper bag, eat a crust of stale bread, work fourteen hours a day, week-in week-out, for sixpence a week, and when I missed deadlines my boss would thrash me his belt.

  11. i can code htlm all wekk by gyrogeerloose · · Score: 4, Funny

    /p>yessir, i have no problem wiht a 40 hour weel of html coding and i >i>never,/i. maek a mistake.,

    --
    This ain't rocket surgery.
  12. age matters by tlord · · Score: 5, Insightful

    I think it changes with age. When I was quite young, 10 hour a day for days on end wasn't so hard to pull off. Remembering to sleep and shower and brush my teeth were harder. The catch was that a very high percentage of the code I'd write was either pure crap, or could have been done better in less time by writing another program to write that code. As I've gotten older, I've found that it's easier to spend a large number of hours *contemplating* code -- but hard to work other than in smaller bursts actually writing the code. The difference is that when I do write code, the hours are far less wasted.

    I've taken this into account and so now my plan is, that when I reach 90, I'll just wake up in the morning and fart. My heavily customized Emacs will analyze the fart and translate it into C. "Oh, boy, I wrote another new OS kernel this morning!"

    Well, ok, one of the two above paragraphs is true and not the other.

    1. Re:age matters by fdrebin · · Score: 2, Insightful
      Yes, thinking matters big time. Other elderly colleagues of mine can generally code circles around the young whippersnappers, as we've been there, made the mistakes, and know not to make most of them. (Sadly we do repeat them sometimes). Too bad so many young'uns already know everything and don't want to learn from others, and prefer to learn by making the same mistakes others have made a zillion times before.

      /F

      --
      Stupidity... has a habit of getting its way.
  13. It Takes The Right Combination of Events by bossvader · · Score: 3, Interesting

    In the right environment on the right projects with the right team....I could easily design, develop, and test for 40+ hours a week and feel energized. Unfortunately that right environment, project and team is very rare.

  14. or: how many hours you actually get to program by greywire · · Score: 2, Interesting

    I think bigger question is how many hours a week are you actually able to program when you consider all interruptions. I rarely am able to program for more hours than my brain is capable of.

    When you have managers wanting meetings three times a week (granted, they are short usually), you expect to get a least a few inquiries a day about the code from someone who's not understanding what you are doing, and you work from home and/or you just get called frequently by the Significant Other... all these interruptions break up your day resulting actual concentrated programming being hard to do for any length of time.

    I find I probably only spend 10 - 16 hours a week doing solid coding. Another 10 - 16 is spent just thinking about higher level things like architecture or scaling issues or whatever, and depending on the week 4 - 8 hours "alternately stimulating" my brain with related (slashdot) but not directly applicable stuff. The rest is taken up by the aforementioned interruptions.

    But I'm not a "grunt programmer" either.

    --
    -- Senior Software Engineer, Attorney appearance services, locallawyerapp.com.
  15. Re:Nope by bongey · · Score: 2, Funny

    So what if I am ? I have no problem coding circles around people that , oh wait a minute there goes a bunny.

  16. It's a physical thing by phantomfive · · Score: 5, Interesting

    Thinking is a physical thing, it requires energy, and can tire you out. If your body isn't in good health, you're not going to be able to concentrate for long periods of time without getting exhausted. If you aren't feeding yourself properly, you aren't going to have enough nutrients to keep your brain going.

    Now, being in good physical form doesn't mean being skinny: you can have terrible energy levels even if you are skinny, and you can have amazing levels even if you are fat. That said, the easiest way I've found to increase energy levels are first, to get enough nutrients (proteins, carbohydrates, fats, vitamins, fruits and vegetables) so your body can rebuild itself, and second, running. If you can run far, you will be able to program 60 hours a week without a problem. If you want inspiration (ie, extra motivation beyond just high energy levels), check out this book (I've no relation to the author, just found it inspiring).

    Whether you would want to program 60 hours a week is a different question.

    --
    Qxe4
  17. Office space by jimbolauski · · Score: 4, Funny

    Peter Gibbons: Well, I generally come in at least fifteen minutes late, ah, I use the side door - that way Lumbergh can't see me, heh heh - and, uh, after that I just sorta space out for about an hour.
    Bob Porter: Da-uh? Space out?
    Peter Gibbons: Yeah, I just stare at my desk; but it looks like I'm working. I do that for probably another hour after lunch, too. I'd say in a given week I probably only do about fifteen minutes of real, actual, work.

    --
    Knowledge = Power
    P= W/t
    t=Money
    Money = Work/Knowledge so the less you know the more you make
    1. Re:Office space by dudpixel · · Score: 3, Insightful

      this reminds me of a quote I read somewhere:

      "You never know when it will strike, but there comes a moment at work when you’ve made up your mind that you just aren’t doing anything productive for the rest of the day."

      so true...often hits around 8:30 am for me.

      --
      This seemed like a reasonable sig at the time.
  18. Work smarter, not harder. by PhantomHarlock · · Score: 3, Insightful

    That's pretty normal. The important point is if you get the job done on time and in a time frame considered reasonable. People aren't machines. No one works every second at their desk. It also leads to things like crunch time at the end though, time management is a tough thing for most people. Seems to be the nature of humans though.

    Desk workers have it a lot better than assembly line workers, who are always 'on' when they are at their station, until they get their breaks.

    Me, I hate clock watching, I don't pay attention to that sort of thing. I just do the job until its done within the required timeframe. But I am fortunate to have a job with a lot of different hats, so I have a large variety in what I do. I switched careers 8 years ago to get away from a job that required me to be at a desk all the time. Sitting at a desk all day is one of the most unhealthy things one can do to oneself.

    The important thing is to balance and enjoy what you do. We really have no idea what happens when we die, there is a not-insignificant chance that there is no undying part of us. How do you want to spend your life? In fear of the clock and in guilt towards your employer, or have realistic expectations as a non-digital entity?

    Work hard and put in long hours when its warranted. Relax when you need to. Don't kill yourself or you'll burn out quickly and end up quitting anyway. Any excessive exertion will have to be made up for anyhow. It's like sleep - the debt accumulates, you will lose productivity later if you go overboard now. Zero sum game. Have fun, enjoy life, work well, be productive. Work smarter, not harder. Etc.

  19. Re:Enjoy your lazy job while it lasts. by e2d2 · · Score: 5, Informative

    He means actual coding sir. He said not reading specifications, meetings, etc. You know, the majority of the actual work being done in software development? Simple fact is we do little coding when compared to the other aspects of the job. That's why I tell kids coming out of college with CS degrees - get ready to learn, again. Because if they think it's all coding they'll be sorely mistaken. I spend more time trying to work with customers learning the domain and getting what they need out of them then I do actual coding. Meetings are required but sometimes lengthy. Documentation takes little brain power but is also required. Deployments are not very exciting but again, required. QA processes can be tedious too. Etc. I do spend some days coding non-stop from 9am-6pm but that's not typical, that's a spectacular day when it comes around.

    That all being said, I do find myself working in a sprinting fashion as the posted does. I'll always be coding when it's time but sometimes you get a burst of speed and intelligence that you might not have every single day and you sprint ahead and make up for the times when you're not so sharp. This cycle goes on and on and it's hard for me to get around it. For instance, I had a burst of inspiration on Sunday and had more productivity in that off day then the entire week previous.

    I defy anyone to focus day in and day out for years and maintain absolute focus at maximum productivity. If you can do that then you're a better developer than me and perhaps a robot.

  20. Re:Enjoy your lazy job while it lasts. by phantomfive · · Score: 2, Insightful

    A lot of programmers do that, actually. Programming is hard, and it's easy to get distracted. This is why if you learn to focus you can easily accomplish more in 8 hours than the average programmer does in 10. If you ever talk to people who put in 12 hour days, you'll find they usually waste a good portion of those hours.

    --
    Qxe4
  21. Obligatory XKCD by Somebody+Is+Using+My · · Score: 5, Funny
    1. Re:Obligatory XKCD by JWSmythe · · Score: 3, Funny

      I've been caught surfing several times, and had to bring the windows that are compiling to the front and simply say "Look. Compiling. Can't do anything else right now.". I was actually asked to compile less and work more. hrm. Now I just work on the spreadsheet analyzing my pay, and start asking questions about inconsistencies in the checks. "Why is there a 10% difference between what I've worked, and what you've paid me for? Should I just go home until you've figured out your mistake?"

          They really shouldn't have made me find more work related items to do, and I wouldn't have found their accounting errors in payroll. A little here and there isn't all that noticeable until you go and do an audit of it. It may be uglier if I go get the rest of the numbers from accounting and compare it to the P&L sheets. Sometimes they forget, sysadmins and programmers can frequently do math better than accountants, because we can write a program to do it for us, and I use floating point numbers, rather than rounding everything. :) Sorry, your rounding doesn't work as accurately as you'd like.

          Too bad I can't cut checks, or I'd have it sending all the $0.00[1-9] to my own check. Whee, I made $50k extra this week. :)

      --
      Serious? Seriousness is well above my pay grade.
    2. Re:Obligatory XKCD by JWSmythe · · Score: 2, Insightful

      Not when working time can be calculated in minutes, and they calculate them in hours or rounded hours. We'll use $20/hr as an example.

      1 hr = 60 minutes = $20.00
      1 minute = 0.0166666666666667 hrs
      0.0166666666666667 * 60 = 1.000000000000002 hrs = $20.00000000000004
      0.01666 * 60 = .9996 hrs = $19.99
      0.016 * 60 = 0.96 hrs = $19.20
      0.01 * 60 = 0.6 hrs = $12.00
      0.02 * 60 = 1.2 hrs = $24.00

      So, which number would you rather your payroll company use? I prefer the accuracy of 1.000000000000002 hrs. By your logic, truncate anything beyond two decimal points, and you're getting *REALLY* shorted on your pay.

      --
      Serious? Seriousness is well above my pay grade.
  22. I CAN code about 40-60 hours a week by jockeys · · Score: 3, Interesting

    but usually I only GET to about 10-15 hours, and spend the rest of my time dealing with meetings, documentation, etc. Coding is the fun part.

    --

    In Soviet Russia jokes are formulaic and decidedly non-humorous.
  23. Re:Enjoy your lazy job while it lasts. by flabordec · · Score: 2, Insightful

    I'd rather work in his job than yours

    Unless you actually enjoy your work. I would prefer working many hours in a project I enjoy because I really like coding.

    But I think both OP and GP are a bit extreme. Working 10 hour weeks yet be paid full 40 hour weeks sounds cheap, but just resting 10 minutes in a full 8 hours seems like too much work and no rest, which will burn you down pretty quickly.

    --
    "I see undead people" Warcraft III - Necromancer
  24. Yerkes Dodson Law by Chaseshaw · · Score: 2, Informative

    I'm in a very similar position. Coding something that is not interesting with a boss that hovers over me and thinks my productivity goes up if I spend an hour a day in meetings with her (she is not tech-saavy by any means and lacks any understanding of program developing). I'm pretty good at forcing myself to work, but end up with 45-50 minutes of good work in an hour. I chalk it up to the Yerkes-Dodson Law ( http://en.wikipedia.org/wiki/Yerkes%E2%80%93Dodson_law ) which basically says productivity has an inverse-U shape as a function of creativity. If you're a grunt adding receipts you need pressure on you to do your job and get anything done, but if you are asked to solve a problem creatively using a computer (e.g. most software development--the path to the finished version is not always explicit), high pressure from above makes productivity go way down.

  25. Re:Enjoy your lazy job while it lasts. by spintriae · · Score: 5, Funny

    Sorry you to hear you get "interrupted a few times per day" while Facebooking. You poor, poor thing.

    Have you any idea how difficult it is to harvest your crops in only 30 hours a week?

  26. Time worked not an issue by rwade · · Score: 4, Interesting

    You said you usually work about 10-15 hours per week. So that means that on some weeks, you fuck off on the internet for 30 hours a week!?! Sorry you to hear you get "interrupted a few times per day" while Facebooking. You poor, poor thing.

    We need to get away from this paradigm of "You must work 40 hours a week" to the paradigm of "You must do this, this, and this for me and I will pay you X." Sometimes we work the full 40, sometimes we work more, sometimes we work less -- the important part is delivering to your employer what he wants. Clearly, asker is doing that or he wouldn't be employed.

    I subscribe to the "As long as you're not illegally gambling or moonlighting from your desk, and as long as you're getting me what I need and not bothering anyone else, screw around on the Web as much as you want."

    1. Re:Time worked not an issue by rwade · · Score: 2, Insightful

      So whenever you work greater than 40 hours, you get overtime, right?

      No, but my manager does not require me to work overtime.

      First of all, consider yourself very lucky. I think it's pretty rare to have a boss that manages your work load well enough to keep you to 40 hours.

      Most of us that do mind-intensive work are non-overtime employees. Some weeks, the work takes more than 40 hours and we don't get paid a nickel for that extra work.

      The next week, everything has calmed down and there's not as much to do -- should I really be expected to bust my ass looking for stuff to do so that I can fill 40 hours even though I put in 50 the previous week?

    2. Re:Time worked not an issue by IICV · · Score: 2, Insightful

      We need to get away from this paradigm of "You must work 40 hours a week" to the paradigm of "You must do this, this, and this for me and I will pay you X."

      The problem with that philosophy is that if you are worth X, "this, this and this" invaribly changes to "this, this, this, this and set up the server" - while X remains constant.

      And then the business wonders why good tech workers change jobs more often than they change their shorts.

  27. Am I... by geekmansworld · · Score: 2, Insightful

    "Am I normal or stealing?"

    No.

  28. Hours put in vs. results put out by Attila+the+Bun · · Score: 3, Insightful

    I think the very concept of "stealing" time is arse-backwards. I don't care or count how many hours my team puts in. I judge them by what they do: how many tasks or projects they complete, and how much help they needed. If anybody seems easily able to deal with their workload, I give them more challenging tasks. And if they complete those too, I use that to justify a raise at the end of the year (theirs, not mine).

    If an above-average guy only does an average amount of work and spends half his time web-surfing, that's no reason to fire him. But he'll only get an average review.

    That's my system, and I think it's fair.

    1. Re:Hours put in vs. results put out by Skal+Tura · · Score: 2, Interesting

      That is indeed fair system. Keep it honest, and going. Don't ever forget to really reward for getting most done, and if someone fails remember to check the specs, if it was feasible or was the problem elsewhere.

      I've been with an employer who constantly gave me more work. He gave me about 6-7months total working time to complete 13month project, which was in the first place under budgeted, under manned effort. He told me i can use couple guys as much as i need, but told them to refuse almost anything but the absolutely most crucial, by keeping their workload and priority list so that i wouldn't get any help. Needless to say that project was late at the time of my departure, but still within 13month hour budget, and 95% complete.

      During this time i was given a complete company to look over which was acquired, i was made the manager of network operations. My job also consisted of whole new areas, i also did some sales and customer support. I saved multiple client relationships by pulling aces out of my sleeve by stepping into the project. During the short timespan i was in the company, on paper i was least experienced, least educated, but when i left i had the 2nd biggest responsiblity in the company, directly after the owner & founder of the company. I was involved literally in everything. I worked way too long hours too, at constant sprint speed. It was a reaally lucky day if i got a 10minute break to read slashdot.

      I told my responsibilities and workload does not match anywhere near my compensation. I was being paid 30% under average, basic junior web developer's salary. I was laughed at and basicly told to f* off. This despite being just offered partnership, which was used as an excuse for keeping my salary same. Partnership you ask? Yeah, he asked for money. I would have had to buy shares, without knowing if there will be dividends. I was given absolutely no details. I was also invited to the board. Best of all? My salary was so low that i couldn't afford to buy shares. I was living from hand to mouth. Every person in the world needs hobbies etc. to stay sane, so my only choices was to end all my hobbies to afford even proper clothing required for my level. I had only 300e monthly budget for extra expenses. The lowest i've had ever, even unemployed i had more.

      Don't become that slaver. There was plenty more wrong in that place, such as working time was accounted at 15minute accuracy, and you were supposed to put almost every single minute of your working time to some client.

  29. Not unique to coding by thepike · · Score: 3, Insightful

    I've worked a number of places (sales, factory, desk jobs etc.) and at all of them I've seen people spend way less time doing "work" than the amount of time they were at the job site. Some examples:

    • At the pet store I worked at in high school we would work hard before opening and after closing so that when the store was open if there were no customers we could just stand there because our tasks were done
    • At the factory I worked in, I spent a lot of time personally just standing around because I wasn't qualified to set up machines or work on them alone (I didn't work there long) so if someone else didn't need an assistant, I got paid to sweep the floor or some such thing. Also, on that note, they definitely could have set up the machines faster, but overtime was the name of the game so they dragged their feet
    • When I worked in an office people often didn't do things efficiently. Some of it was messing around (email etc) some of it was work sanctioned (long pointless meetings) and a lot of it was general inefficiency (many people only know how to do about 2 things in excel, and a lot of those excel functions could be replaced by a python script to do it for them

    Now I work in a lab and teach (I've always been a biologist, just not always employed as one) and my lab mates give me crap for the little amount of time I actually spend in the lab. They'll be here from 8 in the morning to 7 or 8 at night, and I'm usually here 9-5. The difference is that I multitask, while they tend to do one thing at a time. So if I have some PCR or a gel or something running, I'll start doing something else at the same time, staggering them so that I'm always doing something and, hopefully, when I finish with one thing, the next is about ready to be worked on. Or I'll read, write, or grade papers, things like that. I end up getting more work done in my 9 hours on site than they do in their 11 or 12. Luckily my boss has figured it out and lets me basically come and go as I please, as long as I give him good results, but everyone gets so worked up about face time that there have been multiple complaints.

    I say, as long as your work is getting done, who cares how long it takes. If you're programming 15 hours a week and getting it done, more power to you. Just because someone else takes longer to do the same task doesn't make them any more valuable as an employee. Actually, assuming you're more efficient than them, it makes you more valuable, in my eyes.

  30. Wow. Bitter much? by Weaselmancer · · Score: 5, Insightful

    Oh, and by the way, I'm on my daily 10 minute break. Back to actual work for me. Have a nice 8 hour day doing.....whatever it is you do.

    You sound terribly mismanaged, and understandably a little bit bitter about it.

    Let me tell you something. Best managers view programmers as black boxes. Work requests go in, work comes out. If work>=schedule, then you have a good programmer and that's that. Doesn't matter if he plays Tetris 39 hours a week. If the project gets done, done right, on schedule - why would you care about anything else?

    The worst managers are micro managing nitwits like the one you work for. Seriously, he has a stopwatch and is timing your one single ten minute break? If you take an extra minute or two do you get written up or talked to? Sounds like kindergarten to me. No thanks.

    Look around some. You might just find a job that doesn't make you die of hypertension by your 50th birthday. They do exist, you know. You can work, put in good solid days and make good product - and not be treated like a member of a chain gang.

    --
    Weaselmancer
    rediculous.
  31. Code Monkey get up. Get coffee.... by Itninja · · Score: 4, Funny

    ....its not fulfilling or at all interesting

    This job fulfilling in creative way. Such a load of crap.

    --
    I judt got a nre Kinesis keybiartf so please excusr ant egregiou typos.
  32. Re:Enjoy your lazy job while it lasts. by Stargoat · · Score: 4, Insightful

    That 8 hour stuff isn't possible. How many 17:30 meetings have you been in, or 08:00 corporate town halls? If you work hard for your 40, you'll just be taken advantage of.

    --
    Hoist Number One and Number Six.
  33. I'll play Devils Advocate here by databank · · Score: 5, Insightful

    Is it okay for you to hire a gardener for 20 hours of work and have him actually work 10 hours and take a break for 10 hours?

    Some people may feel that that analogy doesn't have any bearing cause its not in an IT field. Say, if you decide to hire a web design consultant, would you be okay with paying him out of your own pocket for a 40 hour week if it includes surfing the web, chatting with friends over the phone, taking long lunches etc?

    This doesn't mean you need to chain someone down to their job and certainly taking small breaks throughout the day is needed just to mentally refocus, but if you don't feel comfortable paying someone 40 hours for 20 hours of work, why would an employer be okay about it?

    Food for thought.

    1. Re:I'll play Devils Advocate here by hsthompson69 · · Score: 4, Insightful

      I guess the real question here is do you hire a gardner to do 20 hours of work, or do you hire him to maintain 20 yards. If he gets all 20 done in 10 hours, does it matter how many hours it took him?

      In the case of IT, I suppose the problem is that the skill level can vary so dramatically that you can have a "20 hour" task that takes some people 30 minutes, and other people 3 weeks. You certainly can't get away with paying someone for only twenty hours if they work 3 weeks in a row, but it should tell you something about how much you can expect out of them in the future.

      FWIW, I think in the end coding and programming are more like art than like building widgets. Sometimes, epiphanies happen quickly, other times, not so much.

    2. Re:I'll play Devils Advocate here by GeckoAddict · · Score: 2, Insightful

      It depends. If he spends 10 hours getting supplies from the store, picking out plants, drawing a layout of the plan, and meeting with me, then I have no problem with the gardener doing 10 hours of actual manual labor planting and cutting. I think similar situation applies, it's just that instead of all those things it's reading requirements, meeting stakeholders, answering questions about older projects, participating in training activities, etc.

      At my place of employment we use TSP/PSP and we're expected to maintain 12-14 hours of 'on task time', meaning time actually writing code or design documents. Contractors (who have less meetings and are less involved in requirements/design and department training/meetings) are expected to get around 20. The rest of the time is due to meetings, demos, research, answering questions, answering the phone, status meetings, setting up test equipment, etc. Someone stops by your cube to ask a question, you stop the timer.

    3. Re:I'll play Devils Advocate here by John+Betonschaar · · Score: 2, Insightful

      ^ this

      For larger code development jobs where multiple people are involved and the code is going to be maintained and supported for a long time, it's even harder to relate 'hours actively spend programming' to 'productivity'. A bad developer may be able to implement a new feature by working his ass off the whole week, but if it turns out that the code is so bad or buggy that it's hard to maintain, unreliable or even needs to be re-done completely, these 40 hours a week might actually cost the company hundreds of hours of extra work somewhere along the line. If you get the job done right, on time, it doesn't matter how you spend the hours doing it, even if it involves having to take your mind off the actual code and relax every now and then. I'm 100% convinced that you cannot force the human mind on a single, fixed and complex task for too long without losing your overview, and eventually ending up in dead-ends that you could have avoided by switching to completely unrelated tasks a few times each day. Some days your mind is on a train and you can go on for hours, but other days you get stuck on something, and forcing yourself to keep staring on that stream of codes on your screen will not help you.

    4. Re:I'll play Devils Advocate here by copponex · · Score: 4, Insightful

      why would an employer be okay about it

      Because the boss is making 300 times your salary, and can't do 300 times the work. He knows that, and you know that, and you both know him flying first class is a waste of money, as is the expensed dinners, "retreats" in Caribbean, the company Audi, the office remodel that cost the company ten or twenty grand..

      Work rules are for the lower rungs of the ladder only, because they are the only ones who actually do anything. The higher you get, the more you get away with, as long as you are playing by the real rules: keep your mouth shut, do what you're told, and don't make any noise about the corruption and waste at the top. If you find yourself making waves at meetings about company waste or using that dirty "ethics" word, you'll quickly find yourself playing by the work rules again.

      That's why the whole top of the pyramid is nothing but pimps and hookers.

      a spade is still a spade, a collar is still a collar
      whether it be blue or white
      it's still around your neck, the silk leash nice and tight
      your wife helped pick it out
      the irony is that you worked 3 hours for it
      you wish you could ignore it:
      you're a hooker

    5. Re:I'll play Devils Advocate here by johncadengo · · Score: 2, Interesting

      What constitutes work for a gardner? Is he working only when blades of grass are cut, only when he is moving, only when bushes are being trimmed?

      Now, what constitutes work for a programmer? Is he working only when he is typing code, only when reading specifications, only when debugging?

      It is hard to imagine that the gardner who works 20 hours a week but charges for 40 needs the extra 20 hours to plan out his next move. Yet, for the programer, the thought process is just as much work as the typing. And the vast majority of programs are the result of thinking done while resting or being distracted. Like a benefactor supporting an artist, the manager pays for the final product, which involves time beyond the simple manufacture of it.

      --
      My page.
  34. To Code or To Develop by Alanbly · · Score: 5, Insightful

    If you're actually writing code more than 50% of your time you aren't thinking enough to warrant anything beside grunt programmer work. Good solutions require research and thought and if you aren't thinking and just coding, you're writing sub-standard code. That said if you aren't architecting anything, if you aren't actually designing solutions, there's no reason you can't stay on task for 40 hours, plenty of people do.

    Personally, I'm of the mindset that good solutions need to percolate. So I'll keep multiple projects going at any given time, and break up the work an any one of them to minimize true down time, and read slashdot during compile/debug cycles. But that's just me.

    --
    -- Adam McCormick
  35. I think it's not uncommon... by PortHaven · · Score: 4, Insightful

    I always found that I coded in sprints. I could get more accomplished in one sprint than in the three days prior. Programming often seems to be a thing of get stuck on some stupid issue totally separate from logic and design (the aspects of programming I enjoy) and finally getting through that stop gap and getting the rest of the code completed.

    I've also found that many times that sprint occurs around 4pm-5pm (yes, when everyone else start going home). This has convinced me that we'd be better off if we offered programmers the option of working three 12 hour days. Such would facilitate longer sprints, and during periods of times with less distractions.

  36. Re:Enjoy your lazy job while it lasts. by JWSmythe · · Score: 2, Interesting

        As I like to tell people when they interrupt me, it takes about 15 minutes to get back into a task. Every time they interrupt me, that counter is reset. So when they come by every half hour to see how well I'm making progress, that means it's taking twice as long. Being that they keep doing it and I expect an interruption every 30 minutes, I stop at about 20 minutes (5 minutes of productivity) and prepare a report of what I've accomplished.

        So, in 8 hours, I may accomplish 1.5 hours of work.

        Some employers and staff understand this. I end up coming in at my own time (usually around noon), spend the first few hours taking input and answering questions about the progress, and then around 5 I dedicate myself to work until midnight. So 5 hours of chitchat and minimal on-task work, and 7 hours of serious uninterrupted work.

        So 7.5 hours vs 35 hours of accomplished work. Which is more advantageous to the company? Quite often I've accomplished a week long task in a single night.

        At one employer, they asked me to modify a partially completed application for a new client with new specifications. This was on Friday at 4pm, and was required by Monday morning. They were specific down to what font, size, and layout of the GUI. I said it would take a month or so. They didn't like my answer, so they got the lead developer from the project who talked in circles and finally said it would take a few months if he put his entire team on it. I came back with "I can start from scratch and have it done by Monday morning, but don't expect me to come in til after noon, and no one is allowed to call me all weekend. I'll initiate any necessary communication.". They said it was impossible for me to do that, it took the original team two years to get it to this point. I worked all weekend by myself at home, and at 6am Monday I sent them the finished product.

        1 sysadmin who does development for fun 1 weekend vs a team of developers for two years. Hrm. My code was only a few thousand lines. Theirs was a few hundred thousand lines. I considered taking some of their code to use in mine, but it was so chaotic and poorly written that I would have spent the whole weekend reviewing it and fixing it.

        The customer was happy, but the boss was pissed at me for some reason. And I was a salary employee, so they didn't even pay me anything extra. The sad part was, it also served almost all the functions of our primary product, which didn't always work right. There was lots of "but you didn't do it this way.", which I followed up with "but this is better, faster, more robust, and made the customer happier."

        They fired me a few months later for an arbitrary reason to get me out. Go figure. I think they gave me the impossible task to accomplish in a weekend so I would fail and they could fire me for it. I was given a few other "impossible" tasks, which I accomplished also, before they finally just got rid of me. Hmmm, I did more than the entire development group, by myself, with easy to understand and manipulate code, and they weren't happy.

    --
    Serious? Seriousness is well above my pay grade.
  37. Comment removed by account_deleted · · Score: 2, Interesting

    Comment removed based on user account deletion

  38. Re:When did UML become "orthodox"? by AuMatar · · Score: 3, Informative

    UML isn't a programming language. It's a way of drawing out an architecture. There's some tools out there that can convert it into code (which is trivial really) that some PHBs think are the best thing since sliced bread, but most use of UML is to show interactions between classes in quick freeform drawings. And very few of those use strict UML- they tend to be the same handwavey drawings we've been doing on legal pads and whiteboards for 30 years.

    --
    I still have more fans than freaks. WTF is wrong with you people?
  39. Re:Wow. Bitter much? by Civil_Disobedient · · Score: 2, Insightful

    If the project gets done, done right, on schedule - why would you care about anything else?

    I agree. Where I work the head of IT moved up "from the ranks" and even lends a hand fixing bugs in the code when he gets a chance. But he knows his primary job is basically to run interference. I've seen it--it's ugly. Lots of time spent on the phone, hashing out specifications and requirements in looooong, boring-ass meetings. No thank you. And when things get to us, he trusts us to leave us to our devices and get the work done on time.

    It's a pretty good trade-off.

    To answer the original question...

    How many hours a week should a full-time programmer program?

    Should? I would say the answer is that there is no answer. What you should or I should do varies greatly depending on our personalities, our likes and dislikes. I like to build things. I enjoy solving problems. 40 hours a week doing what I enjoy is easy.

  40. Re:168 hours by Anonymous+Freak · · Score: 2, Funny

    Slackers.

    I generally code for 172 hours a week. (It helps if you constantly travel West at a slow rate. Yeah, every few weeks, you'll lose 23 hours, but that's your vacation time.)

    --
    Another non-functioning site was "uncertainty.microsoft.com."
    The purpose of that site was not known.
  41. Re:When did UML become "orthodox"? by ppanon · · Score: 4, Interesting

    UML isn't about programming. It's about documentation for large projects that require division of labour. It's about specifying functionality for communication between business experts and the people who get the work done. It's about getting the big picture without having to pour over the whole picture with a magnifying glass (i.e. reading the source code).

    Seriously, I might consider contributing to more open source projects with bug fixes if it didn't involve scanning though megabytes of code first to narrow down the source of the problem.

    Something that I think Sourceforge or an equivalent repository system really needs is a tool for reverse/round-trip engineering UML diagrams of the projects it contains (i.e. identifying how/where code restructuring affects UML documentation and supporting the update of that documentation). One reason why nobody has actually tackled this may be that Sourceforge projects may contain various combinations of Java, C++, python, C, PHP, perl, etc and UML really works best with object-oriented languages.

    --
    Laissez lire, et laissez danser; ces deux amusements ne feront jamais de mal au monde. - Voltaire
  42. It's the context-switching that kills me by rawler · · Score: 3, Insightful

    I'm experiencing something similar, although, I must say it's not the "coding" that kills me, but the amount of context-switching I'm forced to do on a daily basis.

    First, just let me explain my work. I'm the only developer in a technical department of 15 people, in a small local branch of a much bigger company. As such, I serve both various developing needs of my local department, as well as other departments in my branch, most support-systems for first, second and third-line support staff, as well as a multitude of network partners. Except for the development duties, there's an emphasis on last-line support, IP-networking, and product management.

    What I've discovered, is that the single largest mental challenge for me, is being forced to radical context-switches, often without advanced warning, and many, many times a day. One minute, I may be working with low-level IP-protocol-debugging in hex-dumps and bit-masks, and 5-minutes later supporting the operational staff with ongoing database-issues, 15-minutes later forced into a spontaneous meeting about human-resources content-managment problems in the customer-support systems, being interupted by another scheduled meeting about conceptual architecture and product management.

    All the individual context-switches is what really hurts me. I've reached a point when whenever a colleague shows up, or whenever the next bug is in a different system than the last, I almost experience physical pain, and mental pictures of a harddrive about to give up, trying to chug in those long-gone swap-pages.

    You mention "maintaining a couple of dozen web apps"? Even if the technologies may or may not vary much for you, is it possible that the context and nature of the different apps are much varying, giving you a similar problem to mine? That is, forced to "switch project" often, and spending a lot of time and energy on trying to remember the relevant details for the next bug on the list?

    Otherwise, when circumstances allow, I try to work from home, turn off the cellphone and shield myself off, in order to concentrate on that specific project. With all the context-switching gone I usually don't have a problem spending at least 25-30H/week doing serious "coding" (including design. development-oriented QA, test-cases, careful versioning), more for mundane typing-heavy projects, and less for more demanding designs, either due to unusual requirements, really tricky algorithms, or simply big complex stuff.

    For challenging projects however, there's certainly a "burstiness" to the productivity. Some problems simply needs to be processed "offline" for a while, before they can be solved, but I think that goes for any mentally challenging activity for anyone. Most people I talk to tells me that they solve problems best while sleeping, so maybe you should find someplace to hide for a nap during the workday? ;)

  43. Re:Wow. Bitter much? by Weaselmancer · · Score: 4, Insightful

    No, perfectly serious. Problem is you're assuming a constant workload and a perfect equivalence between workers.

    Although I'm a coder we are often put as "leads" in projects. Think "manager lite". And I did put a guy on a team I was leading who mostly plays Tetris. And sleeps in his cube.

    The thing is - he knows more about the system than I do. Way more. The task I gave him took him an afternoon. Would have taken me two weeks, minimum. He banged it out, it worked perfectly, he went back to his Tetris. I'm happy, he's happy, my manager is happy we made the schedule, the customer is happy.

    We're all happy so I don't see a problem.

    I work more than he does, sure. But only because I have to. I'm not as good. I don't begrudge him one single bit.

    --
    Weaselmancer
    rediculous.
  44. 15 minutes per day by firewood · · Score: 2, Insightful

    If you go by the metric that, in the typical large project, the resulting product ends up with 10 to 100 "lines of code" per person per day, hey, most programmer's probably took about 15 minutes to type that in if you exclude all thinking (reading, studying, daydreaming while unconsciously problem solving, etc.) and meeting time.

  45. Hatching. Coding. Resting. by unity100 · · Score: 2, Insightful

    this is the work cycle. Once you need to do something, you generally need to hatch an idea. and hatching is not always active. it can be passive too. while stupidly surfing or even doing your laundry at home, your mind can be busy with the issue in the background. in that respect, coding is a kind of work that generally intrudes one's personal and leisure time. and you cant rest until you actually devised a solution to the issue. when you feel that something clicked, your mind rests in ease, and you can function normal again. and you can start implementing the solution. that is the coding phase. of course, until the next problem is put forth. then the cycle begins.

    resting is time that happens in between all those. whether you code or think for 15 minutes and then surf or just be stupid for 5 minutes, or while resting on weekend you cool off the engine.

    you gotta cool off the engine. be warned. if you dont and just keep thinking and coding like a monkey for months, you will eventually snap, regardless of how young you are. concentration takes huge toll on one's brain.

    so, act wise. dont feel that you are 'stealing'.

  46. Gardening can be a thought job by Aargau · · Score: 2, Interesting

    I'm biased because it's a hobby of mine, but yes, I could see doing that if the break allows for thinking about drought resistant perennials, planning so that the garden has some interesting blooms each month, and thinking about how to get rid of some bugs that other gardeners are succumbing to. Then again, gardening is a pretty good activity to think while working. As an aside, and it may be observation bias, but I do know quite a few long time programmers who do get into gardening for the mental challenges (we had some folks at the Tech Shop/Maker Fair working on wireless soil sensor equipment).

  47. 4-5 hours per day by liquidsgi · · Score: 2, Informative

    An old manager told me once that they were told in a seminar that they should expect 4-5 hours per day "real work" and the rest crap from most engineers. You are always going to be interrupted with random stuff-- answering email going to find someone to have a mini work meeting etc. I find that this is pretty normal. I myself can't do more than 4 hours without being extremely burned out at the end of the day.

  48. Re:Enjoy your lazy job while it lasts. by Skal+Tura · · Score: 2, Insightful

    Indeed it will burn you down.

    I just did a 3month stint of constantly long days, not "insane" like 90hrs a week, but sprinting upto 60hrs a week, a minimum of 43hrs a week. I was lucky to have single 10minute break apart from smoke breaks, which aren't really breaks as your brain is still churning at almost 100% speed. Before that 3month i had 1 week of for christmas by knowing that i have to work 12hr days after i get back, and had been working a huge sprint for 3months.

    best of it at all was i was promised a raise, but basicly told to f* off. I walked and they are in so deep shit now, their clients keep calling me as they can't get shit done. they are already about 4 weeks late of a simple transfer over of VMs task alone.

    Also they had to hire atleast 2 full time guys and put some of my work to 3 others. And all of that because they refused to pay even industry average ... Now instead of paying me the well deserved 30% more (yes i was THAT underpaid), they have to actually pay atleast 130% more, maybe more like 250% more. But hey, all's good, they bill by the hour afterall, so when the no-clue goons are working they actually get more as they spend more time. That's competitive business, riiiiight? ;P

  49. You Sir... by Cryacin · · Score: 2, Funny

    Are a workaholic. And you can never get enough workahol.

    --
    Science advances one funeral at a time- Max Planck
  50. Re:Enjoy your lazy job while it lasts. by petit_robert · · Score: 2, Insightful

    >They fired me a few months later for an arbitrary reason to get me out. Go figure.

    That's easy : think of the manager who sold those thousands of hours of work (though pollution would be a more appropriate description, but I digress) to the customer.

    Now, someone like you comes in, shows his utter uselessness as leader, and threatens to destroy the only motive for his existence, which is a biiiiig team of developper with a huge billing rate. All he wants now is to get rid of you.

    One way out of this is for you to work freelance, if you can. Just remember to multiply your coding time by at least three, so your bills won't be ridiculously low, plus you'll need the time for the paperwork anyway.

  51. UML Bashing - WTF? by mswhippingboy · · Score: 2, Interesting

    To those doing all the UML bashing...
    Have you ever used it, or more to the point, have you ever used it properly ?
    I find it hard to believe that anyone with any experience with it at all would take that stand. It's not because I think it's particularly easier to create a complex object oriented design using diagrams - that depends more on the particular project as well as the experience of the developer. No, the real reason I find it indispensable is that (unlike apparently some of the bashers here) I have to communicate my designs to people that are not software engineers (i.e. customers, managers,etc.). These folks may not even understand the language I'm developing in - or care, but if I've done a good job, they can understand the diagrams.
    That macho "real programmers don't use UML" crap doesn't fly with me, and I've been around long enough to have used Rumbaugh, Booch and Fusion before it became UML.
    Real programmers (at least any that I would employ) use whatever is the most efficient tool for the given task. You can keep you're "I only program using vi" attitude and get washed out by a college grad or offshore resource willing to work for a fraction of your rate who understands the basic principle that for a design to be good it must be comprehensible by someone besides the designer.

    Now get off my lawn!

    --
    Sometimes the light at the end of the tunnel is the headlight of an oncoming train.
  52. Re:When did UML become "orthodox"? by tomhudson · · Score: 2, Insightful

    So can my stack of 4x6 index cards. It might be old school, but it works, and I can wrap a rubber band around the stack, throw it in a drawer, and forget about it until I need it.