"I don't care what hours you work; I just care that the job gets done."
Actually, though, I do care what hours you work. Like it or not, software development is a social profession. Design sessions with fellow team members, meetings with current and potential customers, assisting junior team members with coding problems: all of these things require you to be working at the same time as your colleagues. Now, that doesn't mean I'm going to watch you clock in at 9:00am (not 9:01!), or haggle over a long lunch sometimes.
I care that your working hours:
- are somewhat regular. It's helpful to be able to predict when you'll be around and communicating. That way I can just wait 15 minutes if you'll be in soon, or plan that meeting I really need you to attend before you leave for the day. Exceptions happen, and that's fine, as long as it's somewhat predictable.
- overlap with the rest of your team. They don't have to match exactly, but you have a team you work with, and it's a lot easier to work with them when you work at least some of the same time. The more overlap the better, but I'm usually looking for 4 hours or so.
- involve you working. Yes, what you get done matters. That part of the cliche is correct.
I really don't care that your working hours:
- start late or end early. If you want to show up at 11am, go for it. If you want to come in at 6:30 and leave at 3, that's fine, too.
- include time at home and time in the office. Want to go home, feed your kids dinner, and then get back to work? Fine by me.
Work hours are a tricky thing in some ways. There's not really a good reason for excessive clock watching, yet we do all have to work together and depend on each other, and work hours are part of that. So let's avoid the extremes. It's not about the hours you work; it's about the work you do, and that includes the work you do helping out your team. Be generally consistent, be there when your team needs you, get your work done, and then we'll move on to more interesting things!