Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

How Many Hours a Week Can You Program?

timothy posted more than 4 years ago | from the please-answer-in-earth-hours dept.

Programming 547

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?"

cancel ×

547 comments

Sorry! There are no comments related to the filter you selected.

Kind Of Vague (4, Insightful)

unother (712929) | more than 4 years ago | (#31849680)

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

Re:Kind Of Vague (2)

xerent_sweden (1010825) | more than 4 years ago | (#31849824)

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

Re:Kind Of Vague (2, Interesting)

unother (712929) | more than 4 years ago | (#31850048)

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. :)

Office space (4, Funny)

jimbolauski (882977) | more than 4 years ago | (#31849972)

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.

Programming (4, Interesting)

sopssa (1498795) | more than 4 years ago | (#31849684)

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.

Re:Programming (0, Redundant)

unother (712929) | more than 4 years ago | (#31849698)

What he said. Exactly.

Re:Programming (-1, Redundant)

unother (712929) | more than 4 years ago | (#31850230)

Hmmph. To the person who scored this "redundant": I said that because I had a similar response above, not because I was doing the bobble-head. :) Sorry for the comment pollution, this was not my intention. :|

Re:Programming (5, Insightful)

mikes.song (830361) | more than 4 years ago | (#31849758)

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.

Re:Programming (2, Informative)

nemasu (1766860) | more than 4 years ago | (#31850000)

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.

Re:Programming (2, Informative)

Anonymous Coward | more than 4 years ago | (#31850068)

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.

Code Monkey get up. Get coffee.... (4, Funny)

Itninja (937614) | more than 4 years ago | (#31850226)

....its not fulfilling or at all interesting

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

that's easy (5, Funny)

Anonymous Coward | more than 4 years ago | (#31849704)

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

Re:that's easy (-1, Redundant)

dgatwood (11270) | more than 4 years ago | (#31850010)

You mean like an off-by one? :-)

(If I have to explain that there are only 168 hours in a week, then I guess it wasn't funny.)

Nope (-1, Flamebait)

Colin Smith (2679) | more than 4 years ago | (#31849724)

You're just ADHD.

hth.

 

Re:Nope (2, Funny)

bongey (974911) | more than 4 years ago | (#31849922)

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

Programming less effort than surfing the net (0)

Anonymous Coward | more than 4 years ago | (#31849750)

Surfing the net takes more energy for me than programming. Reading takes more effort for me than programming. I can program 40 hours a week without fatigue.

Re:Programming less effort than surfing the net (1, Redundant)

MrEricSir (398214) | more than 4 years ago | (#31849894)

Well isn't that special!

Not a programmer but... (3, Insightful)

rwade (131726) | more than 4 years ago | (#31849754)

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.

Re:Not a programmer but... (4, Funny)

CorporateSuit (1319461) | more than 4 years ago | (#31849784)

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

Re:Not a programmer but... (1)

rwade (131726) | more than 4 years ago | (#31849848)

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

You act like I'm just filling in forms with standard data -- not the case. Think of it more as a "spreadsheet programming." It's building unique relationships between cells, structuring tables to be presentable, etc. These are a little more complicated than just tables of raw data.

Duh (5, Funny)

xerent_sweden (1010825) | more than 4 years ago | (#31849760)

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

80 (0)

Anonymous Coward | more than 4 years ago | (#31849762)

80 is the limit.

The 40 hour work week is God given (5, Funny)

Anonymous Coward | more than 4 years ago | (#31849766)

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!!

Re:The 40 hour work week is God given (5, Insightful)

93 Escort Wagon (326346) | more than 4 years ago | (#31849932)

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.

Re:The 40 hour work week is God given (1, Insightful)

Anonymous Coward | more than 4 years ago | (#31850152)

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!!

One of those "illiterate industrial worker" I know is working 12h a day, 6 days a week.

He couldn't do my job, but hell, I'm nowhere near willing to do his.

168 hours (0)

Anonymous Coward | more than 4 years ago | (#31849768)

168 hours

Enjoy your lazy job while it lasts. (1, Flamebait)

d474 (695126) | more than 4 years ago | (#31849770)

"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."

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.

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.

Re:Enjoy your lazy job while it lasts. (0)

Anonymous Coward | more than 4 years ago | (#31849966)

I'd rather work in his job than yours. One day, we'll all be working less for the same amount of productivity and be all the better for it.

Re:Enjoy your lazy job while it lasts. (2, Insightful)

flabordec (984984) | more than 4 years ago | (#31850054)

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.

Re:Enjoy your lazy job while it lasts. (1, Insightful)

Anonymous Coward | more than 4 years ago | (#31849980)

he said he was also doing other things that pertained to his job.

"Me and another guy maintain an intranet site of a couple dozen web apps for an I.T. 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 days' work."

so he's not fucking off on the internet.

just because you're someone's ass monkey doesn't mean the rest of us have to be. it's called balance. and i'd say he's got a career ahead of him by being able to maintain equilibrium, too many people have attitudes like yours and burn out by the time they're 30.

Re:Enjoy your lazy job while it lasts. (5, Informative)

e2d2 (115622) | more than 4 years ago | (#31849992)

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.

Re:Enjoy your lazy job while it lasts. (2, Insightful)

phantomfive (622387) | more than 4 years ago | (#31850012)

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.

Re:Enjoy your lazy job while it lasts. (1)

e2d2 (115622) | more than 4 years ago | (#31850106)

Chad Fowler referred to that as the "8 hour burn". Meaning work your hardest for 8 hours and you will feel no compulsion to work extra hours and you'll be satisfied. But it takes absolute focus and self-discipline.

Re:Enjoy your lazy job while it lasts. (4, Insightful)

Stargoat (658863) | more than 4 years ago | (#31850232)

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.

Re:Enjoy your lazy job while it lasts. (5, Funny)

spintriae (958955) | more than 4 years ago | (#31850096)

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?

Time worked not an issue (4, Interesting)

rwade (131726) | more than 4 years ago | (#31850104)

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."

Re:Time worked not an issue (1)

CannonballHead (842625) | more than 4 years ago | (#31850166)

That's called "contract" work... where people pay you for each individual job.

I get paid to be available for what my boss wants me to do. I get paid per hour of time, not per job.

If he doesn't give me enough to do, that's his fault. Usually, I have plenty to do; if I don't, I try to FIND something to do so that I am not useless (and in fact show initiative).

If you work in a job where you don't have anything to do anymore and you are still employed... you must work for the government! ;)

Re:Time worked not an issue (1)

rwade (131726) | more than 4 years ago | (#31850228)

I get paid to be available for what my boss wants me to do. I get paid per hour of time, not per job.

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

Re:Time worked not an issue (0)

Anonymous Coward | more than 4 years ago | (#31850180)

Do I have to pay you while you screw around? If not, then go right ahead.

Wow. Bitter much? (5, Insightful)

Weaselmancer (533834) | more than 4 years ago | (#31850220)

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.

You're Not Like Me Nor Are You Stealing (5, Insightful)

eldavojohn (898314) | more than 4 years ago | (#31849794)

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?

Re:You're Not Like Me Nor Are You Stealing (1)

mikael_j (106439) | more than 4 years ago | (#31849892)

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.

Oh, to work somewhere where management hasn't decided that since customer services can't wear headphones then no one can wear headphones (yes, headphones is banned throughout the workplace including the cafeteria).

Re:You're Not Like Me Nor Are You Stealing (0)

mikael_j (106439) | more than 4 years ago | (#31849942)

...headphones are banned..."

Re:You're Not Like Me Nor Are You Stealing (1)

Sir_Lewk (967686) | more than 4 years ago | (#31850136)

Customer services doesn't have headphones? Here they have those telephone headset things. In any event what a silly rule.

Re:You're Not Like Me Nor Are You Stealing (0)

Anonymous Coward | more than 4 years ago | (#31850140)

Jesus Christ, where do you work? Programming with headphones is pretty normal and productive to blur out distractions.

Re:You're Not Like Me Nor Are You Stealing (1, Interesting)

Anonymous Coward | more than 4 years ago | (#31850194)

It's interesting how you mention reducing distractions / interruptions with headphones, etc. Here where I work they have moved most people (not me so far fortunately) out of offices and into cubicles. The claim is always that it fosters collaboration and teamwork (while of course the reality is it reduces real estate costs). Interestingly they just started a new deal where they gave people "do not disturb" signs to hang on their cubicle walls. Apparently there was too much collaboration and teamwork going on and people couldn't do any actual work. I did have to go from 1 person in an office to 2 people in that same office but at least we have a door for the "do not disturb".

Programming all day... (1, Insightful)

Anonymous Coward | more than 4 years ago | (#31849796)

I can program all day without being tired (8-9 hours with a lunch break(usually involves me eating at my desk getting work done @ same time)), because I like the projects that are given to me, but give me day long flowcharts to do and my brain is mush after wards. You have to like what you are doing or it's going to suck

Depends on what you're coding (4, Interesting)

mikael_j (106439) | more than 4 years ago | (#31849808)

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.

Much like sleep for me (3, Insightful)

Orga (1720130) | more than 4 years ago | (#31849816)

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.

Depends (1)

jason777 (557591) | more than 4 years ago | (#31849818)

If i'm working on bug fixes or boring stuff, I'm not very inclined to get engrossed. If i'm designing a new module or solving a complex problem, then I get really into it to the point where I can zone everything else out. I think about it most hours after work and even before I go to sleep, and get right back into it when i'm back at work. I'm sort of obsessed with it until its done.
There isnt really a time limit to it. If it takes 40 hours to build, then i'll stay with it until its done. Its only when I'm pulled off, or distracted in some way where I break my concentation. Once I stop, I find it very hard to resume what I was doing.

yeah (1, Interesting)

Anonymous Coward | more than 4 years ago | (#31849822)

I am going on 10 years of development, mostly web related stuff. If it is "same shit different day" type of work 20 hours is a good estimate of actual work I get done in a week. However, If I get to work on new and interesting stuff, I can go 50 -60 hours a week easy, but those are rare.

Less and less (0)

Anonymous Coward | more than 4 years ago | (#31849840)

I have found that the amount of time I actually spend coding has been less and less as I have become a more and more senior developer. I used to spend most of my day coding when I first entered the industry (mixed with glancing at web & book references to make sure I was using the correct syntax, or to track down the method/class/exception I wanted to reference).
Now I find I spend more time in architectural/database design meetings, consulting other junior developers, planning meetings for other teams to help advice on technical dependencies, documenting design decisions, reviewing code, interviewing, etc..

Age (5, Interesting)

ucblockhead (63650) | more than 4 years ago | (#31849842)

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.

What (0, Flamebait)

moogied (1175879) | more than 4 years ago | (#31849844)

40 hours a week.
What the hell kind of idiot is posting this? When at work you should be working. If you mean actually sitting there and pushing buttons to create code that then is compiled and will remain as part of the code? 15 hours. If you mean all the required steps to create an actually half useful piece of code? FORTY HOURS A FRIGEN WEEK.

Re:What (1)

thebagel (650109) | more than 4 years ago | (#31850216)

If you had bothered to actually read the question, you'd know that he was talking about "actually sitting there and pushing buttons to create code that then is compiled":

I'm talking about your programming session at the console, typing

Read the question before you call someone an idiot.

i can code htlm all wekk (4, Funny)

gyrogeerloose (849181) | more than 4 years ago | (#31849846)

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

Re:i can code htlm all wekk (0)

Anonymous Coward | more than 4 years ago | (#31849924)

It might not take all week if you didn't have to keep going back and fixing all those typos :-)

age matters (5, Insightful)

tlord (703093) | more than 4 years ago | (#31849852)

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.

Re:age matters (2, Insightful)

fdrebin (846000) | more than 4 years ago | (#31850118)

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

Re:age matters (0)

Anonymous Coward | more than 4 years ago | (#31850242)

"Too bad so many young'uns already know everything and don't want to learn from others..."

They might be willing to learn if you stopped referring to them as "young'uns" and started referring to them as your peers. Agism builds walls, it doesn't facilitate learning.

Re:age matters (1)

fdrebin (846000) | more than 4 years ago | (#31850154)

Mistakes, as in hitting 'Submit' before you're finished...

The other point worth making is code quality. My code tends to have less than 10% the average error rate (big company, we track such things). Again, it's all that experience.

Enough yapping, back to slaving (and loving it).

Spend three times as much time testing and using! (0)

Anonymous Coward | more than 4 years ago | (#31849858)

I swear, programmers rarely actually use the software they program. If they did, then there wouldn't be all these horrible double-negative "Are you sure you don't want to upgrade your document format?" and the proliferation of poorly thought out interfaces.

Design things for elegance and simplicity - if you don't know how, get someone else to look at it for you and to tell you not to nest an important, frequently used function within 3 submenus and two windows or via an obscure, undocumented command line switch.
g=

Usual usability bitching (1)

Tetsujin (103070) | more than 4 years ago | (#31849954)

I swear, programmers rarely actually use the software they program. If they did, then there wouldn't be all these horrible double-negative "Are you sure you don't want to upgrade your document format?"

Wait, where's the double negative?

The user has clearly elected not to upgrade the document format, and the application is asking for confirmation...

It Takes The Right Combination of Events (3, Interesting)

bossvader (560071) | more than 4 years ago | (#31849872)

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.

one *million* hours!!!! (0)

Anonymous Coward | more than 4 years ago | (#31849874)

-- Dr. Evil

Re:one *million* hours!!!! (0)

Anonymous Coward | more than 4 years ago | (#31850124)

OVER 9000!

Your brain is not magical... (1)

iampiti (1059688) | more than 4 years ago | (#31849880)

...it gets tired after a continuous effort. I personally find that I can only concentrate on one task for about 30 minutes. Then I have to rest for a while doing simpler tasks like reading slashdot :).
One thing I've found now that I'm involved in two projects is that when I have to deal with both on the same day my brain gets significantly more tired...so context switching IT IS expensive :).
Now I try to do things belonging to one project one day, to the other the next day and so on.

or: how many hours you actually get to program (2, Interesting)

greywire (78262) | more than 4 years ago | (#31849908)

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.

Meetings, telcos, writing reports wear me out (1)

PolygamousRanchKid (1290638) | more than 4 years ago | (#31849912)

I love to program. When I am really into something, I lose track of time, forget to eat and drink, etc. I can do weekly marathons of it.

However, meetings, telcos, reports seem to knock me down so much, that it's difficult to get back into the programming stride.

I dunno . . . programming seems to generate and stimulate my mind, and keeps it going by itself.

Meetings and co. make me comatose, so that it is difficult to maintain that programming stride.

maybe on average (1)

Son of Byrne (1458629) | more than 4 years ago | (#31849914)

I agree with the comment regarding being in the "zone." I don't code for a living anymore, but when I do, I can sometimes spend a full 9 hour day doing nothing but keyboard banging.

Interestingly, I'd like to point out that when you're coding and really straining your brain, you're burning a lot more calories than you might think. I always thought it weird after a 10 hour day of coding to go home feeling like I was physically exhausted. In reality, the brain is one of the highest consumers of energy in the body and so it makes sense to me now.

Never Had A Problem (1)

nwf (25607) | more than 4 years ago | (#31849946)

I've been developing software for 18 years, and I've never encountered a time when I couldn't program anymore. 40 hours of work, plus another 10-15 while working on a masters and then back to programming freeware apps on the Mac. Easily 80 hours a week a while ago. Now I just don't have that kind of time, but I never feel as if I'd had enough. I rather like programming, hence pursuing that in college. I have had friends who became programmers just because of the high pay and you couldn't get them to touch a compiler outside of work. Sad, really. In fact, that was one of my major interview questions: do you program outside of work/school? If not, you have no passion and I don't want to work with you.

Now if I had to develop highly analytical software like DSP or stuff involving tons of differential equations, I may feel differently.

Program about the same number of hours (0)

Anonymous Coward | more than 4 years ago | (#31849948)

As a woodchuck chucking. Up.

It's a physical thing (5, Interesting)

phantomfive (622387) | more than 4 years ago | (#31849952)

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 [barnesandnoble.com] (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.

Highly depends with me (1)

Derekloffin (741455) | more than 4 years ago | (#31849962)

I find some projects I can just tear into and code like a mad man. Others are painfully dull slogs and I just can't seem to focus much on them. There is also a lot of the time I'll spend hours looking at a problem and just can't seem to make any progress on it because I'm just not grasping it. So, I can easily vary from about 40+ hours one of those mad man rushes, to much more painful 15 or so if I hit one of those troublesome problems.

Work smarter, not harder. (3, Insightful)

PhantomHarlock (189617) | more than 4 years ago | (#31849990)

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.

Does this help! (1)

omar.sahal (687649) | more than 4 years ago | (#31850022)

Paul Graham notes.. [paulgraham.com]

If a hacker were a mere implementor, turning a spec into code, then he could just work his way through it from one end to the other like someone digging a ditch. But if the hacker is a creator, we have to take inspiration into account. In hacking, like painting, work comes in cycles. Sometimes you get excited about some new project and you want to work sixteen hours a day on it. Other times nothing seems interesting. To do good work you have to take these cycles into account, because they're affected by how you react to them. When you're driving a car with a manual transmission on a hill, you have to back off the clutch sometimes to avoid stalling. Backing off can likewise prevent ambition from stalling. In both painting and hacking there are some tasks that are terrifyingly ambitious, and others that are comfortingly routine. It's a good idea to save some easy tasks for moments when you would otherwise stall. In hacking, this can literally mean saving up bugs. I like debugging: it's the one time that hacking is as straightforward as people think it is. You have a totally constrained problem, and all you have to do is solve it. Your program is supposed to do x. Instead it does y. Where does it go wrong? You know you're going to win in the end. It's as relaxing as painting a wall.

Luminaries such as Jamie Zawinski and Richard Stallman work long hours. Richard Stallman worked 70 hours a week creating GCC in the 80s, I suppose that's why their the best.

Re:Does this help! (1)

elrous0 (869638) | more than 4 years ago | (#31850184)

A passion project is easy. Doing the boring crap that you couldn't care less about is hard.

I recall a study on a related topic ... (1)

Old97 (1341297) | more than 4 years ago | (#31850030)

it said that people could only focus productively for about 6 hours a day at best. Programming and detailed design would qualify. It did say that for 2 or 3 days at a time you could step it up but that you'd need a break. The study acknowledged that many people were at work for many more hours than that; it just said they weren't very sharp the rest of the time and that their productive hours were likely to drop below 6 if they worked too long.

I find that I'm super productive for about 4 hours a day, in the morning. So, I set my schedule so meetings and less creative and mentally challenging (but necessary) work is done in the afternoons. I'd love to play games instead, but that's not an option.

writing a book and solving a puzzle (1)

innocent_white_lamb (151825) | more than 4 years ago | (#31850036)

I have spent over 30 years doing custom business programming but it's a sideline to my regular business, so I work on projects off-and-on.
 
I view programming as a cross between writing a novel and solving a crossword puzzle, and I have never been able to be creative-on-demand, though I'll spend hours on end writing something when I'm "in the zone".
 
I'm on nobody's clock, though. I don't think I could do an 8-hours-a-day programming job. I would be either bored out of my mind, or blocked and feeling stupid.

Average 60 (1)

fdrebin (846000) | more than 4 years ago | (#31850042)

Long term average is about 60 hours per week. I've gone to about 106-107 for some periods, 3 months in one instance, but I was a bit toasted by the end of it.

I'm referring to combination thinking/designing/coding, not counting breaks etc. (We were required to track our hours, what a pain). I'm also mostly autonomous and don't have to go to too many meetings.

For you young weenies, I'm 54. Most of you kids can't keep up. (I did once meet a young kid who could wear me out time-wise).

It helps that I've changed industries and roles several times, keeps things fresh.

Hmmm, I wonder wonder why I sometimes get burned out?

/F

I CAN code about 40-60 hours a week (3, Interesting)

jockeys (753885) | more than 4 years ago | (#31850052)

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.

Programming is *FUN* (0)

Anonymous Coward | more than 4 years ago | (#31850056)

You must have the wrong end of this stick. I *love* programming; many programmers do. I don't actually do it much anymore, sadly, but I can still waste days on hobby projects. The trick is *stopping*. ... I mean the guy talking about boring work has got a point, but I've done some pretty boring stuff and once I get there staring at the screen and testing the stuff -- as it says on my resume, I "try to figure out why things don't do what I want - and the hours pass like the wind...."

Yerkes Dodson Law (2, Informative)

Chaseshaw (1486811) | more than 4 years ago | (#31850060)

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 [wikipedia.org] ) 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.

Are projects piling up? (0)

Anonymous Coward | more than 4 years ago | (#31850064)

As long as you are getting your work done, does it matter? Now if you are limiting the number of projects being completed then there is a problem.
At my job for instance, I have a certain amount I am supposed to get done and then I am supposed to be on call. I remain on call during the work day (yes thats part of your service) and I fulfill my other duties. If you are getting stuff completed in a reasonable time and providing the tech support service on call at all times, whats the issue? Unless you are building up a que from not getting stuff done fast enough, in which case you need to kick it in to gear.

Writing specs IS programming (0)

Anonymous Coward | more than 4 years ago | (#31850066)

I like how this guy just thinks programming is bashing on a keyboard.

Open source people have rarely seen, or written, any good specs. I'm sure some fanboy will now come up with some dumb reason why NOT writing specs is somehow cooler and free-er.

There's more to programming than typing in a debugger, mashing "go", and then fixing your next NULL deref. Try thinking! Try writing a spec, which is proof that you actually put some thought into something!

20 hrs is not much.... (1)

junglebeast (1497399) | more than 4 years ago | (#31850078)

I allow myself little breaks here and there to check Slashdot, read my email, watch a quick TV show, etc.

I don't see a difference between actually typing up code versus jotting down notes to sketch up an algorithm. As far as I'm concerned that's also part of programming and definitely still working.

On some weeks I can spend up to 100 hours programming. I doubt I've ever gone below 35 hours a week in the past 4 years during a work week, although I have taken some vacations during which I didn't work at all.

Depends on Motivation (1)

RAMMS+EIN (578166) | more than 4 years ago | (#31850082)

I find it depends a lot on how motivated you are. There are weeks in which I have spent more than 60 hours just coding. That's with practically all the design work done up front and an attitude of "let's sit down and get the code written". At other times, I have a hard time even being at work for 30 hours a week, let alone focusing on coding. On the other hand, some very useful things have sprung from those weeks, too. Turns out coding isn't all there is to life, and there are a lot of things I can do besides coding that people end up appreciating a lot.

As for how much pure coding I can do in a week without getting worn out, I think that works out to about 30 to 40 hours, but obviously that, too, depends on several factors - e.g. if things outside work are draining your energy, you'll have less energy left to write good code.

It's about sustained productivity (1)

mrjb (547783) | more than 4 years ago | (#31850090)

It's not about how many hours per week you can program, it's whether it's sensible. Sure, I could code 60 hours in a week, but I've observed that I'm at top productivity when I code about 6 hours per day. I'll be less tired and more focused the next day, and will make fewer mistakes. Breaks are all right, but ideally when a piece of code is "done" so you won't interrupt your flow. Getting to bed on time, eating well etc. also makes a difference. I think your boss, too, would rather that you work at sustained top productivity than to see you burn out in a month by working 60 hours of straight coding per week.

Does this help!! (0, Redundant)

omar.sahal (687649) | more than 4 years ago | (#31850120)

Paul Graham notes.. [paulgraham.com]

If a hacker were a mere implementor, turning a spec into code, then he could just work his way through it from one end to the other like someone digging a ditch. But if the hacker is a creator, we have to take inspiration into account.

In hacking, like painting, work comes in cycles. Sometimes you get excited about some new project and you want to work sixteen hours a day on it. Other times nothing seems interesting.

To do good work you have to take these cycles into account, because they're affected by how you react to them. When you're driving a car with a manual transmission on a hill, you have to back off the clutch sometimes to avoid stalling. Backing off can likewise prevent ambition from stalling. In both painting and hacking there are some tasks that are terrifyingly ambitious, and others that are comfortingly routine. It's a good idea to save some easy tasks for moments when you would otherwise stall.

In hacking, this can literally mean saving up bugs. I like debugging: it's the one time that hacking is as straightforward as people think it is. You have a totally constrained problem, and all you have to do is solve it. Your program is supposed to do x. Instead it does y. Where does it go wrong? You know you're going to win in the end. It's as relaxing as painting a wall.

Luminaries such as Jamie Zawinski and Richard Stallman work long hours. Richard Stallman worked 70 hours a week creating GCC in the 80s. There is an Arabic saying "If you want to surpass others you have to burn the midnight oil" I suppose that's why their the best.

It varies, wildly (1)

GryMor (88799) | more than 4 years ago | (#31850122)

Ignoring for the moment that I'm pretty much always grinding on some problem in my head, anywhere from 5 to 80 with 30 being normal. It's not something I can really control, sometimes it just flows, sometimes it's pulling nails to do anything. But from another perspective, the 5 hour weeks usually preceed the 80 hour weeks, and it's often thinking about the project/problems that gets in the way of doing them, so probably it's a good thing.

Am I... (2, Insightful)

geekmansworld (950281) | more than 4 years ago | (#31850128)

"Am I normal or stealing?"

No.

Hours put in vs. results put out (3, Insightful)

Attila the Bun (952109) | more than 4 years ago | (#31850144)

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.

It's a simple formula (0)

Anonymous Coward | more than 4 years ago | (#31850150)

For me it takes 20 hours of product planning to allocate 20 hours of my time which allocates 40 hours of QA time. So while our product planning team could double their amount of planning (and do nothing else) to allocate me full time, we still don't have the QA for it.

Sometimes with maturity you realize that you can't code as fast as you like, not because you're not able, but because the rest of the organization can't keep up.

If You're in it for the Long Haul (1)

twmcneil (942300) | more than 4 years ago | (#31850164)

It's only relatively recently that natural breaks have disappeared from our landscape. In the 70's, I would have to wait 20-30 minutes after reading in a box of punch cards to get output from the run. Later, the COBOL compiler I used would take at least ten minutes to complete. Ditto Turbo C if I recompiled the whole project including all dependent programs. Now I use Delphi or Flex Builder and there is no waiting so I take a break now and then anyway.

Sure there's always going to deadlines and other crunch times when you need to go all out, but if you're in this for the long term, you're going to have to pace your schedule so that you don't burn out. Fail to do that and I guarantee that in a few short years you will be ready to chew your own arm off just to get away from that stinking job.

Sounds pretty normal to me (1)

Ambassador Kosh (18352) | more than 4 years ago | (#31850182)

My experience is that good coding does not work in large blocks over long periods of time. Productivity takes a nosedive pretty quickly at more then 4 hours or so in a day. I have run many tests on my code and others and so far my experience is that while you can keep writing code all day the code ends up buggier the longer you work on it and nastier to maintain later. Many times if I have a hard problem to solve I will just leave it for the next day since overnight almost 100% of the time I will dream up a better solution that will be simpler, faster, easier to write and easier to maintain. I have had to work with so many systems that where built by someone staying late and kept working on it that where so darn nasty to work with later and massively buggy.

Mental activities are just not well suited to extended effort. There are too many things to go wrong as you start to get tired or can't see the entire picture of what you need to get the code working right. I also try to follow rules of keeping functions very short with well defined inputs and output and no tricks to speed things up unless actually required. Lots of functions where the output only depends on the input where possible are easier to debug later, easier to replace, easier to maintain and easier to make faster later then giant balls of code. I am not suggesting functional programming but some aspects of functional programming are good ideas for maintenance.

Get married to a crazy chick. (0, Offtopic)

tjstork (137384) | more than 4 years ago | (#31850192)

Get married dude. you'll be hitting 70 hours a week of productive coding in no time as you get sick of your stupid, worthless wife, and she goes off and finds a boyfriend, and then you hate her and him more and more...

Uh... not saying anything like personal, or anything.

Not unique to coding (3, Insightful)

thepike (1781582) | more than 4 years ago | (#31850200)

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.

Full time programming, logging hours (1)

baldbobbo (883186) | more than 4 years ago | (#31850210)

I'm a full-time programmer - all I do is program. Rarely have meetings (every other week), don't deal with customers. Just program. My boss is strict on me logging hours - not to keep track of time, but to bill clients. He doesn't mind if I'm only getting 4-5hrs in an 8hr day, because he knows I'm being honest. The important part is logging accurate hours for billing the customers. In a good week (where I'm dealing with new issues each week, resolving lots of bugs, adding new features), I will log around 25-30 hrs. In a slow week (one problem bug), I get bogged down and do around 20hrs. I find that if it's difficult, it's best to clear my head and do other activities (walk, surf the tubes), but if it's not frustrating, I really get immersed in my work, and am really productive. It really depends on how the person handles what they're working on. If it's tedious and drains your attention, I find that most people turn to distractions to clear their head, like going on Slashdot an hour before you get off work (hehe). Other days, I'm so caught up in knocking out bugs left and right and getting a lot accomplished that time flies and I might put in a full 8hrs of work. Really depends on your work environment and what work you're doing.

I'll play Devils Advocate here (5, Insightful)

databank (165049) | more than 4 years ago | (#31850252)

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.

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>