As a salaried software developer, I've worked in a few environments where I've been told "we don't have 9-5 hours here, we just expect you to get your work done". Which sounds idealistic, except that when I ask about how late in the afternoon I should stay, I get told "go home whenever your work is done".

I never understood that, because generally there is always something that needs to be done, so by that logic you will never go home. Furthermore, it is rarely the case that the project will reach a perfectly clean "closing point" for the day, anytime between 5PM and 7PM.

I've seen people that basically live at the office, but I don't want to do that as I have other things going on in my life.

So what's the solution? In the evenings I always feel like I have to decide between losing part of my personal evening time, vs being seen as a slacker.


10 Answers 10


So what's the solution? In the evenings I always feel like I have to decide between losing part of my personal evening time, vs being seen as a slacker

Unfortunately, there are no simple answers here. "Whenever your work is done" almost certainly means "Whenever you deem it appropriate", since most software developers don't measure their work on a daily basis.

I think this is all part of being a professional, salaried employee. You don't punch a time clock. You won't be told "come in at x o'clock, take exactly 1 hour lunch, and leave precisely at y o'clock". You have to figure it out on your own, based on your company's culture, your own career ambitions, your work needs, and your family needs.

I tell my team that I don't want them watching the clock.

Aside from "core hours" where we schedule our meetings, they are free to come in early or late, and free to leave early or late. I don't care how many hours per day they are sitting at their desks, I just care that the work gets done.

I don't want to babysit them, and I don't want to micromanage them. I treat them like experienced professionals, and I trust them to act like mature professionals and figure out on their own how many hours they need to be around to get their work done.

I've told them that if they can accomplish their work in less than 40 hours, they can feel free to leave as they see fit. But if they are behind, or we have critical deadlines/releases coming up, I expect them to work extra as needed.

In practice, everyone figures it out for themselves. They each adjust their schedule according to their commuting and family needs, according to how hard they want to work, according to the needs of the projects they are working on, and how much they want to get ahead.

Some work around 40 hours per week or a bit less. Others work more. Some have worked a lot more.

Some generally arrive very early, and cut out earlier than others to optimize their commute. Others generally arrive very late and cut out later than most for the same reason.

Sometimes people arrive early to get a jump on a particular task or to communicate with our overseas office. Sometimes people hang around extra because they are "in the flow" and don't want to put down their work until they have completed a particular set of work.

During our weekly one-on-one meetings, and at annual review time, I never talk about how many hours they put in, when they arrive, or when they leave - unless their performance isn't up to the expected level. I've very seldom had to do this, but on rare occasions, I have to tell people that they simply aren't working hard enough, and that the amount of hours they spend in the office clearly isn't enough to get their job done. Either they are miscalculating, they are in over their heads, or they don't care. If it's a miscalculation issue, we work together to figure it out. Otherwise (and if they don't correct the problems), they are eventually reassigned or dismissed.

I'd advise you to look around and get a good sense of the culture within your company. You will likely see some people who are steady workers, but not trying to get ahead, while others are harder-driving. You might see some who are "slackers". You will see some who always get their projects done on time or ahead of time, while others miss the mark periodically or often.

You will see some who come in early and/or leave late, and others who work to the clock.

Then, decide what you want to be, how you want your day and week to go, and act accordingly.

  • 1
    What if there is no important deadline? Should we just try to keep up with the estimate?
    – dyesdyes
    Commented Jul 10, 2014 at 9:28
  • 26
    Hey Joe, it's really great to see decent, trusting people in charge. I'm a SE and work in a very similar culture - none of us take the 'mickey', we put in good work and as a result of this 'flexibility' I care about the job, my peers, boss and the company I work for. You sound like an awesome boss :-)
    – James
    Commented Jul 11, 2014 at 21:21
  • 2
    @Jimbo Your place sounds awesome, but I think places like yours are minorities. I've seen places where you get a 'death stare' even when you leave after a 9 hours work. By the way, supporting Joe's argument, I heard that Treehouse only have 9 hours per day and 4 work days per week, but look how far it gets them. Commented Jul 25, 2014 at 2:22
  • 1
    @SamuelAdam You can usually tell from an interview - if it's an "informal coffee shop chat", it's likely a more relaxed place to work. Very refreshing to read about companies like that. They take on enthusiastic, dedicated people and as a result, those people get what they deserve - a great work culture and work/life balance. I aspire to work somewhere else like that one day.
    – James
    Commented Jul 25, 2014 at 8:36
  • 5
    This answer text sounds reasonable in idealistic setting but I don't think it addresses the concern of the OP about being idealistic. As a manager you want this ideal view of the work and team, but in reality a culture of overwork may develop and the morale decreases as the expectations are not clear. After all, you always can "work a little harder"
    – Brandin
    Commented Sep 4, 2014 at 16:23

You might not reach a clean closing point, but there's usually a logical point. For instance, you might finish developing a portion of the feature you're working on, and have a choice between continuing to the next piece, or to stop for the day.

One piece of advice I'd give you is to leave the code you're working on in a clean state - no errors, and all tests passing if possible (easy if you're doing TDD). This will make it easier and quicker to jump back in tomorrow morning, without having to figure out what the error is again.

  • 13
    On the other hand, having a failing test can be a good reminder of where you left off. Even if the test is just the descriptive method name plus fail("not implemented") Commented Jul 13, 2014 at 14:35
  • +1 for "leave the code you're working on in a clean state". It can be very frustrating when a coworker checks in broken code just before leaving for the day.
    – dgundersen
    Commented Jan 13, 2015 at 19:42
  • 4
    Deliberately checking in broken code is not just wrong, it's evil.
    – TrueDub
    Commented Jan 14, 2015 at 9:16
  • 10
    That's what source control and feature branches are for, just check your fail("not implemented") in your own branch and mark it with WIP or something so nobody tries to merge it. Commented Aug 14, 2015 at 23:40
  • 1
    Using broken code isn't going to help you if you got into an accident and need to pick it up in a month. Clean code and comments are the way to go. Broken code makes no sense because it doesn't actually DO anything useful and if you need notes, write comments.
    – Nelson
    Commented Jan 19, 2016 at 5:26

The latest possible point is "when you are tired". There's a point where staying at your workplace doesn't serve any useful purpose anymore, or where you even cause more damage than doing good. Not saying that's how long you should stay, but you definitely shouldn't stay longer. At that point, it doesn't matter whether you are done or not.

  • 2
    I think he's asking for the right (or least possible) point instead of the latest possible point......
    – Pacerier
    Commented Jul 13, 2015 at 0:36
  • 1
    What if you are tired after 6 hours on most days?
    – user37746
    Commented Jan 15, 2016 at 0:28
  • @user37746 Then hopefully you do a full job within 6 hours. If not, maybe work 6 days per week, or have 1 day per week that is entirely devoted to work where you work 6 then break for a few hours (maybe including a nap) then work 6 more then go home in time to sleep - 1 day/wk is worth that if it's 6 on the others and you get the work done. I sometimes take naps in the middle of the day for an hour or more in my car. If you take a brisk walk after that nap, sometimes that will make you go stronger than you did in the morning. If all else fails, work on your health if 6hr is pushing it for you.
    – Aaron
    Commented May 8, 2017 at 16:26

Other answers have addressed the part that's about the state of the work, and I agree -- leave the work in a state that you can pick up from the next morning and that won't mess anybody up in the meantime. But I sense another dimension to your question.

I just started a new position so I have fresh experience with this. You are trying to judge the norms of the place as much as the actual work milestones. You don't want to be the first person to leave every single day, especially if you're leaving substantially earlier than everybody else. Even if you get in hours before everybody else (so you've worked a full day or more), nobody saw that so it doesn't help (yet). In those first weeks at a new company in particular, people need to know that you're not a slacker, that you're invested in the work, that you're not watching the clock.

If you need to leave early for an "external" reason, in my experience people understand -- especially if you say something about when you'll be available again. "I have to pick the kids up at school at 3, but I'll be back online from home by 4" sends a different message than "3:00 -- bye!". Communicate with your team.

Once you've been there a little while you'll get a sense of the group and then you can adjust. Once the people who come in at 9 start seeing your checkins and builds (because you were there at 7), they won't think twice about it if you leave at 4 while they're planning to be there until 6. Further, you'll be talking with each other (right?), so you'll learn each others' habits. As a new employee I know that I can catch Alice first thing in the morning, Bob gets in after the morning rush, and I shouldn't bother Carol and Dave until they've had their "morning" coffee at noon -- but if I'm working from home a bit after dinner they'll still be around. It all works out.


These things are very culture dependent, I work in the Netherlands.

I think that if you have a contract that says you'll work some number of hours (say 40 hours in five days, 8 per day) then on most days that's how long you should work. If you don't have a set number of hours, then 8 hours is close to the maximum that a software developer can be effective in anyway, so it's a decent guideline. If an emergency comes up or an important deadline is close, you do whatever it takes to get it done; conversely, if on other days you're very tired at 4pm and can't concentrate at all, just go home.

The part about getting the work done is about communication (what isn't) -- as long as your work is done when your project leader expects it to be, you're fine. Of course initial estimates will regularly be off, both because the requirements shift and because nobody is good at estimation. Communicate the new estimate clearly and as soon as possible, so the project leader has the chance to deal with the new situation. This is a much better long term solution than working 10 hours per day: that doesn't magically make estimations better so it doesn't solve anything, and they don't pay you for 10 hours per day so you don't owe them that.


For me it's one of 4 things.

  1. I've reached a good stopping point and it's reasonably close to quitting time.
  2. When people that I need to work with have already gone home so I'm no longer being productive. On Firday's that seems to be around 2:00 in the afternoon in the summer.
  3. When my co-workers come by and ask why I'm not going home yet.
  4. I have a commitment to be somewhere else. My wife doesn't like being stood up.

But the other side of that is that being able to connect from home, there are days where I am online coding at 11 or 12 at night because an idea just hit me and I want to try it before I forget it.

As long as you keep in mind and can sleep at night believing that you are doing a fair week's work for the company, day to day it balances out over the long run.


I really like Joe Strazzere's answer. However, when it actually comes time to go home, if possible I like to finish a unit of work so I don't lose my train of through. If that would take me too late into the evening, I like to at least be able to check my work in knowing it will compile and not break anything, even if it's partially complete.

I don't begin a large or complex piece of work if I don't think I'll be able to get it to a sensible check-in state by home time, so sometimes I end up doing admin or small tasks in the hour or so before heading off.


You don't leave the office "when you're done", you're leaving the office when you have reached a stopping point.

You've reached a stopping point when you're confident that you can pick up from that point and go on working when you're back at the office the next day.

You haven't reached a stopping point if you know that if you have to repeat part of what you did the day before when you show up for work the next day.

@JuliaHayward in her comment makes the excellent point that "You also haven't reached a stopping point if you have just checked some code in and haven't waited to see the build result. Be sure that others can also pick up from where you leave off." I second her comment. Who knows, you could get run over by a truck, as happened to one of my colleagues who made the mistake of staring at a buxom young woman as he was leaving the office and crossing the boulevard on his way to the train station :)

Leaving the office "when you're done" is not a reasonable standard for projects that require days, weeks, months or years to finish. Unless "when you're done" is defined as "when you've reached a stopping point for the day".

If you are hitting your milestones and you're giving a good account of yourself at the scrum meetings, you shouldn't worry about being seen as a slacker. Every minute that I spend worrying about what others think of me is a minute where I am not getting anything done. I asked one of my friends "Did you get it done over the weekend?" His answer: "No, but I worried about it" I felt so much better that his part of our project was in good hands after that :)


@emory comments that "The stopping point is one indicator and that "Other indicators are bus, car-pool, metro schedules; medical appointments; SOs schedule; child's schedule; biological signals (you are tired, hungry, etc); fire alarms."

I am differing.

There is a difference between selecting and reaching a stopping point for the workday, where you are actually making sure that either you or someone else can pick up where you left off, and a stopping point for the day such as making a train schedule, where the only planning you might care about is making sure that you get to the train station in time and do not care in what state you are leaving the project.

If you have to make the train schedule, then you should select a stopping point for the workday that will allow you to meet your train schedule for the day. If selecting such a stopping point results in extra time to twiddle your thumbs, then use that extra time to do some other work such as reading about that other issue in Stack Overflow. Then get off your butt and race to the train station :)

  • 1
    Did you just wrote " :) " after stating that your colleague was run over by a truck?
    – Pacerier
    Commented Jul 13, 2015 at 0:42
  • @Pacerier He lived, except that whenever the weather gets cold, his bones hurt :) My point is,your colleague's availaility, or yours, or mine can change suddenly and drastically or a reason you'd never expect.., Commented Jul 13, 2015 at 5:15
  • @Pacerier When I was a college teacher, I received a class to teach shortly before it started as a coworker on a motorcycle was hit by a car. I did not feel too bad about my opportunity since it was a good experience and he lived and was back to work in a couple months; he went back to that class next year. At least he had the decency to get hit just before the class started instead of just after. ;) Similar to Vietnhi, I would feel awful saying that if he died, but he didn't. I have had other co-workers die at bad times; the work is set aside while we grieve, then we do the best we can.
    – Aaron
    Commented May 8, 2017 at 17:02
  • Aim to have the most important stuff done / finished at a point so that anyone can pick it up after you before 4pm so there is nothing left behind you after you leave.
  • If there is no major release for the day, you didn't do any critical mistake that needs to be fixed or lives don't depend on your work for that day then feel free to leave anytime after you worked your hours.
  • If you feel like you would not bring any value by staying late then leave.

Pick some number you are comfortable with, be it 40 hours a week, or whatever, and do that much work every week. In general you are probably going to want to stick to a schedule, and you are probably going to want it to be from around 9 to about 5. Yes your schedule is flexible, but that does not mean that when you are just doing standard everyday stuff that you should not just pick a normal schedule and stick to it.

  • "... stick to a schedule ... just pick a normal schedule and stick to it." Some of us perform better when we are not held to a normal schedule. If I can work 7am-3pm today, tomorrow arrive at 9am and leave at noon just because I feel like it that day, then sleep in because I'm tired and work 11am-9pm, etc., all because that's what makes me happy at the time, I can tell you that I produce a lot more work and of better quality than if held to a schedule, even if I make the schedule. If others are hands-off with me, I'll move mountains for you; otherwise just expect average work.
    – Aaron
    Commented May 8, 2017 at 17:14

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .