top | item 97829

Ask YC: how do you work for 8 hours straight?

49 points| Tichy | 18 years ago | reply

I currently consider taking on another job, but to be honest, I am a bit daunted by the prospect of working 8 hours straight, every day. I have times when I work more, when I get into the flow, but what if I don't? Recently I have read more than once in popular blogs that 2-3 hours of real work per day are more realistic.

In previous jobs, I found 8 hours very hard to do. Maybe it is only my problem because I frequently don't sleep very well and on some days am almost too tired to work. No idea how other people consistently pull 60h work weeks, though. Except perhaps if most of the time is spent in meetings, which is not so taxing (many people doing overtime seem to be managers or team leaders, which might indicate many meetings).

Also, in all previous jobs I ended up surfing the internet a lot. I don't really like that, though - I want to give employers their money's worth. Or do I just have the wrong attitude towards employment?

I suspect surfing the internet is a bit like coffee, news sites are small little excitement spikes for the brain. But maybe I am addicted, and they say coffee makes you more nervous and less able to show consistent performance over an extended period of time. So perhaps if I could wean of the news while at work, working 8 hours would become possible? Or would my brain deteriorate completely (I should add that I usually work as a Java developer).

Edit: one thing I liked about consulting and billing by the hour is that at least if I went home early, I would just charge the client less, so I did not have to feel too bad about it. Maybe I am just not cut out for regular employment?

63 comments

order
[+] pg|18 years ago|reply
Depends what you mean by straight. Without going to the bathroom? A good definition would be: without paging the problem out of your brain. I.e. you can go to lunch, but in a sense you're still working, because you're mulling over big questions related to the problem. In most kinds of work interruptions of that sort are net helpful.

Browsing the web, unfortunately, generally does page out whatever you were thinking about. I think it is a bad kind of interruption.

The way to work for long periods on something is to be interested in it. Few to no people have the discipline to make themselves work on something that bores them for many hours straight without paging it out. Probably none of the people whose work I admire do. Their trick is to work on stuff they like. That's not as passive as it sounds, though: you can often redefine problems to make them more interesting. For example, if you have an otherwise boring piece of software to write, you could make it interesting by using it as an excuse to learn some new language or library; or by seeing how few lines of code you can write it in; or by trying to make it very fast.

I've found one sure-fire trick to make the programming interesting is to design the software as two components: a language for problems of that type, plus some code for this particular application. Defining languages is always interesting (at least for me), no matter how boring the domain is. Plus it turns out to be a good way to structure programs anyway.

Another handy trick, especially in startups, is to motivate yourself by using competition. Kicking a ball into a rectangular net is completely boring by itself, but it gets interesting when someone else tries to prevent you from doing it. With sufficient resistance, you have to become an artist to get the ball into the net. At Viaweb we loved making our software better than our competitors'. Even Robert could get excited about cooking up some new feature that would leave them scratching their heads wondering how we did it.

[+] akkartik|18 years ago|reply
Interesting. The language/problem design helps focus on internal resistance in the terrain of code where competition helps focus on external resistance in the terrain of the problem.
[+] Tichy|18 years ago|reply
Thanks - I currently also try to work up some courage by thinking that there should always be a way to make the task interesting. If it is something repetitive, it should be possible to create an abstraction for it. Unfortunately politics often get into the way, for example, I probably won't have any luck suggesting alternatives to Java (not even scripting languages for Java). But still...

Today I talked to a startup, and I could probably freelance for them. Less money than usual, but hopefully more interesting - I feel reasonably positive about it at the moment. Although in my heart of hearts I know that in the long run, only my own projects will really make me happy.

[+] bcater|18 years ago|reply
Dale Carnegie wrote about guys working in a foundry who, the experts calculated, should be able to carry 47 tons of pig iron per day, yet they were only actually able to carry 12 (or something similarly smaller than 47). Upon closer inspection, Carnegie noted that the workers took no more than a short break for lunch each day, so he advised them to sit and rest for a pre-determined amount of time each hour to renew their strength. As if by magic, the men were all then able to carry the predicted 47 tons per day, leaving employees and management quite satisfied.

Your brain is no different in its need for rest than your body. I've discovered that I need a break at about 3pm every afternoon, so I find a quiet place to lay down, close my eyes, and think about precisely nothing. After ten or fifteen minutes, I am ready to go back to thinking very hard. I've had co-workers who choose to sit at their desks all day looking very diligent rather than rest when they need it, and they are far less productive. (Of course, there are a few out there who don't seem to need to ever rest, and they're much more productive than I.)

You're not being paid to log hours; you're being paid to accomplish something. If you meet or exceed your employers' requirements for you, then they are getting their money's worth.

[+] bluelu|18 years ago|reply
Unfortunately, it depends on the boss you have. Where I work, it is required that you work 42 hours a week. No hour less, and you have to be there at least at 10 and stay to at least 4. No excuse.

Even though I'm sure I would be more productive by working less hours, I just fit in, and try to split my work over the 8 hours as the others do, do more pauses and chit chat. At the end I feel a little depressed, because I stay so long at work, and the day is over. I also have problems working for somebody's other pocket, in that case.

At my previous job, I could come and go when I wanted. And when I was there, I was extremely productive. SHould have stayed there ;).

[+] eru|18 years ago|reply
Sorry, it was not Carnegie who did the study. He only cited a study by Frederick Winslow Taylor (of 'Taylorism' fame).

As I recall it Taylor did not only advise the workers in general - but every worker in the study had been assigned a guy with a stop watch who told the worker what to do. Must have been pretty annoying micro-management.

[+] noonespecial|18 years ago|reply
The biggest thing to keep in mind is that you will be transitioning into a world of "butt time". Your employer will care far less about what you do than where you do it. You could institute world peace and make your company a billion dollars from your arm chair at home and your boss will still call it vacation.

As a bit of advice for working in this world... You have no control over when you work, so you must regulate the density of your work in order to keep from burning out. What you would do in a single day at your startup takes people at "normal companies" many days or even weeks to accomplish.

Also, guard your time off like For Knox. If you are willing to "sacrifice for the team" your boss will gladly steal as much time from you as you are not willing to defend. Work ends at 5, anything further will need further compensation, be it overtime or extra vacation. Your boss asking you to work extra with no extra reward is stealing, pure and simple. Use more tact to say that to your boss, but make no mistake, this is what it is.

Lastly, try not to think too much. 90% of what goes on in an office is inane nonsense having nothing to do with the bussiness at hand. Its just part of the deal. Dwelling on this will only frustrate you. Get your zen on and roll with it.

Good luck.

[+] cperciva|18 years ago|reply
I am a bit daunted by the prospect of working 8 hours straight, every day [...] 2-3 hours of real work per day [might be] more realistic.

I think part of the issue here is how you define "work". I probably spend about 3 hours a day actively writing code, but I would still say that I'm working 12+ hours a day -- the fact is that most of my time is spent coming up with ideas for how to solve problems and convincing myself that the solutions I've found are in fact the right solutions.

Lawyers understand this -- they'll bill you for time they've spent thinking about your file while having a shower just the same as they bill you for time they spend at a computer writing up legal documents. Unless you're purely a code monkey who writes code according to directions and never thinks about what he's doing, there's nothing wrong with counting "think time" as time you spend working.

Edit: See also my comments from November about procrastinating: http://news.ycombinator.com/item?id=81366

[+] DarrenStuart|18 years ago|reply
totally agree, being a programmer is more than writin code. I have pulled a 90 hour week of writing code and it was very painful and I would never do it again.

I tend to pull an hour and then do something else unless I am in the zone and I can go up to about 3 hours and then break and come back to it.

8 hour days normally go like this when working with at clients place.

hour 1. opening up stuff, replying to email, grabbing a coffee, having a chat with co-workers(makes for a better working atosphere and you might learn something).

hour2. working on project, coding some, asking questions about the spec(if there is a spec, if not then asking questions that the end client or the account manager hadn't tought to ask)

hour3. repeat 2 but throw in a coffee and a chat and maybe a quick surf while you drink your coffee.

hour4. repeat 2

hour5. lunch time get up and move around people

hour6. repeat 2

hour7. repeat 3

hour8. start tying up loseends last coffee of the day etc send those emails you have been meaning to do, have a look at your bug list and fix a couple.

now you have done about 3 to 4 hours coding and plenty of other work.

[+] dhouston|18 years ago|reply
first, find a job you enjoy -- the tech job market is good enough now where you can afford to be selective (at least in the valley/other tech hubs) -- ideally, something that you would find exciting enough to do even if you weren't getting paid, as the cliche goes.

second, i think it's common for developers to get the equivalent of writers' block when the upcoming task is large and/or poorly defined. some things that have helped with this:

- tricking yourself to take on little pieces of the bigger project (google 'structured procrastination' and hamming's article on productivity); carving out explicit "next steps" (without dependencies) that you can start on now

- writing down a plan or specs to at least get things on paper/into your editor to bring clarity to a jumble of random thoughts

- reducing distractions; putting on headphones (esp. noise cancelling); stopping multitasking http://www.joelonsoftware.com/articles/fog0000000022.html ; also, turning off AIM (or putting up an away message plus hide windows) and your mail client's new-email popup/toaster massively cuts down interruptions

- using rescuetime (to assess the damage and/or feel guilty about screwing around :)), noprocrast on news.yc or just making a commitment to yourself to wean yourself off of news/blog sugar

lots of people have written about productivity; http://blog.pmarca.com/2007/06/the_pmarca_guid.html and http://www.paulgraham.com/hamming.html are good starting points.

but ironically it's tempting to waste a lot of time "preparing" yourself to be really productive or trying to come up with the perfect system. i think there are natural ebbs and flows in levels of productivity; a lot of the battle is detecting when you're slumping and instead of beating yourself up, try to trick yourself into making that period as short as possible.

[+] mrtron|18 years ago|reply
I think you are dead on; you need to find a job you enjoy. When I was a student I was lucky enough to do 6 co-op terms (internships). During this time I learned that your actual productivity is not being measured. The majority of your performance is measured relative to other coworkers, and simply the perception on how smart and hard you work. On one co-op term, I was highly regarded, but only doing what I considered 2 hours of work per day. However, I was doing all they expected of me and continually asking for more work, so they thought I was fantastic. I was able to do this by working smarter, not harder. Another co-op term at a small company I was doing 6+ hours of work (again, from my perspective) and I did not get a good review at all. This was because I was doing about half the work of the other programmers there, who were very senior and experienced developers. Additionally, there were no opportunities to work smarter, I just had to churn out a lot of code in a very confined way.

So, I quickly learned that a) your employer is judging your work on their perception of performance, not what you think b) in order to excel, you need to be in a position to work smarter

All of this brings me to the conclusion that in order to succeed you need to be set up for success.

[+] jawngee|18 years ago|reply
8 hours?!

I've been pulling 12-16 hour days, nearly 7 days a week for the last 12 years.

You have to love what you do. It has to be what defines you as an individual to pull that off with any kind of success.

It'll kill you though, I have more medical and mental problems than I know what to do with, all stemming from the damage my passion/obsession causes. But that's the cost and I gladly pay it. Why? Because it's what I am, it's what I do - and I'm pretty damn good at it.

How do I do it? Marijuana mostly. I don't drink caffiene (nor alcohol or any other types of drugs/stimulants). Caffeine causes peaks and crashes which make doing 16 hour sprints impossible, so I steer clear of that and I also minimize sugar intake but have noticed a semi-regular pattern of minimal sugar intake during the day - usually in a sweetened beverage or a fruit smoothie or eating fruit - although at 4am I will sneak a snickers.

I also tend to eat a lot of smaller meals throughout the course of the day, which helps keep me energized without making me lethargic.

Also, a few brisk walks during the day are good to clear the head and give me time to isolate my thoughts about what it is I'm working on.

It helps to start the day out with a list of things you want done, with the understanding that you can reshuffle/prioritize that list at any point, so long as you have a list.

But it really does boil down to the marijuana. It does a few things for me, cheif among them is that it sort of clears my brain and lets me really focus on what I'm working on. I'm disciplined enough at this point in my game that I can do this fairly easily. The other thing marijuana does is make me slightly lazy - which actually has the effect of me writing significantly less code to do the same thing, so I gain a LoC metric there. It also forces different perspectives when analyzing a problem so it's fairly often that I find holes in whatever system I'm developing that I might have overlooked otherwise.

Note, I'm not advocating you start smoking weed at work. I'm the boss at my company, so it's kosher, but most places - no way, you'll have to find other ways to achieve the same results.

Listen, if you aren't passionate about what you are doing, don't fine any thrill in it and are worrying about how you're going to pull of an 8 hour day, then maybe this isn't the right career for you?

[+] vagmi|18 years ago|reply
I am sure it will kill you. But whats worse is that you are NOT LIVING. I am very passionate about my work. I consider myself a pretty good programmer. I put in long hours occasionally and wish I could code even more. But there are aspects of living on this earth as a human being apart from writing code. Trust me when I say it. YOU ARE NOT LIVING.
[+] bayareaguy|18 years ago|reply
Back in the days of 80x24 terminals, one of the original authors of a popular unix game was often complimented on how well his code was commented.

He said that he had to do that because he always smoked pot when he coded and would lose his train of thought when the screen scrolled.

[+] carlosabs|18 years ago|reply
Hi! I'm a "9 to 6" web developer in a telecom, and i'm also rolling with a nice WEB 2.0 personal project at home. The only way i found to get motivation to keep developing at home after all those boring 8 hours is smoking some weed. And what you said about "different perspectives" is completely right. Sometimes i drink some wine, but just a glass, more can make me sleepy and disturbed.
[+] berlinbrown|18 years ago|reply
That is awesome, vote for a pro drug candidate.

It seems like all intelligent people do some kind of drug.

(e.g. not Clinton)

[+] thingsilearned|18 years ago|reply
You sound exactly how I was. I don't think that its so much that you hate your work, but the fact that you're at a job. For some people more than others, the conditions of a job (9-5 every day, don't choose your own work) just dont work. I used to love my work but hated that it was a job, so I quit.

My advice is to find the most self motivated person you know, quit and do a startup with them. Your desire to work hard along with their relentless persistence will be a great combo. Also, working 14-15 hours a day is a breeze when its for yourself.

Until then use this to block the net at work http://thingsilearned.wordpress.com/2007/05/04/combating-int...

Try skipping out on meetings as much as possible and work long but less days (your personal schedule) as much as you can. Push the boundary's, what have you got to lose?

[+] bayareaguy|18 years ago|reply
I'm part of a distributed team. Apart from daily scrums where we all sync up, we all set our own hours.

I have a wife and two teenage kids so I work nights as much as I can and sleep during the day when they are at work and in school. We see each other in the mornings and evenings.

When I'm in a serious mood I try and get three 4 hour shifts done with a two hour break in between each. If I don't get sidetracked I can get "in the groove" for one or two of these shifts. After a few days of that or whenever I feel burnout approaching I spend one day where the work shifts are swapped out for personal/family time.

If I can't be in a serious mood for whatever reason, I just let my "work brain" idle and let my life's "garbage collection" take over until I get back on track.

[+] edw519|18 years ago|reply
"Maybe it is only my problem because I frequently don't sleep very well and on some days am almost too tired to work."

Something is very wrong and must be fixed. Now. Doesn't matter what your work or lifestyle is like. Life (and work) is a marathon, not a sprint.

I don't know if your problem is physical, emotional, psychological, or just plain laziness. It's up to you to find out and fix it. Until you do, I wouldn't bother working on any other problem. You may be surprised what you learn.

Figure out how to start getting a great night's sleep every night, and then figure out how to change the world. Keep us posted. Good luck!

[+] mixmax|18 years ago|reply
I think that 2-3 hours of work a day is more the norm than the exception with programmers. Basically it is hard to keep your concentration for 8 hours straight without some kind of break.

How many comments on /. Reddit and YC news do you think are written during work hours.

So basically I think that you shouldn't feel bad about it if you get stuff done. Better 3 hours of pure productivity than 8 hours of mediocre bugridden sloshing around..

[+] nostrademons|18 years ago|reply
I don't. I work from about 10 AM to 2 AM, but according to RescueTime, the actual amount of time spent coding tops out at about 6-7 hours, with an average of about 4.5.

That's slightly more than when I had a full-time job (I averaged about 2-3 hours then), but seems fairly constant over a bunch of employers. And employers know this. My first boss told me, "Nobody expects you to spend the whole 8 hours working, just as long as you're getting something done with the day. That's why contractors get paid twice as much hourly as employees - they can only bill for the time they're actually working."

[+] randallsquared|18 years ago|reply
That's why contractors get paid four times as much hourly as employees. Twice would only just cover what contractee isn't paying for taxes and accounting/legal overhead.
[+] skmurphy|18 years ago|reply
Can you commit to and deliver results on a schedule?

Instead of focusing on having to sit at a desk for 8 hours straight, think about the kinds of results you can promise and take a project oriented approach.Instead of billing by the hour, consider billing for the result (which is more than halfway to productizing your efforts).

What kinds of projects would get you energized? You may be trying to fit yourself into a job and career where you won't be fulfilling your potential. I would echo a number of the comments that you should do something that you truly like. You may be more energizing by interacting with people, you might try a job--or consulting assignments--that are more people focused than about delivering code.

If you are not sleeping well: has this been true all of your life or only recently? Cut off coffee and other stimulants, find a way to get an hour of exercise in every day, and get up at the same time every day. It's possible you are depressed or suffering from sleep apnea. Obviously you should consult with a doctor once you have ruled out too much coffee, boredom, and any of the obvious causes.

If you were a co-founder in a startup with me, I would want to know that all of the web surfing had some application to the tasks you had taken on. I do think you have to distinguish between efforts and results, but if you want to be a product member of a team, you have to be able to deliver on your commitments. The key is you get to pick the team and make the commitments.

I hope this helps, I can confess that I sometimes have fantasies of how productive I was in "regular jobs" until I remember all of the pointless meetings, unproductive political constraints, and other meaningless activities I was required to take part in. But I am energized by what I am working on now, and find myself working from early in the morning to early evening and some weekends, but I take a lot of breaks and try and focus on results not hours.

[+] cmars232|18 years ago|reply
Consider that if you're more productive than average, it is very unlikely your employer will pay your salary proportionally to your productivity. Taking it easy and leaving early is often the only way you'll recover this otherwise wasted effort and get a chance to recharge. Often I'll put in 60+ hours one week to enhance productivity in a project at work, then spend the next few weeks coasting on my effort.

Of course, in my spare "coasting time" I'm usually playing with new technologies and tools, so its hard to say that doesn't provide value to my employer in the long run.

The important thing is to guard your time jealously, and avoid an employer that pries too much into it, or wastes it with useless meetings. Find an environment that cares more about results than warm bodies in chairs for 8 fixed hours a day.

[+] tristian|18 years ago|reply
"Maybe it is only my problem because I frequently don't sleep very well and on some days am almost too tired to work."

If I was you I'd see a doctor about that. Motivation, focus, and energy are heavily influenced by your hormone balance and not sleeping well can affect that. You could have sleep apnea or another medical condition which is causing your fatigue. If you're not doing much exercise that wouldn't help either.

[+] icky|18 years ago|reply
Coffee.

Failing that, charge an on-site per-diem, or a higher on-site rate. Then the client will all of a sudden really not mind at all that you're doing nearly all the work from home, and you have much more flexibility with your hours and working conditions.

[+] Tichy|18 years ago|reply
That is an interesting idea, thanks!
[+] jemptymethod|18 years ago|reply
I think this "2-3 hours of real work per day" stuff is a myth. Or maybe this depends on a definition of "real work" that only entails "heads-down" "in-the-zone" coding. Still I think it's too low. I'm 44 and just a month and a half ago I had to intensely focus 9-10 hours a day to meet a very aggressive deadline (PG you are so wrong about us older coders ;) It was exhilarating and while I wouldn't want to keep that up for months on end, I think 5-6 hours heads-down is definitely do-able. What about the other 2-3 hours to come to an 8 hour day? Well, there's analysis, documentation, email, etc. Some people like to do this sort of thing first thing, but then is when I focus best. Indeed by mid to late afternoon my brain is craving television, but I force myself to at least think about problems, even if I'm not solving them through code. And it usually pays off, with a solution through code the next morning. Anyway that's my experience.
[+] andrewfong|18 years ago|reply
Adding physical movement doesn't hurt. Sitting at the computer for 8 hours is pretty boring if you think about it (and occasionally butt-cramp inducing).

I work on two computers that are spaced slightly apart, requiring me to frequently push myself from one to the other on my little rolly-wheel computer chair. Rolling is fun. Spinning is fun too.

[+] hooande|18 years ago|reply
I've worked at several startups now and I have never worked a full 8 hours per day. There's always some internet surfing, phone calls (which might or might not count as "work"), meetings (also might not count), lunch, coffee or smoke breaks, and general BS'ing with co-workers. It usually works out to 3-4 hours per day at max. Any experienced programming project manager knows that a "work day" in terms of coding is never more than 4 hours.

With that being said, I have at times taken time off to work on my own projects and forced myself to work a full 8 hours. No stopping of any kind, phone and instant messenger off, email closed, no breaks of any kind. It was incredibly difficult. I remember I would choose a playlist with 8 hours of music and not stop until it was over. But it was something I still do only rarely. It was very productive, however, but not something anyone could do every day.

[+] tjr|18 years ago|reply
I've done a variety of jobs, from classic intro-job retail to working in a computer tape library to scoring essays to teaching to, yes, actually, programming. :-)

In my experience, programming is perhaps the hardest of the lot to do consistently, all day, day in, day out. Some days I manage to really get into "hack mode" and crank out lots of good code. Other days I can barely focus and don't actually produce much. I really think a lot of it is the cubicle, etc., environment, as my days spent programming in an office were generally better than being in a cubicle.

Either way, I had no problem working and staying on task while sorting computer tapes. But serious programming requires a particular state of mind and deep understanding of the problem at hand. The harder it is to achieve that each day, the harder it is to be productive as a programmer.

[+] ivankirigin|18 years ago|reply
Go to rescuetime.com and get their tool. It'll help you know how much time you spend on things.

Now it's a game for me. I don't want to stop working until I've hit the peak for that week.

I work for myself though, so working more directly benefits me.

[+] Tichy|18 years ago|reply
I might use it, but I am running Linux, so no rescuetime for me.