How many hours do you work a day (developers)?

55 points by vemv ↗ HN
After 3 in-place jobs, I've been working at home for three months now. One thing I have noticed is that I can deliver a comparable ("samey") amount of progress in less hours of pure work.

At my office-located jobs, I waited to complete 7-8 hours of work (excluding chit-chat, etc) in order to feel satisfied. Now I can do with 4:30 on average. For me being interruption-free is a huge boost.

Personally I do believe in measuring effort in work-hours. Assuming you feel optimal (which I constantly make sure of), the more time you spend the more you get done. Also, 90% of webdev does not require that much creative hard-thinking imo.

My question simply is - do you find 4:30 of work a day acceptable (for you)? And marketable (for employers to accept it)?

Anyway, feel free to post how many hours you work, and what you think about it.

56 comments

[ 4.4 ms ] story [ 125 ms ] thread
about 8hours a day.

2hrs independent technical reading.

2hrs independent design/development.

4hrs code-review/training others/discussions.

I believe this should be the typical day of every developer.
Hmmm... no wonder i feel immensely satisfied at work nowadays. ;-)
Could you elaborate on each of these blocks please. This sounds like what I should be doing.
I work from home about 8 hours of billable work per day.

Whenever I step back into any office, I am astounded at the lack of productivity in comparison to my own. I feel I can easily accomplish 2x to 3x the work in the same 8-hour day at home compared to an engineer of equal skills and experience.

Same here, 8 billable hours (four days a week), 6-8 productive hours, depending on how stressful the day is.
"Oh hey... someone else working 4 day weeks, just like Stavro... oh..."
That's pretty conclusive proof that I'm the only person here working four days a week!
To back you up, I bill less that 4 days a week, and also know more than a couple of people doing the same.
Thanks, but that was a bit of an inside joke between coworkers :)

As a data point, I am currently full-time employed, it just happens that I prefer full-time being four days a week. I recently made the switch from five to four, and I'm enjoying it immensely.

I really want to do this just so I can get some time to work on my own projects. How did you sell this to your employers (or are they one of a very few shops which do the 4 day week thing like Treehouse)
I've seen people do this.

"I want to work 4 days per week".

"OK, no problem, we will reduce your salary / bonus etc by 20%".

Time passes.

"Ok, I am doing the same job for 80% of the salary and I never make my bonus".

":)".

I bill daily, in 8-hour blocks. All those hours belong to my employer, and I do as much work as needed. Any more work than that needs to allocate more 8-hour blocks.

I know that being a salaried employee is different, but if you're letting people work you into 10-hour days, don't.

I just asked if I could work 20% less for 20% less pay, and they agreed. Your mileage may vary, the company I work for is pretty cool.
Ahah! I totally felt for it :)

I'm totally with you to prefer a shorter full-time schedule.

I work 9am-6pm with a 1h launch break. Apart from that, I code some side projects mostly between 9pm-12pm
per day;

8 hours working full-time

4 hours on dev/devops for kihi.io

2 hours learning something new (go, rust, etc.)

rest walking the dog or sleeping

seems normal

i think part of the challenge is how to count hours spent in the office but not coding. Some amount of discussion is necessary to get a group on the same page, and some time socializing about things that aren't work lubricates those discussions by letting people feel comfortable and familiar with their coworkers.

That being said I worked remote (from home) for ~5 months and felt like a got a ton of work done, most days coding for 5-6 hours, 1/2 - 1 for communication, and 1 hr for technical reading / self-training.

Currently i'm working at a shop that thinks i should arrive at the office at 9 and leave at 6. to me, that adds up to 45 hours a week (per above, imo lunch with coworkers is an important part of teamwork and counts as working): that's too many hours each week at a place that also strictly counts PTO days! and those two factors combined certainly discourage me from ever putting in more than the odd hour or two of self-study on the weekends & evenings.

It depends on the tickets I'm assigned, and that can be feast or famine. I don't possess any decision making power in the tasks I am assigned, and to be honest I'd rather not have it.

Sometimes the tasks I'm assigned are merely to reconnoiter the feasibility of taking action, and not to actually develop or commit code changes.

In other cases I'll be asked to change something that required 30 seconds of effort. Maybe flipping the value of a configuration flag from true to false, et c.

On average, I'll deal with tickets that involve several hours of stepping through nested loops in a debugger and inspecting log output, or wading through long-running SQL queries, and then committing changes that improve upon an existing body of work.

More rare are the intermediate tickets, that might take days and weeks of effort, and roll up into a larger project spanning many weeks or months across multiple developers. Tickets that keep me continuously tasked for multiple days at a time experience differing degrees of productivity, depending on hundreds of variables, and some of those variables are the work environment.

If something's really important and difficult, and the colleagues I'm delivering it to possess an understanding that it requires my undivided attention, then I'm provided with exactly that. I'll ask for a quiet office to camp out in, with a door I can lock, if I need it.

No matter what, I'm in the office, regardless of whether I'm idle, during a dead zone of activity while we wait for other people to provide requests or complete planning through interminable daily hours-long meetings, or whether I'm swamped in a firestorm of emergencies that divide my attention across several immediate worries.

At the end of the day, I'm paid for my time, and sometimes that pay is what will retain me through period of waiting for my turn at the trigger. If you don't pay me for that time, then I'm a temp, and not a regular, full-time employee. That's how it works.

I'm not a founder, or a partner, so I don't receive bonuses or a share of profits based on the success of calculated risks. In exchange for that, I accept the status of a regular persistent relationship. Eight hours a day, 50% of my waking time on this plain of existence, on call as a resident expert.

I stopped worrying about a perfect, even flow of continuous, normalized engagement a long time ago. Almost every field out there has varying degrees of hurry-up-and-wait temperament, and that comes with the nature of human interaction.

It's not productive to mince parsimonious hours and minutes, in my opinion, when it doesn't reflect the realities of human interaction.

In our office we work around 8 hours per day. We use Agile (Scrum) but we count only 6 hours per day. We recognize that we spend around 2 hours in overhead tasks (informal meetings, tasks not listed in the sprint and some not-job related work.
This is one of the most realistic approaches to project management that I've ever heard of.
We use Jira with Tempo plugin as hour tracking tool. With my approach, I usually log around 6.7 hours per day. This logs goes to a specific story/task.

The only problem that we found is with people coming from consultancy. They are not confident with only having 6 hours per day as they are used to log 8 hours and bill them to a customer.

In general, the team is pretty comfortable with the approach of using 6h/day for estimations in our tasks.

You still get paid for 8 right? You count only 6 for estimates. Just clarifying that I understood correctly. :)
Most likely gets paid a salaried.
Exactly. You understood it correctly :)
3 - 5 hours at my day job, 5 - 9 hours running my startup(s)/consultancy.

I leave some videos running before I sleep so I could hear/learn something new before I sleep.

I also work through weekends.

I think it is too much, but as a Syrian, I don't have the birth advantage of having a first-world country passport, I have to keep both the job (allows me to have the visa), and I make a lot of money which I can spend on family and building my own dreams.

This can happen even with first-world birth advantage like me in Germany. However, I don't have that many bullets around me. I wish you only the best for you, your family, and dreams.
respects, quite the opposite of me.

I have problems to get moving mostly because I honestly don't need to.

I have in-laws that are Syrian, so I understand a little of what your struggle is. Much respect to you.
It depends on what kind of work I'm doing. If it's painful, nitpicky stuff then it's hard to get 6 hours of focus in. If it's interesting stuff then time flies and more than 6 hours.
I used to work at one of the big corporations, and most people there probably worked ~10h a day, but was only paid for their 8h/day contract and given no overtime. I'm building my own company now, and honestly it consumes most of each day each week. The difference is, at my old job I'd spend ~8 of those 10 hours doing work that was mind-numbing and/or stressful, and only ~2 working on something I really enjoy. Even though I've probably done ~12-14h each day so far this month, I usually spend <1h of each day doing work I don't really want to do (invoicing, reducing the backlog of important-but-interesting issues on the queue, etc.), so I actually enjoy most of my day.
full time job: 9 hrs a day

side project: 20 hrs a week

Before taking a 3 week vacation: 6 hours per day After taking a 3 week vacation: 1 hour per day
There's no such thing as an acceptable amount of hours. Is the goal reached or not?

Often in programming, you have this weird situation where spending more time makes the work harder. It is actually possible to dig a hole that makes you further away from the goal, while for the whole time you think you're getting closer. So I try not to get too tired, and I manage deadline expectations. Often you find the right solution to a whole day's problem in a few minutes of clarity the next morning.

Working from home, there are certain productivity benefits. There's no commute. The environment is familiar. I can take a break whenever I like, to do whatever I want, like take the kid out on a 2 hour lunch break. I can make more kids during work hours. Run errands. Often I find I can spread out the normal working hours over a longer period and feel better.

There's no meetings, other than online chats on Skype or Slack. There is a bit of a danger of chatting too much, but it's not as bad as when you're sitting in the office.

The thing that makes the most difference is whether I like what I'm doing. If I'm enjoying a project, time just flies by. It's like snapping your fingers, and breakfast turns to lunch, which turns to dinner, which turns to bedtime.

There is actually an acceptable number of hours, it's somewhere near the number of hours you can work without burning out. For me that is about 5-7 hours a day. Two things I remember, one was an old guy talking about working in a windshield factory, where they made windshields for cars. They had a line. While he was working their they sped it up by 25% and management was happy happy joy joy. The workers were getting run ragged though and after a few weeks the defect rate started creeping up. After a few months the defect rate was so high that they were producing less finished product than when the line speed was slower. Took another year for the plant manager to get fired and bring in a guy who turned the line speed back down.

The other is the first place I worked their were two younger coders and they were being flogged to work 9-10 hours days, basically being given unreasonable deadlines. After a few years they burned out and the company fired them. Twenty years later both of them are still damaged. I did some of the same, hurt my wrist, which is still a little messed up. After that I decided I didn't care I was going to work as much as I though possible and that's that. You only have so many hours a day. Instead of using yourself up, concentrate really hard on not wasting your time.

Me, I've never been fired for not working enough hours.

What I was thinking was acceptable on the low side. If you get things done, but it seems fast, that should be okay.

Of course working too much is bad for everyone, I sympathise with your examples.

Based on git logs and some extended time tracking experiments, I tend to get ~4 hours of real work done on an average day.

I feel most relaxed when that's split between 2 hours in the morning and 2 hours in the afternoon. Great days are 6 hours (i'll be in "the zone" from ~4:30 to ~6:30).

Another 3-6 hours can be spent reading (code or books) and exploring (fiddling around in a repl).

I am at the office for 8-10 hours per day, but the office is really only a center where most work hours occur. Often a good Saturday spent across libraries, cafes and parks can yield 6 hours of getting shit done.

I think 4:30 will be hard to market, as most people are stuck in the stone age. As you said, productivity is not a matter of hours, it's a mix of many things. But that's not what the majority believes. Many people still believe we work like ice-cream sellers, who need to be around, not matter what. My guess is most people want to pay only for the hours you work so it will be hard to explain why you want to be paid for 8 hours when you just work 4 hours (even with same productivity).

Personally I work every day. When I am tired and not productive, I work less. When I feel good, I work much. The minimum is usually 6 hours. Maximum is usually 12 -14 hours. At weekends, it happens it's just 2 hours a day.

I don't count in work time. I count in "fun". If I have fun, I automatically work more. If I am not having fun, I need to double-check if I am the right thing. If it's not, I go away. If it is temporary or something that needs to be done, I make sure I have some good relaxing part afterwards.

I think 4:30 is a bit too low. I think five to six hours of actual work are about average, but after eight hours of productive work I felt completely drained, and couldn't wait to just veg out in front of the TV (which I otherwise almost never do).
To answer your question, If I can get 4-6 hours of solid dev time in I'm a happy camper.

"Also, 90% of webdev does not require that much creative hard-thinking imo."

Really? Is this true for people? I'm a web developer, and right now i'm sorting through 30K lines of obfuscated javascript code looking for a bug. A few hours of that and my brain gets pretty tired!

That sounds horrible. Why don't you have the source code?
As a backend (Rails, in particular) dev, most tasks are really streamlined - I've done them 1000 times before pretty much the same way I would do now. There is room for unpredictability, debugging hours, etc but those are rare.

I can see how frontend or higher-profile backend dev can be more unwieldy/demanding, though.

I made the 90% remark because it is a somewhat common opinion that programmers are completely above the hours thing. Were programming a totally creative activity, I would agree, but it is not.

Get paid a salary, but feels like I put in around 6 hours working (minus eating, bathroom, talking, etc).
I work 5 days per week, 8 hours per day. I have given working time reduction some thought and I have worked 4 days per week, 8 hours per day in the past. I would like to try working 5 days, 6 hours. That's two hours less per week than 4x8, but without the 20% productivity drop. With a good lunch break I think a 6 hour work day will cost no productivity loss. That's my theory anyway, haven't had the chance to try it out yet.
It depends how you frame the time in question. Is this 4 hours and 30 minutes of heads down, in the zone, productive work? Or is it a mixture of emails, conference calls, and coding?

In my experience managing and being part of various teams and projects for over a decade, I have found that a senior level developer that gets 4 hours of productive work done each day (over a week average, often not in one spurt, depending on the individual) is worth his/her weight in gold.

I always try to encourage 40 hours a week of being online, available, dealing with meetings and whiteboard sessions, but 1/2 of that devoted to heads down work like coding or designing. Often many people that are extremely valuable end up getting less than 20 hours a week of real focused work done in my experience.

Great input, I feel relieved to read that my 4:30 (of pure coding work) is good, according a profile like yours.

Personally I'm kinda afraid that some developers out there might be pulling actual 8 hours of overhead-free progress, unlike me. Doing that daily would certainly drain me.

I tend to like to allow myself lots of time for "information consumption" balanced with productive output time. So I am in "work" mode maybe 8-9 hours per day. But during that, I allow myself to go off on sustained tangents and don't beat myself up over that -- I trust the tangential learning to be valuable later. (This has proved true for me.)

If I didn't value that tangential learning time, I would probably be happy with 4.5 hours of solid "productive" work :)

Yes, 4:30 is plenty. I am a remote salary employee at a consultancy firm and work less than that.

I've worked at three other web firms and always had to pad my "billable hours." A boss gives me a project with "x" amount of hours and I'm not going to say "well, I can do this in half the time," because they'll just give me more work with no additional pay.

If I were truly motivated I would start my own firm. But I don't like dealing with clients or writing functional specs; I only like to code.

I think that watching your "working" time decrease and being concerned about it is one sign that you're crossing into a new threshold of experience in your career. Most people in this position conflate "working" with "producing", but as many learn, these two are very different.

"Working", "producing", code grunt-ing, whatever you call it, seems to be what most young folks spend all their time doing in their first few professional years (it's what I did too). This is a good thing, it builds a lot of exposure and raw experience. You may be immersed in (or cranking out) code, fixing bugs, or working directly on your project/product for almost your entire work day, every day.

But at some point, many re-remember that they must learn and grow to advance in their field, and with that comes reading, exploring, trying/failing, as well as non-technical work, like planning/architecting, etc.

Once you start finding that you are pulled out of the code more and more, it's just a sign that "working" and "producing" are getting further from each other for you. And that's not a bad thing.

I run a little consultancy, and I'm about where you're at. I need to target around 4 billable hours per day for actual client work. This means I turn the clock on, start working, and when I'm finished or ready to call it quits on that particular project or task the clock is stopped.

I then spend about 2 to 3 hours on administrative, misc project management, emails, research, self-improvement/learning, and personal and business projects. Somewhere in there is some fruitful and non-fruitful time wasting.

On good days, I can crank out 6 hours billable, when really pushing it on deadline that can go to 8 or 10, but that wipes me out for a while afterwards.

Over the past two months, I've had the opportunity to work from home. I've spent the last six years working in an office environment, with the standard "open" workspace.

Within the few months of working from home, I've noticed a radical change in my day. No longer am I interrupted randomly, while in deep thought. I don't veer off to the break room for coffee, and get caught up in conversations. I don't take excessive lunch breaks to stand in lines at a restaurant. Speaking of, it helps the waistline! I have easy access to my full kitchen at home. I digress.....

Anyway, my team is located in central time, so I reap the benefit of distraction free coding between 2PM and 7PM pacific time.

I typically wake up, sit down at my desk at 9AM, and begin my daily routine of checking email, checking out what's new via HN, catching any meetings with folks in the central timezone, etc. Once lunch comes, I take a break, and begin planning what I want to accomplish in my 2-7 distraction free time block.

So, while I do work a full 8 hours, only about 4-5 hours of that time is spent head down in code.

Point is, I certainly agree working 4:30 is probably sufficient, however, for me, I do utilize the other hours of the day to "socialize" and plan "big picture" with my colleagues via video conference. I feel that if I lost the extra time in the mornings, these meetings would overflow in to my distraction free time.