Ask HN: How many (actual) hours do you work a week?
Problem is I simply don't have any more time to give. I typically get up around 9-10am, take care of a few morning rituals and might get an hour of billable time in before lunch. Typically I'm back after lunch around 2pm, and there I remain in my office until between 11pm-1am (break for dinner of course). So for being in my office for 10+ hours, at the end of the day I'm lucky if I got 6 hours of billable time in.
I can only reference my old actual office jobs for comparison. I know at the last place I worked, after all the meetings and facebook browsing time, I really don't think anyone put in more than 20 hours of actual coding time. But there everyone was salary and as long as you were in your seat, you were considered "working"
I don't think I slack off. I don't browse social media. I do get caught up sometimes in watching youtube videos on programming topics and conferences or maybe taking care of my many personal development machines. But sometimes the programming tasks I have are not simply trivial, requiring many hours or days of thought, in these times, the youtubing does go up as well as other side tasks. Not really sure how to bill for that, if it took two days of thinking and screwing around the house before I had my "ah ha" moment for a complex issue.. yea I don't know. I'm just really not sure how I can possibly type for 8 hours straight without ever stopping and at the same time write code that works.
I do pay for access to a co-working space, but I normally don't go as I assume the 30+ min. trip could be better used. Either way, going there hasn't magically gotten me 8+ billable hours a day.
Not really sure how to improve at this point. Thoughts?
Edit: Thank you so much for the quick responses. For a little bit more back story, I actually work for a small dev shop that has several contracts. They send me work that is usually already bid on as far as hours and price. Sometimes I have a say in that, and sometimes not. They briefly tried to make me salary, not sure why, I wanted to stay hourly. But then started complaining that they were paying me for more hours than I was working. Meaning taking the number of hours allocated for each ticket/feature that I had completed added up to less hours than what they were paying me for, so then they stuck me back to hourly. Basically since the tickets are hourly, it is very hard to complete 8 one hour tickets in one day (that is an extreme case but you get the point.) There are bigger tasks that are allocated 80+ hours, but still not easy to get those 8 hours of coding.
20 comments
[ 3.4 ms ] story [ 33.3 ms ] thread(Of course, people who can disregard or don't have families and other obligations, could plausibly work an enormous amount of hours. But that doesn't seem like a great strategy, there are so many good opportunities to produce a lot of value and receive reasonable pay for reasonable total work.)
Based on managing contractors for years now, I think you might be the most honest contractor I've ever heard of. Most of them bill for more hours than they're actually coding. I don't think this is malicious -- it's simply replicating the salaried structure, where goofing off and Facebooking are still part of a work day.
If you feel like you're pretty efficient, I think fixed-fee projects are good for both parties. Hourly tracking is pretty miserable. My clients are usually excited that I offer only fixed-fee engagements.
If you do continue time-based billing, you should try to switch to weekly or monthly instead of hourly. This allows you to build in a little variability.
Somewhat unrelated: someone posted on HN that s/he only codes 4 hours a day at the most, because most people's brains only have a certain amount of cycles to devote to something truly thought-intensive. Many, many people chimed in with their agreement.
That's an anecdote, sure, but there's lots of research to suggest that much more than 30 hours of productivity per week is a fantasy.
I pretty much figured that. Problem is how we manage our internal work flow is based on tickets with an amount of hours allocated to each one. Some have 4 or 8, others have 40+. Many times I am given 3 or 4 four hour tickets to tide me over for a couple of days (while some bigger tickets are negotiated), but trying to get those 4 four hour tickets done takes all week (or sometimes more). I've stopped really caring if I overrun the times, but the main issue is these smaller tickets branch out across many different apps, all with their own quirks and there is a 3+ hour ramp up time just to get familiar with what the ticket even wants me to do. Then you end up with the dreaded "Why did it take 8 hours just to add a button to a page?" scenario.
http://www.dailymotion.com/video/x2gp98t
As any experienced coder will tell you (and you've just told me), time estimates for tasks are nonsense. You should never run a team by relying on time estimates because they will always be wrong and people will be unhappy (both clients and employees).
This is just one case of many (where I loose hours/money), but to elaborate; say I get a ticket for 2 hours, "Just add a delete button for an order item on a form". Sounds sane, and I even agree that it should only take 2 hours. But of course once you get into the code you find some snags. After two hours of digging through the code you realize why the delete button was never added in the first place (was not a simple task).
But either way, I just spent 2 hours reading code, and still have another 2-3 hours of coding left to do. Might take a break at that point and collect my thoughts, get something to eat, might get side tracked then and not get back to actually working for another hour or 2. Then code up the feature. So that's 7 hours+ right there. Then I bill 2 or 3 hours for that, but it took all day.
Boss is normally understanding of going a little bit over (though not really for going 150% over). But really the end customer that pays for the work is worse to deal with. Half the time if they think something (even if it is a "fix") is going to take longer than a couple of hours, they just won't bother with authorizing the work. Then we end up with a big wart in the code base that we have to work around constantly (which in many cases, refusing to pay for an 8 hour fix has caused 100's of hours of other issues.. but another issue)
So I guess I feel guilty about working 7 hours on a 2 hour ticket when I know the end customer will just throw a fit. I guess I should just start billing for those hours in this case. But it feels like it is my fault. If I could just remember the internals of the code base, I wouldn't have had to spend two hours just reading code. Seems reasonable.. but maybe not.
I am a 1099 contract developer and I definitely bill for non-coding time. If there is a bug and I have to read stackoverflow for an hour to fix it, I bill for that hour. You want me to do a code review on your in-house developers' tickets and it takes an hour, I bill for that too. I build for time spent running tests, submitting PRs, merging code, deploying, and updating Jira. I bill for meetings and phone calls, I bill for emails, I even bill for time I spend billing you. 30 hours of coding can easily be 50 hours billed.
Also, I have the feeling that you're overthinking this. Sit down at 08:30. Grab a brownbagged sandwich from 12:30 to 13:00. Then work until 17:00. Done, go home and enjoy your spare time. This business of sitting in your office until 12:00 PM sounds ridiculous to me, why would any wife out up with that?
No, I'm out in the sticks. Hence why I fancy remote dev work :)
>Also, I have the feeling that you're overthinking this. Sit down at 08:30. Grab a brownbagged sandwich from 12:30 to 13:00. Then work until 17:00. Done, go home and enjoy your spare time.
I'm really trying to do that. Problem is a few hours time zone difference between me and my workplace. They are ahead of me. So what usually happens is I constantly end up staying up late in order to get them something they can test out in the morning (before I sign back on) that a way when I came back the next day for work, I will know whether what I did the day before is working or not. But I guess that is not working...
>This business of sitting in your office until 12:00 PM sounds ridiculous to me, why would any wife out up with that?
She manages, but doesn't like it...
> Problem is I simply don't have any more time to give.
This sounds like a classic employer move. Of course they want you to give them more of your time.
What do YOU want? Why do you want more than 30 hours a week billable time? Could you raise your own hourly rate that you charge your employer and work the same or fewer hours?
Good news: working more hours is the least effective way to be more productive.
The key to productivity is reducing unnecessary work. That means:
* Things you think the customer wants, but actually they don't.
* Things that are nice to have, not on critical path to success. Sometimes the customers thinks they want them, but often they won't care if they're not actually there.
* Things that are "best practices" generically but not applicable in particular situations. E.g. unit tests if this is code that will never be reused and you have an end-to-end test.
* Digressions where you go off on a tangent and realize too late. This can be solved with timeboxing.
I could go on. In general it's possible to be far more productive while still working same number of hours.
More suggestions here: https://codewithoutrules.com/2016/08/25/the-01x-programmer/
More conceptual overview here: https://codewithoutrules.com/2017/10/04/technical-skills-pro...
In this particular weird setup your company has, though, sounds like that's not the case. But as others have said the system they use doesn't make sense.
Are you sure that you need to be working more hours? Based on the setup you have, it simply sounds like you need to be accomplishing more. The actual number of hours it takes to complete a ticket is irrelevant (if I understand correctly).
itamarst had some good things to say about increasing productivity.
Everybody knows that there is much more work involved in programming than just typing characters into an IDE. I've never heard of any programming contract jobs that were as strict on hours as this. Whats stopping you from leaving and explaining exactly what you just wrote to the client? You are getting a very bad deal.
OP was probably broke before the job and is worried about having income.
The cynic in me says that you should just pad hours on ticket estimations to encompass ancillary tasks and bill for 40 hours while working the same as you do. It's a bit dishonest, but you may end up with happier management, and a happier you.