1. 12

    I feel like I can’t open a web browser these without reading about some conflict in the Great Demographic War between men in their 20s and everyone else (that is, some version of Luis versus the OP). I personally think it’s great that Luis is interested enough in his work that he wants to spend part of his weekend on the problem, and the dire admonitions to the contrary sound to me like people are afraid that the Luises of the world are out to make everyone else look like Skid Row bums and good-for-nothing layabouts.

    It’s amusing to me that the commenters on that post immediately feign concern over programmer burnout, as if poor Luis is going to stumble into work on Monday morning a haggard and broken man, requiring weeks of recovery before he is well enough to utter the one-word solution to the problem. I guess Luis just needs to learn that the local politics require that he pretend to discover the solution at exactly 9:15 AM on Monday morning, and then move on to the next bug.

    1. 40

      I don’t think people are afraid that Luis will make them look bad. I think they worry that the higher-ups, after seeing Luis put in a weekend here and there, will come to expect it and begin to feel that they are entitled to having him (and everyone else) work weekends whenever they want. In my experience, this fear is entirely justified at most companies.

      “If you give an inch, they’ll take a mile” has been the defining characteristic of labor-management relations at the majority of my employers, and has led to my being very careful, when I do get interested in a bug and poke at it on my own time, to make sure that nobody finds out.

      David Graeber, in his book on debt, talks about how gifts, when repeated, became obligations–debts–in feudal societies:

      But this introduces another complication to the problem of giving gifts to kings-or to any superior: there is always the danger that it will be treated as a precedent, added to the web of custom, and therefore considered obligatory thereafter. Xenophon claims that in the early days of the Persian Empire, each province vied to send the Great King gifts of its most unique and valuable products. This became the basis of the tribute system: each province was eventually expected to provide the same “gifts ” every year.

      He describes in more detail than I can summarize here how this is the consistent result of gifts between people in a hierarchical relationship (such as employer-employee).

      1. 10

        Part of it is about establishing a clean boundary for your employer. Once you’ve established that you’ll allow them to invade your personal time, you can expect it to be the norm from then on.

        1. 9

          I guess Luis just needs to learn that the local politics require that he pretend to discover the solution at exactly 9:15 AM on Monday morning, and then move on to the next bug.

          Oh, would that it worked like that.

          Instead, what happens is Luis’s co-workers arrive on Monday to find out that Luis, self-directed millennial autodidact that he is, hasn’t just discovered the solution, he landed it in production around 4am on Sunday. His co-workers, freshly rested and sipping coffee, slowly realize that Luis’s “solution” is actually a depth-first exploration of the problem space that bottoms out kind of near a solution, but if we’re honest—and Monday morning’s an excellent time to be honest—it’s a rolling clusterfuck. It has no tests, it has no separation of concerns, the code has some, uh, Luis-isms in it, it adds a number of unorthodox dependencies, it tightly couples a number of orthogonal services which results in overall SLA degradation, its sweeping changes have resulted in breakages of three feature branches other engineers had planned to merge this afternoon, and there isn’t a scrap of documentation to be found for the thing.

          Luis rolls into the office late on Monday to find his co-workers angrily planning how best to roll back his changes and is hurt and dismayed. He’s hurt because he spent all that time fixing the problem and he learned so much about the new library he found to implement some of that. He can’t understand why his co-workers are being so territorial. “I don’t get it,” he says, “why would we waste all this time tearing down my changes? I’ve already fixed the problem! Let’s move on to the next bug!”

          I, for one, am not worried about Luis burning out. I’m worried about his co-workers.

          1. 2

            I worked at a company where the CEO (and founder) would log on and do changes to production on Sunday afternoon, but without going via dev/staging so systems broke hard on the first regular deployment the following week…

          2. 8

            I agree with the OP. Most of us sell our time for money. Ideally we’re selling about 40 hours a week in return for X salary. However many companies find ways to “encourage” people to get 60-80 hours a week of work in return for X salary. Not only does this give poor results in terms of quality and productivity, but it effectively puts a pretty strong downward pressure on salary and upward pressure on hours worked per week.

            Commenters aren’t afraid of looking bad. They are here representing the interests of working programmers rather than the interests of employers.

            Also. I didn’t see a mention of age in the op. Probably not appropriate to bring that into the conversation. I know plenty of older programmers who burn the midnight oil (on billable hours).

            1. 17

              Also. I didn’t see a mention of age in the op. Probably not appropriate to bring that into the conversation.

              I wouldn’t discount that just yet. I think age intersects importantly here.

              Now, consider: the median age of a Google employee is 29. Is it any surprise that the Googolplex features three free meals at their cafeteria, on site haircuts, on site healthcare… literally any possible perk they can to throw at you? Including some targeted towards younger employees? Shouldn’t be: it’s in Google’s best interest to hire young programmers and keep them at work.

              This is also the reason companies that advertise “we hire based on your Github!” are actually saying “we hire based on your lack of external commitments.”

              Ageism in tech is a massive problem. I picked Google because they call their older employees “Greyglers” on their own damn diversity webpage! At one point they had a featured ‘Greygler’ who was 46. Google considers you “old and grey” at fucking 46.

              1. 1

                Meanwhile, at BMW:

                In 2007, the luxury automaker set up an experimental assembly line with older employees to see whether they could keep pace. The production line in Dingolfing, 50 miles northeast of BMW’s Munich base, features hoists to spare aging backs, adjustable-height work benches, and wooden floors instead of rubber to help hips swivel during repetitive tasks.

                The verdict: Not only could they keep up, the older workers did a better job than younger staffers on another line at the same factory. Today, many of the changes are being implemented at plants across the company.

                Via Bloomberg news.

            2. 3

              Agreed. This post seems to assume a lot about Luis' motivation and what causes burn out.

              Firstly, being interested in a problem and wanting an answer doesn’t mean you’ve fallen victim to the sunk cost fallacy. Sometimes you’re just interested. I don’t usually work extra hours myself, but once in a while, I get to work on a cool problem and my brain just wants more. Similarly for tricky bugs. Why deny it? It’s no biggie.

              As for burn out… I’ve experienced burn out and I’ve also sustained a pace that involves writing a lot of code for a long time without getting burn out. For me, the conditions that lead to burn out are extreme overwork on something that I don’t want to be doing. It just so happens that I really like building software, so it consumes a lot of my time, and there’s no risk of burnout because it’s something I want to do.

              1. 4

                I imagine the OP is looking back on experience and trying to do Luis a favor. But then, we all need to get our first speeding ticket sometime.

                1. [Comment removed by author]

                  1. 29

                    Interesting dichotomy you’ve set up: a programmer is either a passionate problem solver with desire and who gets to do difficult (interesting) things, or a paycheck-seeking brogrammer that does menial tasks.

                    That’s bullshit and I hope you truly don’t believe it. But I wouldn’t be surprised if you and others do. Employers desperately want to define programmers that way so we all want to be “passionate problem solvers with ability and desire” so we all never stop working so they get 60+ hours when they pay us for 40.

                    You’re right to note that knowledge workers often don’t switch off. Who here hasn’t solved a tricky problem in the shower? Who hasn’t SSHed out to try a few things for a few minutes after dinner? That’s not a problem per se; the issue is that many - perhaps most - companies don’t offer you compensation for that time, either financially or in kind.

                    Do you think Luis came in to work on Monday morning triumphantly having solved the problem and his boss said “hey, great job - now go home and enjoy the day, you earned it!”

                    Me? I bet he got sucked straight into a sprint planning meeting.

                    1. 7

                      I think there is room for some middle ground here. Having lived the entire spread of this spectrum and having survived burnout from both self infliction and my employer, I’ll say that there is always balance. There are companies that expect the unwritten-but-implied 60 hour work week and being paid for 40. Those places usually look for younger folks who do not have children, and LOVE their work. They go to the bar to talk about their world views on languages, or how they fought tooth and nail to solve a problem. Then there are people who shut off their computer at 5 and leave for the day. But the more average thing is people who do both. Most of the time, I put in a solid 40 hours a week. I love writing code, I love solving problems, and I love getting a new product to market. Most of the time my work does not ask me to stay late, and most of the time I’m happy enough to leave at 5. This is healthy, this keeps me from burning out (which is wildly destructive on your physical and metal health… both of which are hard to bounce back from) However, when there is something I’m really moving on, I will put in a few minutes at home to figure something out! Sometimes the solution to a bug comes to you at a strange time, so you login and check it out to test your theory.

                      I neither think it fair that I spend my time at work solving my personal technological issues or otherwise, or spend my nights and weekends away from my children, but when there is something that needs done, you do it.

                      One other part to this is that a lot of work environments do not lend themselves to creative thinking. This is why we often solve issues and figure things out at home, or while driving or in the shower. Those times are when our mind starts to be creative and is able to figure out complex problems. Often the office environment is setup for remedial tasks of repetition. Cheers!

                      1. 4

                        I neither think it fair that I spend my time at work solving my personal technological issues or otherwise, or spend my nights and weekends away from my children, but when there is something that needs done, you do it.

                        I’d agree with this - with the provision that the balance is struck properly.

                        Take being on call. Does my wife like it when the pager starts beeping at 3:00 AM? No, and I sure don’t either - but I’m not expected to drive in to work at 9 after spending hours fighting fires. That’s an appropriate response: it’s recognized that I’m doing needed work, but it’s during “my time” so I’m rewarded accordingly by my company.

                        You do touch on an interesting point when you discuss spending time at work scratching your own itch. I think most companies expect a certain amount of wasted time during the day from employees, just as employees expect to give a certain amount of unpaid time back to their employer. I guess it’s again about striking the right balance.

                        I think the fundamental problem that no one has solved is that ideas that apply very well to assembly lines don’t generalize outward. If software was like making Model T’s, we’d get paid by how much we type.

                        One other part to this is that a lot of work environments do not lend themselves to creative thinking.

                        Preach!

                        1. 1

                          I think most companies expect a certain amount of wasted time during the day from employee

                          Probably in programming, but I I think we are very privileged. I spoke to a chap who when he first started at Barclays was chained to a desk (by a headset: he was doing cold calls) and had to press a button to go to the toilet!

                      2. [Comment removed by author]

                        1. 5

                          But if I’m on a tough problem at work I end up thinking about it a lot, because that’s what I do. If someone else doesn’t want me to think about it then that’s the real bullshit.

                          You sound like a person that has struck a work/life balance that’s healthy for you. That’s good! I wish more people were able to make that happen.

                          I think the point of this article shouldn’t be seen as “Matthew Jones says Luis shouldn’t think about work outside work!” - that’s not a charitable reading, I don’t think. I see it as “Matthew Jones is trying to help a junior programmer still wet behind the ears avoid an exploitative practice that is levied against junior programmers by unscrupulous companies.”

                          The main thrust of the article seems to me that we should set up an environment where the cultural norms push employees and employers towards a good balance. And that’s what the author seems to be trying to convey and establish.

                          But maybe I’m answering a question the author doesn’t ask.

                          And, btw, I don’t really care that much how employers try to define programmers.

                          You should, IMO. The world we work in has been shaped by the struggle between employer and employee.

                          1. 4

                            see it as “Matthew Jones is trying to help a junior programmer still wet behind the ears avoid an exploitative practice that is levied against junior programmers by unscrupulous companies.”

                            Not a criticism of what you said, but most of us learned this the hard way. Advice, even really sound great advice is far more effective and often only effective once you’ve learned it on your own. It should be someone’s choice to work outside of work or not work outside of work. When you’re along that certain stepping stone in your path you shouldn’t have some well meaning peer/manager/mentor take that away from you. They may well know the answer, that doesn’t mean they shouldn’t let you figure it out first hand. It isn’t his place to cultivate those decisions, or inhibit those desires. What consequence does it have if he stunts the growth of those tech habits during those young and vibrant years? :)

                            1. 3

                              I agree with your perspective on what we should all try to do. I do feel that the author had no business telling his coworker to work less, but perhaps I’m seeing different things in the story than you are. But work-life balance is a really important thing, and needs to be something all levels of a company really believe in if it’s going to happen.

                    1. 5

                      For the curious, “since” keeps its state in a dedicated file, one of:

                      • $SINCE
                      • $HOME/.since
                      • /tmp/since

                      I think it’d be just a tiny bit cooler if instead it stored the access information in the extended attributes of each file (for file systems that supported it).

                      1. 5

                        That would have issues with read-only files (given your permissions, multi-user systems where multiple people might use since, and it would take up some disk space here and there that you can’t readily free up at once.

                        I do wish more things would use extended attributes though.