For those of us who have a 9ish to 5ish permanent employment contract, what is the culture like amongst the programmers? Would it be frowned upon if you go home promptly 5pm everyday?

I strongly believe that there are times when overtime is required but this should be the exception rather than the rule. Do you do regular overtime or spend more time in the office because "that is how it's done" or you're afraid to seem unmotivated?

I apologise if this question is subjective but I do believe the answers would possibly allow me to go home even more guilt free than I already do.

I am a software developer, I develop software 7-8 hours a day and would love to go home and do other stuff to broaden my horizons on other levels.

So the question: Is it acceptable for you to hit that monitor power button at 17:01, get up from your chair and say to the guys around you "see you all tomorrow!"?

+3  A: 

This depends very much on your direct superior and the culture of your team.

+3  A: 


Its the 7/8 hour etc... burn.

You work your allocated time and go home.

I must say I found this difficult when I began programming as my job. Prior to this at home I wouldn't get up until the job was done.

As you said however, there are times (deadlines etc...) where you might have to stay after work though you should keep this to a minimum in my opinion.

+12  A: 

Personally, I believe my best work is done before 3pm. I started to notice that I would get stuck on a problem around 4 or 5 and would come in the next morning and see the solution immediately. So my arguement is that it is a false economy to work late - especially unecessarily. That doesn't really answer your question if your working in a culture that expects you to work late, but I definitely believe it is a false economy.

Steve Mc
This defintely happens, the danger is staying late and breaking a load of stuff, when if you went home you would suss it out straight away in the morning.
Chris Needham
Actually, when I think about it, there has been a few times when I've applied changes late in the day and when I got back the next morning I've had to revert those changes. My new rule now is to never apply updates late in the day.
Steve Mc
+4  A: 

I'd say it depends on what the employer gives you. If they allow you to take a friday off or come in at 10.30 as long as you get your stuff done, you should get the job done regardless of whether you have to stay in all night occasionally (of course, within reason). If they, OTOH, require you to be there 9 to 5.42 with a 42 minute lunch, then go home at 5.42.

You're quite right. If you are not supposed to care about staying 5 minutes extra, they're not supposed to care about you leaving 5 minutes early.
+8  A: 

Here in the Netherlands I work at a company daily from 8.45AM to 6.45PM with an hour lunchbreak. They are somewhat flexible in their working hours, so if it's necessary I could start half an hour later, but them of course I'm expected to end my day later as well (or make up for that half hour another day).

From time to time we have to do a bit of extra work, because we have to roll-out a new application which would disturb the work of the other employees. If this is a one time thing I make no point of it. If multiple nights of overwork is necessary I demand a compensation.

Sometimes I go home a bit later, because I'm helping a collegue or just finishing up, that doesn't really bother me. Also it doesn't bother my employer if I want to go 5/10 minutes earlier from work just to grab that movie, or catch that train. It's a bit of a give-and-take basis.

+3  A: 

No, because I arrive a work at 8:45 and then take an hour lunch to go swimming, but at 5:30 I feel no guilt at leaving..

I sometimes stay later, but that's because after 4pm is quite a prductive time for me.

Simeon Pilgrim
+10  A: 

The most important thing is for you and your superior to understand each other's expectations and determine the working principles up front, before you start to work. Why not ask about the expected work load and overtime? You immediately see if this is the place you'd want to work at anyway. Respect yourself, you're a programmer, not a computer.

+83  A: 

Of course it is, and if it isn't where you work, I would suggest looking for another position.

This is how I look at it, I guarantee to give my company 8 hours of productive work a day, and they guarantee to give me X amount of money a week. Make no illusions about it, it is a business arrangement and nothing more. You owe no loyalty to who you work for, remember they would drop you to save $5, you are an expense to them.

Now, of course overtime needs to be done now and then, and I'm more than willing to work to get the job done as long as it doesn't become chronic. If it's chronic, look at what is causing it, and fix it.

Scott Lemke
Hear hear, constant overtime makes you less productive, not more.
Unfortunately a lot of companies don’t understand that you have a business arrangement and think that by hiring you, they are in effect **buying** you.My first job out of University was terrible. They actually *demanded* that we come in **five minutes early** so that we could get our assignments. Of course the five minutes was *unpaid*. That was such a crock! Getting our assignments was work and should have been on their time, not ours (especially since coming five minutes early meant taking an earlier bus which means coming in 30 minutes early and wasting 25 minutes).
Synetech inc.
I wish I could vote this up 100 times.
Jon Tackabury

If I have done my work for the day, I don't see a problem leaving at 5pm. I will stay later if needed, done that many times including to work with customers in the west coast. It is a day to day judgment call, at least for me.

Otávio Décio

I'm always home by 4. I do have to do a lot of work at home though!

Rich Bradshaw
+1  A: 

Iam a young programmer too and i think its realy ok to go home on 5pm but sometimes you have to work longer cause it have to be done in a short amount of time.

I think it is realy important to go home and have fun with your family otherwise you are totaly stressed ect.

Iam so happy that the guys iam working with are familiar based to and that they are going most of the days together on 5pm.

But this is realy situation and company based thing. If you are in a little team and you have deadline for your team work then it is realy important to communicate with the other guys.

Otherwise i think it is a project managment thing.

+1  A: 

I am very much against regular overtime (those legendary 50-60 hour weeks that some parts of the industry will force upon you - I don't know if it's still common though), but when to go home as a programmer should not depend as much on what time it is exactly as on what state you left your code in, IMHO.

Better go home early if you feel like the next task would take far too long to do properly and come prepared the next day, it makes you use your time more effectively. Stay longer if you feel you are very close to finding that nasty bug. ;-)

That said, people who leave at 5pm exactly have probably been watching the time for the last hour instead of working and deserve to be shouted at if they come 1 minute late in the morning.

+1  A: 

Use public transport, and stick to a precise time to arrive and leave. This way, you save money and you move the guilt from you to the public transport schedule.

In any case, remember that your managers assume a 8 hours productivity from you (less actually, you have to average for interruptions, sick days etc). if you stay longer (or shorter) you will unbalance their assumptions, so always make clear if and when you are working overtime for long periods.

Stefano Borini
Or carpool if you can. Saves even more money, and clearly if you're giving (or taking) a lift home from someone who works in another department, then the two (or more) of you have to mutually agree what time you're leaving. This means you need notice to work late: someone can't just show up at 4:45 with three hours of work that needs doing now. Unsurprisingly, once people know that they can't do this, their need to do so evaporates, and they somehow either get that work to you at 1:45 instead, or arrange that lunchtime tomorrow is soon enough.
Steve Jessop

As long as you are willing and flexible enough to go through a few periods (one or two weeks a year) where you go the extra distance and put in the extra hours that the tail end of a project needs you can go home guilt free. If you are looking to get promoted then putting in a few hours a week may be beneficial to that cause.


It depends on how productive you are and how rigid your corporate culture is. I definitely leave at 5 most days. Then again, I promptly VPN in from home... can't... stop...

Donnie DeBoer
+1  A: 

Worked in a environment wheere you were expected to work extra, and this just lead to people finding ways to entertain themselves for longer. My current environment you are expected to work 9-5, no sorry, you have a (reasonable) workload that is allocated to you week by week and you are expected to achieve this 9-5, if you have to go over then so be it, but in a year this has only happened to me a few times, however those who rush out the door at 5, are noted to be the ones that don't hit their deadlines, Take each day as it comes, but don't be noted as the one who dashes out the door at 5, in my experiance the best/important projects are always given to those who go a little above and beyond, don't get noticed as a 5er


I think its fine, there is a culture of working late, and I am one of the people that you can normally find at a keyboard after 5pm, however, and this is a biggie, I dont do it because its expected of me, I do it because I know I have a solution in my head and if i lose my train of thought it will take me hours to get back to it. Its all about the challenge for me, not a business relationship.

+3  A: 

If I may I want to contribute a story of a company that I was working for: There were no working hours (It could take for ever), and no payment of extra hours or what so ever. When you have one of your productions tools "infinite" (first time I read it in a micro-economics book for undergraduate), you tend to substitute it with everything. So limited use of debugger or debugging techniques, spaghetti code, dragging to meetings when you were doing something important, which might take you an hour to get back to, etc. So the result was more overtime and less productivity. Eventually the division went bust.

So I'd paraphrase Coding Complete 2 (I do not have the copy with me to copy it):

In big organisations there are two cases of overtime: The case where something went wrong according to the planning and it needs fixing. These are rare and usually paid. There is also the time where there is no correct planning: there there is much overtime which is usually unpaid.

Hope I helped.

dimitris mistriotis

I think may be the only one need to be at office are the meetings, my bussiness is about inspiration and feel fine, I can work every where, every time, I don't need to be tied at hours at office. I may feel a need to work at 04am and do nothing between 9ish to 5ish. My goal is to accomplish tasks not be a decoration on a desk front a monitor.

Gedean Dias

I usually get to work at 8:30am, take a 30 minute lunch and leave at 4:30pm, guilt free. As long as I'm getting things done and not impeding the progress of those around me, I don't feel guilty at all.

Nick Presta
+1  A: 

Depends of what you are doing, but mostly, programming is not a type of work to be done "holy" 8 hours per day, on a regular basis and fixed schedule. It is like an art, you can't force artist to paint for some fixed hours, it just depends on too many things (e.g. mood). One can do not work some days but work 14 hours on the next day... I think, best compensation models are per hour, per project, % share. Assuming you are in charge of your time.

Regarding your question, if you are a yet another employee (e.g. do not own some stocks, or something..) then you are just hired professional to do some things for others, i.e. resulting work is not yours, so feel free that you're just doing things as much as you get paid.

+5  A: 

I think the answer is, as always, "it depends". Coming to a clean stopping point is important, and if that happens at 4:45 or 5:30, you should be enough of a professional to take either outcome.

Of course, your company has to be professional enough to find it acceptable as well. I wouldn't leave an otherwise great job over it, but if it's only part of a larger problem of not respecting developers, or not treating them as professionals, I'd say it's not the best place you could be working.


If you have a reason to prefer a fixed daily working schedule, that should be fine for most jobs - frankly, if a programming job demands weird hours, there usually a system administration cause, so as long as the group is large enough and well-run enough to delegate those tasks to others this shouldn't be a problem.

The idea that you're somehow morally obliged to do more than that is simply exploitation. On the other hand, flexibility is certainly worth something, so I'd expect that an equally hard-working, equally competent person who is willing to adapt to the needs of the day could fetch a higher salary (perhaps indirectly via better employer loyalty resulting in better perks).

Eamon Nerbonne

The answer depends on many different factors, all of them specific to you and your situation.

Here are some questions you should ask yourself:

  • Are you an employee or a contractor? Contractors are billed and paid by the hour, so the company may not want you sticking around to rack up extra billables.
  • Is this a startup, an established company, or a giant enterprise? Do you have equity? I suspect the answer is "no", or you wouldn't be asking this question in the first place. I'm willing to work startup hours for startup rewards. If the only reward is a paycheck and an annual 1% bonus (which won't be given in These Troubled Times) then I'm not likely to work beyond my paycheck.
  • Do you think of this company as just a place you work? Or, is it a career? You may choose to make an extra, visible effort if it will advance your future prospects in the company. (Choose carefully, though, you might have to live with this precedent for a long time!)
  • Are you part of a cohesive team? There's no such thing as corporate loyalty, but team loyalty can have a huge impact, and if you're the only one on the team leaving "early", then it's likely that your teammates resent it.
  • What do the other people in your company do? Some particularly mature dev shops actually do leave at 1700 every day. Some isolated developers---usually working for small business owners with no software background---are kept in manacles until it's time to clean the toilet. Then, maybe, they get to go home. Your company culture is probably somewhere in the middle.

Overall, I'd say it depends on the culture of the team and company, and whether the demand for more time is self-generated or externally imposed. If almost nobody leaves at 5, then you have to ask whether you're more likely to change the culture or to just stand out. Standing out can be good, but not when it makes you look like a slacker. The exact same actions can be viewed in totally opposite ways depending on the local culture.

+1  A: 

It's all about the type of relationship you have with your employer, and the type of compensation received for services rendered. Many developers are in positions where they are expected to churn out ~8 hours of work, are compensated accordingly, and may not have any hopes of moving up within the company due the company's nature. If putting in any more time won't change anything, don't. In this case, bailing at 4:59 is required.

But there are also situations where working hard and long for the company can actually change bottom lines. Sometimes the result of tons of eye strain and ulcers is a pat on the back in the form of promotions and raises. As long as they are recognized, by all means, do it.

In some cases you very well may be your own employer. You may own a company, or a piece thereof. In that case, a developer owes it to him/herself to put in the time to make it happen. This can be a double edged sword, as developers in startups can do irreversible damage to their health. I know from experience.

Chris Henry
+1  A: 

As with depends. I just finished a 55 hour week this week [I'm a contractor so i get overtime at least].

Are you doing a massive production release? Transition? Then you better work as much as you can so that when you cut over/push to production nothing goes wrong.

I unfortunately have a ridiculously slow dev machine at work, which definitely makes leaving at 5pm during a production push week, very hard. When I build the solution, it seriously takes about five minutes.

Jack Marchetti


However, I'm self employed, so being at home doesn't mean I'm not working, and when I'm on site, I start around 6:30 AM, so this might defeat the purpose of your question. :)

More importantly, being self employed makes this my decision instead of someone else's, and that makes all the difference.

Bruce McGee

Personally, I'm not watching the clock while working. That said, I think that in some situations going five o'clock just isn't right. My strategy is working the amount of hours I'm paid for without being bound to an strict schedule. Of course, I'm lucky enough to work for a company that allows that kind of behaviour.

Federico González
+2  A: 

I work for a "consulting" company, in effect, a team of us (usually the same group of people) get tasked to build something for someone requiring our services. You know, basically they pay our consulting company, and the company takes a portion, and pays us a percentage of it (fixed percentage for each employee of the firm in our contracts).

Pretty much we all work together and understand how we work. We have a cohesiveness about us that we know the best hours for eachother, trust each other enough to know if someone is leaving they are done with a portion, or will continue it at a later time. As long as your not missing deadlines you should be fine. There are days when I will cut out at 5, and be completely done with it for the day (until I start thinking about something and realize that I should get it in) at which time I VPN in and write it up. I get paid for 40 hours of work a week. This means I will work 40 hours a week (or more if I need to in order to make deadlines). It really is situational.

No one here can honestly say each and every hour they are getting paid they are gainfully employed with their tasks. It just doesn't happen. You're in a bad mood. You get distracted. You have to make pee-pee. Get coffee, smoke break, whatever. BUT, so long as you are meeting deadlines, no one should notice. Personally, IMO, if whoever you work for allocates 8 hours of work/day average to you, you really should have no reason not to get it done minus specific circumstances. Now if your getting allocated more work than your getting paid to do, you need to buckle down and get it done (if your gunning for a promotion) or talk to your employer about it and get your workload down (if you know they won't promote you, won't pay you the OT, etc.) Life is too short, spend time with family. If you have no wife, go find a girl somewhere (or boy). You'll get burnt out if you don't get a life outside of programming.

If your on a team, you should be having this discussion with them, or at least the supervisor. If your a lone wolf, talk with whoever signs your paychecks and writes your eval reports.

Sometimes I have a family even and need to cut out at 3pm one day, but, I'll make it up sometime in that week. I get paid when the job gets done though. So the sooner we get the job done, the sooner we can get started on the next contract, thus making more money. As with any career, its all a balancing act. You have to balance personal time with professional time.

However, your question is entirely circumstantial. Look at what everyone else is doing, the overall picture, the overall work environment, etc.


Currently, no. I work a 5 day week (Sun-Thu) from 9am-6pm and am currently working on multiple projects. On an average weekday I'll start answering emails around 7:30am, get to the office for 9am, leave between 6:30 and 7pm and then do around 4 hours work once I get home.

This cycle repeats itself during the week and I usually put in around 8-12 hours over the weekend.

Are you paid overtime for the extra hours you put in in the officer? An average of 1 hour extra a day bring your total work week to 45 hours.
Sadly no, I work on a fixed salary. No overtime

I don't have this problem anymore, since I'm 40 hours late (had to take days-off for wedding), so I'm doing 9-18 for one month. However, when I'm doing 35 hours a week, It's quite hard to leave at 16:30. Besides I hate to leave my computer with a code that's not compilling, or needs just one hour of work to be fully functional. This is more an issue for me, because the "see you tomorrow" guilt usually vanish once I'm out of the building :)


Officially, the "core hours" for my developers are 9.30-4.30 and, in the past, the CEO would be strict about everyone keeping to those. However, the current team works hard and chooses to put in more than their contracted hours so we've become completely flexible about working hours.

So long as the developer is easily contactable if there are any questions or problems, I wouldn't even care if he (or she, theoretically) doesn't go into the office all day.

The contract is there to protect the company and employee, not to impose unreasonable and unproductive obligations on either. But, I guess it depends on the company culture.

Personally, I can't remember the last time I stopped work as early as 5pm, but that's not because of any pressure to keep working.


Can you go home at 5pm, guilt free?

I couldn't usually, but that's because I came in at 10am ;-) Most often I go home, guilt free, at about 6pm.

Where I work we don't do overtime (or do it extremely rarely); we don't believe in it. I'm not 100% sure, but I have the impression most agile teams prefer it this way (even if it isn't in the manifesto).

Work hours are flexible. We have the morning scrum at 10am every day, so that's the latest you can come. Personally I'm at work usually from 9.30...10 until 5.30...6. (Actually I'd like to shift this to a little earlier... but it's not easy. :-) Some of my coworkers do work from 8 to 4 or so.)

You can stay longer, sure, if you want. It accumulates flex hours, which you have to keep in balance in the long run. If I'm deeply in the middle of something, in the zone or whatever you call it, I might stay quite late - on the other hand, if I feel unproductive or too tired or something, I might leave early. I think this is the way it should be - I'm actually saving the employer's money if go home when not feeling productive at all.

I'd definitely hate working somewhere where they are very strict about office hours, or where they monitor you about it very closely. I believe that when employees are trusted, they'll also be most happy and will best get the job done. Also, my experience is that in software development it makes no sense to fixate on the hours you spend at the office -- I've had many 'breakthrough' ideas about work projects when sitting on the bus on the way home, or when getting to sleep at night or whatever.


I'm fairly new to the industry, graduated a year ago but have worked 2 years full time for what was a very new startup when I joined which has now grown to about 20-25 people.

Personally, I would answer no. The first project I worked on since graduating I left fairly regularly 5-5:30 (depending on the time I arrived in the office and how long I took off for lunch) but as we were coming to the end of my 2nd project I started working harder and later to make sure we finished on time (we did, I worked some late evenings but stuck to 5 days a week). Since then I fear I've gotten addicted to work or become paranoid because I often feel I haven't finished as much work as I could/should have that day or that the quality of my work is maybe not as high as that of some of my colleagues and too often give in to the temptation of working an extra hour or so a day.

Don't get me wrong - there is absolutely no pressure put on by the directors or project managers (it's a fairly informal, though still professional atmosphere) to work late though there might be an unspoken expectation to put in a bit of extra work to meet an upcoming deadline (maybe once or twice a year at most). In fact, they usually encourage leaving earlier and not working many extra hours, particular of junior positions such as myself but they are of course appreciative of the effort and hard work.

So I could go home at 5pm guilt free but as a worrier I've got in a bad habit of feeling guilty even though I shouldn't do.

EDIT: Actually, Jonik put it very well:

If I'm deeply in the middle of something, in the zone or whatever you call it, I might stay quite late - on the other hand, if I feel unproductive or too tired or something, I might leave early. I think this is the way it should be - I'm actually saving the employer's money if go home when not feeling productive at all.

+2  A: 

Doing overtime is like flying a jet on afterburner. Do it long enough and you run out of fuel and fall.

Programmers have a right to live. Never forget that, and don't trust your employer in remembering that.

I can't upvote this enough!!!!
Andrei Rinea

I think everyone who answered this question needs to read this book and take note.

It's about working smarter rather than hard. I encourage people to leave on time and come in with a fresh mind that day after. people often forget how much brain power programmers use everyday even if we are only sitting at a desk!