> does wildly inappropriate acts such as coming in late and/or leaving very early
Man, am I glad I do not work on your team. If you judge coming in late or going early as inappropriate, as opposed to measuring actual results, then you have failed as a leader already. Sorry.
Indeed. I read that line and actually laughed out loud. On my team people regularly arrive in the office any time between 7am and 12pm. The notion that anyone in a modern software development job would care about the specific hours someone spends in a seat is ridiculous to me. You're either getting shit done or you're not, and you're either communicating in an appropriate and timely manner or not. If you're doing both of those things, who gives a fuck which specific block of hours your ass is in a specific seat?
Well, as stated very well above by timv, it works both ways. The "as long as you deliver you can work whenever you want" can be abused to expect more than full time work with a constant workload of above full time (bad estimates etc)
The agreement between me and my employer is that I work 40h per week, and deliver value during that time. Apart from that there is an understanding that I can work slightly more or less depending on workload and deadlines. What's important is that the long term average is never more than 40 (that would indicate and encourage bad estimates and bad deadlines). If I need to pick the kids up at 4 I pick them up at 4, deadline or not. If an employer felt it was a problem that I need to pick my kids up at 4 on deadline day they need to find another deadline or another developer.
Regarding work hours - I'm not expected to be in my seat during specific hours but should be available during office hours. Having teammates who cooperate not work overlapping hours would be very bad for productivity. If I need to do some extra hours I try to d them late at night, but it wouldn't be acceptable for a team member to do all their work at night, when no one else is working. Direct communication is important.
> If an employer felt it was a problem ... they need to find another deadline or another developer.
Be careful of this attitude nowadays. There's lots of people getting into software development these days, and there's lots that will work for less money than you. There's also a lot of managers that would love to pay someone less, regardless of their quality.
I know it's always been that way to some degree, but the problem seems to be growing exponentially as the years go on and more "developers" flood the market fresh out of school and racked with debt.
The reason I don't really need to be careful with that attitude is because it works both ways -- I wouldn't want to work for an employer that didn't agree. I'm also very clear when interviewing, which of course could cost me the position but that is a good thing (don't want to work there otherwise etc).
Any manager who believes they can staff a non-trivial project with fresh bootcamp grads instead of formally trained senior engineers deserves the seven kinds of Hell they are going to get.
> The notion that anyone in a modern software development job would care about the specific hours someone spends in a seat is ridiculous to me.
Sure, but I do expect that folks on my teams are spending about ⅓ of their lives—or 8 hours/day—working. I've been on teams where the majority of the team appear to spend about 6 hours a day actually in the office, and don't appear to be working (although of course they may be thinking/reading/learning) more than that.
That seems undesirable.
> You're either getting shit done or you're not
It's not a boolean; it's a rational. One gets so much quality stuff done over time. Those who produce more quality features over less time are more valuable than those who produce fewer, more broken features over more time.
> I've been on teams where the majority of the team appear to spend about 6 hours a day actually in the office, and don't appear to be working (although of course they may be thinking/reading/learning) more than that.
That seems undesirable.
This was sort of my point. If people don't want to work they'll find a way to not work regardless of whether they're in a seat.
> It's not a boolean; it's a rational. One gets so much quality stuff done over time. Those who produce more quality features over less time are more valuable than those who produce fewer, more broken features over more time.
Sure, but because of the above it can be difficult to tell whether two people who are equivalently productive are both working equivalently hard. At the end of the day, if they're delivering value proportional to their compensation, you're probably going to keep paying them.
"Sure, but I do expect that folks on my teams are spending about ⅓ of their lives—or 8 hours/day—working."
"Those who produce more quality features over less time are more valuable than those who produce fewer, more broken features over more time."
These two sentences directly contradict one another. If an employee is working 4 hour days and accomplishing more than their peers working 8 hour days, why do you expect them to spend 8 hours a day working—especially when you yourself have already said the former is more valuable?
In my experience, people who are able to get quality work done in shorter amounts of time typically produce lower-quality work when forced to work longer hours. Shouldn't you be encouraging this?
> > "Sure, but I do expect that folks on my teams are spending about ⅓ of their lives—or 8 hours/day—working." "Those who produce more quality features over less time are more valuable than those who produce fewer, more broken features over more time."
> These two sentences directly contradict one another.
Nope, not at all.
> If an employee is working 4 hour days and accomplishing more than their peers working 8 hour days, why do you expect them to spend 8 hours a day working—especially when you yourself have already said the former is more valuable?
Because time marches on, whether or not someone is working. The whole reason I want someone who's productive in a shorter amount of time is that once he's done producing one thing he can get started on something else.
I disagree. I think at least part of that is cultural (I'm in Australia), and part is about what "measuring actual results" really means.
The idea that you only measure results is a worse situation for the engineering team than measuring time.
If we only measure results, then a piece of work can be estimated to be "a week's work", and then the engineer is expected to deliver on that estimate and have it done by the end of the week, even if that means working overtime.
I don't want that. I want to be able to tell my team that, if they did a solid week's work on it, and it's not done then that means our estimates were out and we'll adjust the plan. But that is measuring time - they did a week's effort even though they didn't get the intended result.
The flip-side is that if something is estimated to be "a week's work" and they get it done in 3 days, then I don't expect them to take the next 2 days off. Rather, it means that our estimates were off (in the opposite direction) and we'll pick up some additional work this week.
To me, "taking 2 days off" and "only working 5 hour days" are essentially the same thing. So if I had a team member who told me "the task I was assigned for this week is actually pretty easy, so I decided to just finish at 2pm each day", then I'd consider that wildly inappropriate and tell them so.
In the same way, if a manager told an engineer "the task you were assigned this week is really hard, so you're probably going to need to work until 9pm each day" that would be wildly inappropriate.
I don't care very much what hours my team work, as long as it's effective - which includes having enough overlapping office time do have in depth technical discussions, and so they can provide mentoring and advice to junior team members (or get advice if they are the junior). But if someone is "coming late and going early" (direct quote from the article, but the emphasis is mine) then they're not doing the job that they're hired for, and we need to discuss why.
Most engineers aren't employed (paid) based solely on results - and don't want to be, they want to know that if they do their hours, then they've done the job. But conversely, if they haven't done their hours, then they haven't done their job.
I've yet to work at a job where my job was solely to "implement X". It is usually more along the lines of "apply 40 hours a week towards corporate goals."
My team has a feature and bug backlog half a mile long; I could clone myself and still not run out of work. And even if I did manage to close out the backlog, there's more work which could be done towards company goals.
> But the job is presumably not "being there from 9 to 5", it is to implement X. So why are you saying "they are not doing the job they are hired for"?
Most probably because measuring employees by results and not by hours usually means working overtime, not leaving early.
If an employer sees you leaving early while getting things done, why shouldn't she just give you more work?
To me, "taking 2 days off" and "only working 5 hour days" are essentially the same thing.
If they're the same thing, I guess you'd have no problem with a programmer who comes in and does 40 hours straight across 1.9 days, and takes the other 5.1 days off, right?
Not right, I guess. Because there's something wrong with your statement: it's based on the assumption that all hours are the equivalent. But they're not. The longer you're at work, the more mentally fatigued you get.
How many times have you worked on something in the evening, only to come back at it the next morning with a fresh mind and realize previous few hours of effort were a complete waste of time, and actually a different direction was needed?
You need to step back from something in order to get perspective, both literally and figuratively. When you're tired, nearing the end of the day, it's very easy for your higher brain function to go to sleep and to start bulldozing your way through problems using willpower alone. And you'll do a dreadful job.
Incorrect estimation is a completely different topic, because it's a different mechanism at work. Presenteeism is a symptom of management's inability to measure the productivity of an hour's labour during the day. An hour at 5pm might be only 10% as productive as an hour at 11am, or it could even be net negative. Nothing to do with estimates.
Personally I believe I have between 4 and 6 hours of productive programming labour in me per day. I'm only good for meetings and occasional discussion the rest of the time. I don't try and write any complex code past 4pm, because I know from experience I'll write it much better the next morning.
> So if I had a team member who told me "the task I was assigned for this week is actually pretty easy, so I decided to just finish at 2pm each day", then I'd consider that wildly inappropriate and tell them so.
Why is it inappropriate though? Employee happiness is also a part of compensation. Or at least it should be.
In a hypothetical situation I would gladly trade a few Ks off my salary for more flexible hours.
Well, it depends. If you have someone who is killing it and comes later and leaves early, who cares? If you have someone who is struggling and then also puts fewer hours in you've got a real problem. Unfortunately on my experience it's more often than not people who are already struggling who aren't putting the time in. To make that much worse people notice this and will perceive this as a unfair and demotivating situation. That fortunately though seems to work both ways. If someone is out a lot who is going great work, everyone is totally fine with it. This all makes for very unpleasant conversations and can undermine work moral on your team significantly.
> They looked up to me for leadership and that also meant defining what was and what was not allowed.
I'm guessing he's just paraphrasing what went on. People judging the person who came late and left early. The leader might know what is going on, but maybe the person itself keeps it for themselves. Then others might wonder why just one person gets so much leeway. This is basically lack of understanding and trust.
Secondly, he seems to indicate that sometimes people might come in late and leave early while he doesn't know at all why it is happening.
He's from the Netherlands so can relate a bit more (though I don't work in IT). There are loads of people who just do their time. Meaning, come in on time, follow their lunch time exactly, leave on time. This because their value their personal life and work is just something you do. If you have lots of such people, they won't understand why the rest doesn't do the same. Leading to resentment, etc.
Where I work someone has been taking loads of personal time for the last 3 years. Think of a minimum of 0.5 day/week and this excludes taking days off. Everyone understands why, and there's no issue. However understanding a manager might be, you also have to deal with the entire team as well as other teams. That you know why you did something or that your manager knows still might not be enough.
> If you judge coming in late or going early as inappropriate, as opposed to measuring actual results..
Surely the principle of charity dictates that the quoted passage be interpreted to mean "coming in late/leaving early to the extent that it damages productivity/morale".
I mean sure, the author might have meant that he judges people solely by their hours and not their results, but in context it doesn't seem likely.
I would disagree in that the author self admits he was a noob manager and observationally its not unusual for noob managers to focus very hard to what they can easily measure (butts in seat, timeclock hours, length of lunch...) because they haven't developed a skill of focusing on getting stuff they don't understand, done. I've had extremely weird conversations with new managers, they really can't evaluate anything outside of their old small picture beyond did you show up and are you in a good mood? For a few months an inexperienced noob sadly has nothing intelligent to say beyond "how bout that extra long lunch last thursday?". People pick up on the weirdness of adding trivia to the discussion but fail to notice the subtraction of all meat from the conversation, its all "he's so picky about calling in sick" not the equally true "holy cow I screwed up process 34B last week and expected to get called on the carpet about it, but all this guy talks about is sick days". As a corollary, if you're going to try something new that may explode, do it with a new boss, because if it explodes all he's going to understand is your timeclock hours and if you smile a lot, so you're off the hook.
Sometimes its a negative result of excessive stress or unrealistic goals. Bosses boss says do this two week in one week, boss says OK, inevitable fail, called on carpet, well dev A was sick with flu and dev B was five minutes late to work (LOL as if that matters). Next week the boom falls on sick days and being five minutes late. Sometimes bosses boss knows this is a stupid tactic and hopes the noob boss has a learning experience. I had a bosses boss who actually did that to me. I thought he was a complete ass for doing it, but punishing my guys was an effective way of stopping me from making dumb excuses in the future, so I haven't done that in 20+ years, at least not knowingly.
On a few rare occasions I've seen it as very poor communications. "Must be done before Tuesday" so nobody works on it over the weekend, when inexperienced boss really meant "Must be done ASAP like right now even if it is 2am on Saturday". Noob bosses need to learn to communicate. If you need all direct reports to show up for the staff meeting once a month with your boss on Wednesdays don't talk down to the employees and tell them to all show up at 8am every morning when they only really have to on rare occasion.
I've also seen incompetent middle managers enforce it on lower level managers to avoid certain discussions, as a punishment, essentially. I want someone else to take your job, so your direct reports are going to be screwed over until you fail and you are replaced. Or to appear more active and in touch, "I'm not just a pencil pushing idiot I have a really great plan to track who's late from lunch because I care because my eval says I need to care more, therefore you will support my dumb idea". Often there is nothing the lower level manager can do to improve those situations.
The above are personal anecdotes I've experienced in forays into lower level management. Other, perhaps better examples, do exist.
Such an approach to 'management' and workplace culture is likely to encourage and reward the perception of 'hard work' rather than actual performance and outcomes. This drives out high-performance, goal-oriented individual contributors who aim to work efficiently.
That said I wish all 'team leads' shared their thoughts as transparently online; that way prospective employees can more easily self-select and identify the companies and teams they wish to join.
Usually even if CEO, CTO (etc.) understands the logic behind it they still have this paranoid thought: What if my employee is actually slacking off instead of just being very efficient? How can I know? Maybe if I make everyone sit at their desk for 8 hours I can avoid being overrun by a bunch of slackers?
There's appropriate and inappropriate types of this: worked till midnight, absolutely flag it and come in late; left early yesterday, rocked in after WIP today without notification, probably not okay.
why? If i am still delivering what I must, and not missing any actual meetings, why do you care? Just the desire for the thrill of forcing your idea of what a workday is unto me?
Right, strict punctuality for punctuality's sake alone is counterproductive. If you want results, measure results. If you want butts in chairs, measure that. But don't confuse the two.
There are some highly talented developers with great interpersonal skills who just happen to have e.g. delayed sleep phase. They might leave "early" to have a normal evening with family or run errands, but then work more at night while they're awake with time to burn.
The compromise I've seen at many places is a set of core meeting hours, say from 10am to 4pm, where you're expected to be available for scheduled appts and expected to usually try to be around for unscheduled ones.
Of course, that doesn't accommodate people with severe delayed phase or whatnot, but often that stuff can either be worked out either on a team-by-team basis or arranged as part of the hire. Or maybe you only enforce the "scheduled" part, and put a "24 hours in advance minimum" on it to keep things humane. The important thing is to get team expectations in place.
What doesn't really work is "around whenever they feel like it," assuming there's any inter-team dependency at all. Even with an email SLA, that gets obstructive pretty quickly.
+1 this. I am one of these people and i work till 2am regularly and i wish companies understood this more. Thankfully my past 2 jobs have been very relaxed with me coming in to work late.
In my experience, 8 hours of face-to-face overlap actually makes me significantly less productive due to distractions. I can always get more done when it's more like 4-5, with 4-5 undistracted. Better yet is a remote work day. People can still contact each other via Slack, Mumble, Hangouts, etc.
> In my experience, 8 hours of face-to-face overlap actually makes me significantly less productive due to distractions.
In my own experience, those distractions are mostly due to open-plan and cubicle-farm offices. Given a proper one-man office, with a door, it's very easy to be productive.
If you wanna telecommute on some days, or need a modified schedule besides the standard 9-to-5, you should just arrange for that.
Having coworkers just showing up and leaving at any random time during the day I think messes with morale/vibe of the office. And as another commentor pointed out, communication. I like to know the general time-range I can find an employee to speak to. I'm old-school and still appreciate face-to-face time over online tools. If the expectation is set at the beginning that "Jane is a telecommuter Mon,Wed,Fri". Ok, that's fine. I don't like the idea of "Jane just shows up whenever she wants to, but she's getting her JIRA tickets done within the sprints and shows up to meetings".
Basically, while schedules definitely don't need to be rigid... they also shouldn't be fully impromptu either. If you're not telecommuting, I believe it is valuable to be physically around during office hours.
Hours are flexible on my team, so the hours someone is available for in-person discussion varies widely. It's never been a problem to send an email asking someone to stop by when they have a chance.
I absolutely agree that it is important to be around during office hours, especially to take advantage of mentoring opportunities. Taking the time to sit down with a more junior employee and help them figure out their next step is incredibly valuable. There doesn't need to be any rigidity to office hours to accomplish that though. I would be taken aback if a lead came to talk to me about work hours, unless I had become nocturnal.
> Having coworkers just showing up and leaving at any random time during the day I think messes with morale/vibe of the office.
That's a weird opinion to hold. You should change it. It hasn't been true in any company I've worked in for the past ~8 years.
> I don't like the idea of "Jane just shows up whenever she wants to, but she's getting her JIRA tickets done within the sprints and shows up to meetings".
This sounds like the perfect situation to be in, both for an employee and an employer.
Impromptu meetings are clearly a sign of disrespect, you sure got him there!
Reducing human interaction to schedules and timetables is one of the worse social diseases of this profession and I am personally very much done with playing nice with the people who wish to coddle them. Your coworkers are no less important than you are, and sometimes they have the temerity to need you for a human interaction at a time not in your calendar. I am certain you and your precious, all-self-important flow can deal with it.
Interrupting someone because you have a question is terrible for knowledge workers. If you can't wait long enough to ping them on IM or send an email, something is very wrong in your workflow.
Ahhh, premature optimisation! You've optimised for your time, but have you optimised for the best efficiency at the company level? Ok, so your precious flow doesn't get interrupted, but the person that had a question that needed your input now has to wait around until you deign to respond.
You know who doesn't work that way? Fabrice Bellard. If you're lucky enough to be his co-worker, you can sit down next to him and ask a question at any time, and he will stop what he's doing and answer you. Then he'll get back to work.
The attitude you expressed above (and it's far from uncommon here on HN) is just an example of developers wanting to be treated like special snowflakes. I do not believe this is a desirable trait for someone working in a company.
This attitude tends to stem from having been managed by non-engineers. Spend a year or two working for someone who interrupts you for updates every 15-30 minutes, and you get extremely protective of your focus. You also become aware that the cost of interruption is relatively high. Generally, developers don't want to be special snowflakes. We want to be allowed to actually get our work done in a reasonably time-efficient manner.
Perhaps that is not a desirable trait for someone working in a company.
Also, I submit that if your company is larger than a couple dozen people and there are many questions that cannot be answered by more than one person, then your company has significant compartmentalization problems.
Thank you for expressing exactly what's going on in my mind.
I hate being interrupted, we all do, even working as a cashier in McDonalds. But the idea that a special branch of people SHAN'T be interrupted is snowflake treatment.
I already feel privileged over other employees in my company for having flexible workhours (felt sick yesterday evening, sent a text at 1am and got at work around 2pm today despite a production deployment being scheduled for 5pm), now if suddenly MY time is more important than anyone else's, I'm not an engineer, I'm a snowflake in an ivory tower.
If my junior intern is being delayed in her work because I can't answer her questions, I'm not her manager, I am the idiot who is delaying our team's output.
She is one meter to my right, unless I tell her "Sorry I'm trying to think of something give me five minutes", I want her and ANYONE who joins my team to ask me any and all questions, otherwise A) I've done a bad job showing my team they can communicate properly with me B) I've done a bad job managing them because I am slowing them down.
> Interrupting someone because you have a question is terrible for knowledge workers.
A couple people having the sheer clanging temerity to ask me a question doesn't bother me a bit, and I'm not special. I've learned to work in the kind of comprehensible chunks that allow me to be useful to other people, though, because being a multiplier is vastly more valuable (and pays a lot more) than being an adder.
Meeting for everything is bad as well. I don't like email/chat and I consider that wastes lot more time for miniscule task. Want to cost of something. Pick the phone and ask.(Check if the person is free or busy in calendar). I appreciate the following. Physical/Direct -> Phone -> eChat -> Email. makes thing faster
I would consider that you add a step before making a phone call or going and tapping somebody on the shoulder.
The thing that most threatens my zone is when the headphones need to come out. The _only_ exception is a simple yes/no, such as, "hey, want a coffee from Starbucks?" Anything bigger, whether a phone call or tap on the shoulder can really kill my session or workday. I'm talking your five minute conversation costing an hour or more of wasted time.
What do I recommend? Message me first and say "hey are you free to chat?"
> Anything bigger, whether a phone call or tap on the shoulder can really kill my session or workday.
This is so manifestly out of proportion to the disruption that I would (gently, as I am not unsympathetic, and personally I have no problem with IM, though emails can go to hell because developers generally ignore them) call it the kind of personal problem I'd hope you could work on and improve rather than imposing that on everybody around you who expect generally reasonable parameters of human interaction.
Working as a remote ops guy setting up a startup's systems, my quality of work dramatically improved when I joined the team in person, because I got to hear the various little things that people don't mention in online chat, and was able to account for them. This idea that all communication is entirely possible to be held within scheduled meetings is incredibly naive.
If you work in complete isolation, sure, but that's not reality for most. There are times when you need to communicate with others, in-person, beyond scheduled meetings. What do you do when that person is not in yet? You wait. What about if they left early?
If every single person in the office decided on a custom, non-overlapping schedule, how productive do you think that would be? Unless you're open to answering e-mails and IMs at home and on the go at all hours.
Yea I was working for a company for a very short period which was focused on autonomy. The texts, emails, and slack messages as early as 7, as late as midnight, on saturday, on sunday. It drove me crazy to say the least as someone who, ironicly enough, valued his own autonomy very greatly.
Think beyond yourself. In a team environment, there are times at which other team members will need to communicate with you to get their work done. If you're working on a different, arbitrary schedule, you can impede your team members.
If you want true flexibility and control over your schedule, the best option is to become a freelancer or consultant. But keep in mind that in many cases your clients will also have expectations around your schedule and availability.
I can't see that being too much of a problem if you use the concept of "core hours" during which everyone should be available. Say, make core hours be 10am to 4pm. For anything else, email should be sufficient, imo.
Exactly. Every time I see this micromanagement culture I'm reminded that this is actually the norm and I should be grateful for working in a sane place, where I'm not treated like a child.
"Not missing any actual meretings". There will be meetings you are not a core participant in but it would still be beneficial for you to be present. Will you leave the planners wondering if you will be in at all? Vs having core hours where there's a good guarantee everyone necessary is in barring vacation/unplanned leave?
Man, am I glad I do not work on your team. If you judge coming in late or going early as inappropriate, as opposed to measuring actual results, then you have failed as a leader already. Sorry.