1. 47

OP mentioned (and criticized) me and I have to say that he’s right. Now that I’m older, I’ve noticed that a lot of the best programmers leave early. They might tinker on side projects or read technical books after work… but staying in an office for 10+ hours is for noobs.

  1.  

  2. 15

    Our “core hours” at work are 10 - 4. I get up around 6am and send work related messages around 7am. I might even do some programming until 8am. I arrive in the office around 9-15 / 30am most days. I’ll dip out at 4:05pm or 4:15pm and might do some work when I get home. I never understood clock punchers who justify their paychecks by how long they sit at the office staring at their computer screen.

    As long as you get the work done, who cares how long it takes? I abhor making people who live 2 hours away in good traffic come to the office just to be there. They’re dedicated enough to get the work done at home. You’re wasting 4+ hours of their life / productivity by insisting they drive to the office 5 days a week.

    1. 6

      I’ve been through this scenario before, early on in my career. My manager insinuated I should stay longer at the office. I goaded him on by asking, “but what would I do?” (It was more naïveté than insubordination, but it was viewed as mostly the latter.) I argued that all of my work went to production without major hiccups, that I’d designed large parts of the system as is, we had good test mechanisms (this was 2004) and that we were consistently hitting milestones. He didn’t care about any of those things; the firm was designed to bill by hours, not by quality.

      I eventually left.

      I’ve since realized a few things. First and foremost, after accumulating enough experience and work ethic, I firmly believe that if employees are consistently delivering, they shouldn’t have to explain themselves. Think about it: how often do you see C-level management justifying their time to others? Once you fall into the trap of justifying your time to others (either implicitly or explicitly) it is hard to dig out. Thus, remote work is a powerful tool for decoupling yourself from the tyranny of hours. Mind you, if firms really cared about productivity, they’d embrace remote work more than they do now. What many want is profession of loyalty via time worked. If they really cared about productivity, we’d worry more about writing great code all the time so we never had to return to old code unless our scope changed. Ultimately, you need to view arguing over hours with coworkers as a pissing match that degrades everyone involved.

      Second, programming is fundamentally a creative job, and your schedule/culture needs to allow for productivity variations among a single dev and a team. Maintenance work often requires only a slow, steady trickle of productivity (with a few short intense sessions for more difficult bugs), feature development requires a bit more, and research/system upgrades requires substantially more. If we graphed productivity for each of these they might look quite different, with some being inherently more bursty than others. And more difficult tasks often require a certain amount of calendar time for your brain to really wrap itself around the problem.

      Third, there are ways to spin this: talk up the benefits of having a life outside of work. Speak to your hobbies, your friends, the things you do that aren’t tech-related. Try to keep social media closed at work, and work hard. Focus on being a professional who delivers on-time consistently, with high-quality work, and makes it known that they have obligations out of work. If that isn’t valued where you are, then you can start looking for somewhere that does.

      Life’s too short to hand it over to institutions that care only for extracting maximum work out of you. Don’t be afraid to take pay cuts or move elsewhere for this. Once you get a taste of being respected and given the courtesy of a mere 9-5, you won’t want to go back.

      1. 2

        Think about it: how often do you see C-level management justifying their time to others? Once you fall into the trap of justifying your time to others (either implicitly or explicitly) it is hard to dig out.

        Yes. If people have unrestricted transparency into how hard you are working, you cannot win. It doesn’t matter if you’re a slacker working 2 hours per day or throwing down 14 hours per day to deliver something hard. No one should know but you, how many hours you are working. It is information that can only be used against you. Of course, sometimes it’s valuable to create an impression of below-normal or above-normal work effort, but it’s something that you want to keep tight control over.

        Hours are tracked to make a case against someone, not to help someone– people get promoted for results, not effort– and even erring to the “good” side can be harmful. Long hours can be interpreted as showing inefficiency and a long-term reliability risk. Having been on both sides of the management wall, what I’ve noticed is that people get fired not for low performance but for sudden changes in performance. Let’s say that “3” is the minimum acceptable performance and “5” is average. The guy who rises from 4 to 8, when assigned a new project, has shown that he’s capable of a lot more than what he used to deliver. He’s “not a team player” because he clearly cuts speed on projects he doesn’t want to do or that seem to have no career value. He probably won’t get fired for that alone, but he’ll be more disliked (and therefore more likely to end up on a layoff list) than if he’d kept a constant 4 and been assumed to just be mediocre. On the same token, the guy who drops from an 8 to a 6 is going to be pushed out (again, not immediately) because the going managerial assumption is that, while skill-based competence (and, therefore, efficiency) will usually improve, morale and performance trends only go downward. They’re going to want to get that person out before he drops any further.

        If we graphed productivity for each of these they might look quite different, with some being inherently more bursty than others.

        Yes, absolutely. This is why I hate “Agile Scrum” with such a passion. The constant, humiliating performance monitoring forces people to work on low-yield, low-risk tasks (i.e. avoiding the burstiness that comes with real work) that actually deliver very little value. It’s relatively easy to keep your job by playing Agilepolitik (remember that you don’t have to outrun the bear; you just have to outrun the other guy) but at a long-term cost, because five years later you will look back and realize that you’ve achieved literally nothing worth mention over half a decade.

      2. 4

        the fact that discussions like this happen at all is what led me to quit the 40-50 hr/wk job market. I think there is something fundamentally odd about the way we set a firm price (salary) for tech labour but the actual required duties (hours) are only vaguely defined and then used as an element of pseudo-competition within the micro market that is the office.

        working independently and getting paid by the hour or feature feels so much more fundamentally logical, at least in the sense that the formula for converting time into money has fewer hidden variables. of course, that pales in importance compared to the flexibility to only work 30 or 20 hours a week and spend the balance of time supporting people and communities and projects in ways that aren’t purely financial.

        1. 1

          In theory this argument makes sense but I think in practice you find that in the freelance market you are expected to do a lot of stuff for free / outside of normal billing as well. I think it’s just the nature of work, a lot of times people expect to get things from you for free. For salaried employees, that means working outside then normal 40 hours when it is “required” (and different employers have different ideas of what that means.)

          The key regardless of whether you’re working hourly on contract or salaried or whatever is to work with people who’s expectations match up with your own.

        2. 4

          I think putting in long hours is often wasteful and less productive. When new developers start on our team I will tell them they won’t get extra credit for working on the weekend. We want them resting up to be productive on Monday.

          That said this blog post comes off as extremely defensive. Which naturally leads me to believe the accusation struck home with the OP. That usually only happens if there’s some truth to it.

          Working long hours != productivity and working normal hours != laziness. But there are definitely people who skate by doing the bare minimum. I think usually those are the people that are being referred to as 5:01ers. It’s a bad term though.

          1. 13

            That said this blog post comes off as extremely defensive. Which naturally leads me to believe the accusation struck home with the OP. That usually only happens if there’s some truth to it.

            Disagree. As you get older (and I’m only 33) you get sick of certain shit– in this case, namely, being marked down for irrelevant cosmetic nonsense.

            There really are companies where decisions about whom to fire are made based on face time (as a proxy for dedication). I’ve worked in them. Of course, since people rarely know why decisions are actually made, the atmosphere is more one of suspicion and adversity– you never know that you were fired because you left “early” at 6:30– than certain knowledge. But once you’re 30+ and have an eye for the patterns and unlock the “Sick of This Shit” merit badge, I think you have a right to complain. Open-plan high-frequency politics are not an important CS skill and shouldn’t have the influence over job/career outcomes that they do.

            The truth is that we’re an industry where the people in management roles (even if they were engineers at one point) have no ability to evaluate the work. That means that subjective impressions matter and it generates politics– and while your political knowledge goes up with age, your political stamina (read: ability to deal with bullshit) goes down.

            But there are definitely people who skate by doing the bare minimum.

            Harmless low performers are a lot less toxic than people who generate politics. This is why stack ranking always backfires. The loss incurred by paying a market salary (presuming 25-50th percentile performance) for 5th-percentile people is minor in comparison to the much more severe cost of a politically charged environment. Instead of subtractors, you’re now dealing with dividers.

            I’d actually be hesitant to fire the harmless low performers. Why? Because people are mostly context. The people in the bottom 20% know that they’re in the bottom 20%, therefore not going to get promoted, and therefore they try to skate. If you get rid of them, you’re just going to have a new bottom 20%. In most circumstances, they will eventually take stock of their promotion potential and become minimum-effort players.

            In fact, I think the harmless low performers play a valuable social role. It’s better to know who the marginally productive gamma pups (who usually do at least a couple things well) are than to have the productive betas worried about their standing.

            1. 6

              Well I’m nearly 40 and allow me to tell you that as you get older you stop getting bent out of shape about stuff that doesn’t apply to you. If some other people think working long hours is required to be a great coder then that’s their problem.

              There are indeed companies, big and small who think working more than 40 hours a week is a good thing. That’s not going to be solved by angry blog posts.

              If you are unfortunate enough to work at one of those places you have two options; try to change the culture or find a new job. if you are a good coder who truly is an asset you should be able to do one of those two things.

              As far as people who skate by doing the minimum not being a problem; I strongly disagree. The fact that they don’t get promoted doesn’t make it ok. They still get paid and help set the norms for the company. They will weigh in on policies and influence culture with their laziness and disinterest.

              The idea that they are “less harmful” than toxic people who like to cause drama is both irrelevant and a false dichotomy. You don’t have to tolerate either type of person in your organization and I dont at mine.

              1. 7

                You’re not the author, though. Michael was saying the author might be one of the set of people whose brains are hardwired to get irritated over seeing same bullshit. That might soften or worsen with age. There’s also my concept that the author thinks of it as a personal attack which itself can get a person to lash out in defensiveness. That’s what I saw in the few paragraphs I read.

                Too ranty to waste more time on…

                1. 4

                  As far as people who skate by doing the minimum not being a problem; I strongly disagree. The fact that they don’t get promoted doesn’t make it ok. They still get paid and help set the norms for the company. They will weigh in on policies and influence culture with their laziness and disinterest.

                  I disagree. People usually know who they are and don’t want to be in the same bucket. Those people aren’t looked up to for guidance. If they offer suggestions on policies, they’ll be ignored.

                  The idea that they are “less harmful” than toxic people who like to cause drama is both irrelevant and a false dichotomy.

                  I didn’t say “people who like to cause drama”. I’m talking about people who generate politics, not because they “like drama” but for personal benefit. And sure, there are people who fit into neither category.

                  I’d never say that it’s wrong to get rid of low performers. Sometimes it’s what you have to do, just to survive. However, the process of looking around to “catch” low performers is likely to put everyone on notice and make everything more opaque as everyone (even good performers) looks for protection and leverage.

                  For example, if you impose stack ranking, you’re more likely to generate politics than to gain anything by rooting out low performers. Sure, you’ll cut some salary, but at the expense of turning people against each other. Once you implement stack ranking, the idea that everyone’s on the same team goes out the window, the knives come out, communication breaks down all over the place and your whole company becomes inefficient.

              2. 5

                That said this blog post comes off as extremely defensive. Which naturally leads me to believe the accusation struck home with the OP. That usually only happens if there’s some truth to it.

                This basically implies that nothing can ever be wrong… Your opinions are bad and if it upsets you that I said this it means it must be true. That all aside I think if you’re working longer hours in programming you really must be doing something tragically wrong.

                1. 6

                  That all aside I think if you’re working longer hours in programming you really must be doing something tragically wrong.

                  I personally average about 50-60 hours per week, but a lot of that time is reading papers and books. That’s sustainable. I certainly couldn’t code for 12 hours straight, though, and I would never work more than 40 if not working on my own terms and pursuing projects that I’m interested in.

                  If “work” is being in an office, doing things that a bunch of managers (who don’t care about your career) decide is important, it’s hard as hell to do that for 40 hours much less 60. On the other hand, if you have a good job and if the scope of “work” is broadened to include learning/following the field, I think that 50-65 becomes sustainably feasible. Of course, you still need to take vacations, have enough time for exercise and family, and have other out-of-work pursuits to keep sane.

                  1. 1

                    That’s a real stretch dude. I said that usually when someone gets bent out of shape about an opinion someone else holds that wasn’t explicitly addressed to them, it’s usually because it struck a nerve. That’s a far, far cry from your silly interpretation.

                    1. 3

                      You also said this:

                      That usually only happens if there’s some truth to it.

                      The author is actually pretty honest about the fact that he used to judge new parents at work. Maybe it strikes a nerve here because it’s hard to let go of those old attitudes even though he now has a different perspective after having his own children. He says he didn’t even feel comfortable using all of his paternity leave.

                      So regarding this comment:

                      That’s not going to be solved by angry blog posts.

                      Of course it’s not going to be solved by angry blog posts, but the author seems self-aware enough to recognize his own ambivalence on the issue after his major life changes. Perhaps he’s sharing his experience in hope that some readers would be able to relieve a little bit of their own guilt about having time obligations outside of work. And when others are feeling less guilty, maybe they’ll be less likely to throw around epithets like ‘5:01er’.

                      1. 3

                        It appears that you’ve proven me correct.

                        1. 3

                          You are being unreasonable here. You draw conclusions from a fairly simplified logic here (if someone defends against accusations, there is truth to the accusation). Which might be true, but we all know it just as well isn’t.

                      2. 4

                        That said this blog post comes off as extremely defensive. Which naturally leads me to believe the accusation struck home with the OP. That usually only happens if there’s some truth to it.

                        That’s a terrible argument, and a huge, unjustified jump to a conclusion.

                        The article is defensive, but entirely justified IMO. It can be infuriating to be treated like a slacker when you’re working as hard or harder than anybody else. Even more so when it’s such a useless and stupid criteria like when a person leaves the office.

                        1. 3

                          That usually only happens if there’s some truth to it.

                          you can’t be serious about that line