Expecting programmers to problem solve for 8 hours is stupid
123 points| sake | 6 years ago
As I've experienced trying to keep up this 8 hour work, I've come to realize that sticking to this old assembly line convention makes absolutely no sense for our field of work. On a good day I can work even 12h+, but usually my limit is somewhere around 4 and ½ hours. And after six hours I'm just burning myself out trying to force myself to focus. At 8 hours I can feel physical pain and it will take me whole evening to recover when I get off the clock.
It's silly how many companies are still sticking to this old rule. Nobody wins when employees are wasting their time being inefficient. If the 8 hours workday is actually enforced, employees will just come up with coping mechanisms against the stress the overly stretched workday is causing them and they will end up loosing motivation.
Conservative improvement would be working 6h * 5 + 4h on Saturday (remotely), which would make employees more efficient, mentally healthy and that's 6 hours less work time per week.
AnimalMuppet|6 years ago
davidjnelson|6 years ago
These days I do it for 8 hours or so, and not on weekends, other than weekend / weeknight research. This is remotely though, so it’s easy to get in the flow state.
In an office, forget about it. Those days are about team building, relationships and planning. I don’t expect to get much coding done on those days.
But if you’re tired, definitely take a break. If you can truly achieve a flow state 8 hours passes in what feels like 10 minutes. It’s such a cool and strange phenomenon.
But for it to work you have to be intentional. Mute slack, close email. Batch those at the end of the day if possible.
Nothing like the feeling of being super productive and getting tons of high quality, high leverage work done from the flow state.
I’m lucky in that my manager is very smart and “gets it”, because he’s been there too.
bungie4|6 years ago
My supervisors understand that some days I'm not going touch code, instead I'll spend my time on education by keeping up with new tech, or, writing docs.. anything but talk with other co-workers distracting them
reggieband|6 years ago
For example:
- document systems
- write tests
- improve automation (build systems, helper scripts, etc.)
- clean your desk
- talk to a coworker
- read / watch material online related to your work
- go for a quick brisk walk
- any activity to further a long-term career plan
I know that feeling of short-term daily burnout. It is often I get to 4:30pm and I feel my concentration lagging. The trick is to give yourself permission to set aside the work you are doing. You can do this by finding some other activity that is useful other than facebook/reddit.
As an engineering manager I use that time to shift focus from short term (e.g. a feature I am implementing) to long term (what kind of stuff do I want the team to focus on within the next 6 months).
im_down_w_otp|6 years ago
I'm not sure I understand how doing those things would ease mental fatigue? Perhaps by at least breaking up the monotony?
alexeiz|6 years ago
This is what I do. And it works wonders. Sitting the whole day in front of a computer can literally fry your brain. But I take a quick walk, and it resets. I start seeing things clearly. New ideas come to mind. If my coworkers see me they probably think I'm slacking off. But the fact is, it's often the most productive time of the day.
6gvONxR4sf7o|6 years ago
What's weird is that this dynamic affects workplaces too. If you are in an org that actually lets people work great flexible hours you won't advertise it too much, for fear of attracting workers whose primary goal is to slack, or getting a reputation an org of slackers. And if you're a job hunter who cares about this, you can't really dig in to asking about the hours everyone is expected to work for fear of being perceived as a slacker.
Nobody can be open about it (orgs or teammates or applicants) and thus the problem persists.
davidjnelson|6 years ago
Data_Junkie|6 years ago
Viliam1234|6 years ago
This reminds me of: https://slatestarcodex.com/2017/05/01/neutral-vs-conservativ...
> The moral of the story is: if you’re against witch-hunts, and you promise to found your own little utopian community where witch-hunts will never happen, your new society will end up consisting of approximately three principled civil libertarians and seven zillion witches. It will be a terrible place to live even if witch-hunts are genuinely wrong.
The common idea is that if there is a norm that everyone follows, and you visibly deviate from the norm in some direction, it will disproportionately attract people who extremely care about that direction, even if you only wanted a minor change.
The difference between working 8 hours a day and working e.g. 7 hours a day is not that dramatic, but if all jobs require 8 hours and you are the only job who requires 7 hours, then all people who want to work as little as possible will run to you, because you are the best option available for them. But you didn't want the people who want to work as little as possible; you wanted people who think that 7 hours is appropriate. People who believe that 7 hours a day are best would have been happy at your company, but instead you will be full of people who would actually prefer to work 4 or 2 hours a day, and while your offer is better than the alternative, they will still be unhappy. So instead of getting happier employees, you will actually get less happy ones.
If instead the job market offered the full spectrum: jobs with 8 hours a day, jobs with 7 hours a day, jobs with 6 hours a day... and perhaps even jobs with 1 hour a day (with proportionally smaller salaries, I suppose), then offering a position that requires 7 hours a day would attract exactly the people who prefer to work 7 hours a day, no more, no less. Unfortunately, this is not the current situation.
And I have no idea how to get from "here" to "there". The incentives seem set up so that anyone who moves away from the current equilibrium gets punished. (And in a parallel universe, where the norm is 9 hours, or 7 hours, anyone who moves away from that equilibrium gets punished.)
Also, if people pretend to work 8 hours a day, but they actually work 6 (and spend 2 hours watching cat videos), then if you say you want to work 6 hours a day, people will assume it means 4 hours of work and 2 hours of cat videos. Why shouldn't they assume you are just as hypocritical as anyone else?
0xd171|6 years ago
guitarbill|6 years ago
From my experience, policies of being in the office for <x> hours significantly reduces productivity, as people spend more time trying to fill their days instead of doing the work.
Regardless, it's patronising to effectively treat highly paid professionals like children with dumb, simplistic rules, and morale will also suffer appropriately.
HissingMachine|6 years ago
Now this is my first time as a project manager, but I have set things up the way I would want to work, and I have had positive feedback from my team and management. So I'm pretty pleased with how things are going, YMMV depending on how everything is set up so don't take this as an advice.
sleepysysadmin|6 years ago
If you got your work completed quicker so that you could hit the washroom or go for lunch, you were rewarded with more work.
Furthermore, I was on-call 24x7 and near daily would be called for help afterhours. This wasn't smb stuff exclusively. This was federal governments, hospitals, prisons, fortune 100s. All of which who have fees for downtime around $10,000-15,000/hour.
During my performance review, I got chewed out for have >40 lates. I called bullshit on this. My boss pulled up our time accounting system and turns out all except 1 were weekends. I worked at least 1 day out of >40 weekends in the previous year and I was being chewed out for it... seriously.
Then there was workplace politics; 2 other techs had been fighting for years prior to me even being hired. I had to regularly work with 1 of the techs and when he would rant about the other tech I'd just node and ignore the whole thing.
For whatever reason, the other guy took it as if i was on that guy's team and he started harassing me. I basically ignored it; took about a year before it escalated. This guy came after me with everything. He'd take shit out of my office. He'd bad mouth me to my clients. I collected a list of wtf is going on.
Final straw, I had configured 2x ASA5506 for a remote location in Texas. Both firewalls were accessible on the network. He told the MSP owners that my configuration of the ASAs were so bad they needed to shutdown the facility and ship these ASAs back to Canada for him to redo. Mind you, this is my client not his and this is probably in around 200th pair of ASAs I've configured and these were configured identical to 4 other locations which are up and running.
So I send long email detailing the harassment by this guy toward me.
The next day I was fired.
Point of the story, things can be worse. Pull up your socks!
BuckRogers|6 years ago
I’ve lived a lot of the same stories. Although yours may be the worst I’ve ever heard, simply because I’ve never been fired. But bits and pieces of your story are in just about every job I’ve had.
I’m no longer confused as to why a lot of people simply don’t want to work anymore. Getting enough money and quitting, starting a menial business, or getting on government assistance makes a lot more sense than your story.
Tyler-Durden|6 years ago
To me it doesn't sound like it could be much worse than what you described
prepend|6 years ago
But maybe the easiest would be to start your one person contracting company with either a high hourly rate that you can sell to clients who understand your productivity. Or you can bill by job and have clients not care about hours worked. This would let you work whatever you want.
I think the most common config I’ve seen for programmers is to work in 8x5 jobs that only require an hour or two of literal programming. And if lucky, have flexibility within that period to maybe have a few bursts of deep work and then slack time.
patatino|6 years ago
- no open office
- no meetings in the morning
- no phones in the morning
- no slack/whatever in the morning
Try to create a window for devs where they can do some deep work for 3-4 hours. It doesn't have to be in the morning, whatever works the best for each developer.
mindcrash|6 years ago
Anyone up the chain expecting you to work 8 hours 100% productively is completely unrealistic and IMO provide a good reason to find job happiness somewhere else.
Best regards,
A product architect who doesn't treat his devs as robots
sebazzz|6 years ago
hirundo|6 years ago
musicale|6 years ago
Moreover, forcing yourself to "work" when you are tired or simply done for the day also tends to create negative returns.
If your work requires sustained concentration, a typical office environment full of people (especially supervisors) and continuous interruptions from noise and other distractions is not the place to do it.
remilouf|6 years ago
I don’t think this schedule would work for everyone but the general idea was: intense work for a short periods of time, take some time to talk with colleagues and go through meetings and then work again, with long breaks in between. That way I could manage 8 hours of productivity without burning out. And yes, sometimes I would get in flow and work for 12 hours straight without eating. But those days were more the exception than the rule. The point is I could have roughly 8 hours most days working this way.
In companies I’ve worked with I’ve always felt babysitted, as though I was unable to discipline myself when not watched all the time by managers. The truth is we don’t all work in the same way, and we are all reasonably interested in our job—-and if we’re not, sitting all day in the office is not going to change that. So why don’t we make room for everyone’s pattern while keeping some team time every day?
AlexanderNull|6 years ago
We also fought hard at work over the course of a year or two with management to change up how we account team capacity. It's now a max of 6h expected work per day on project work. There's simply not enough time for working any more in addition to all the various random emails, slack notifications, restroom breaks, and general cubicle chatter that's part of regular office work.
username90|6 years ago
Or from another angle, a person who voluntarily works 45 hour weeks likely spends most of his productive hours at the office. A person who do 35 hour weeks likely spends most of his productive hours at home. A person who is forced to work 80 hour weeks will definitely spend most of his productive hours at the office since he has no time left for anything else. It might hurt his overall productivity, but it at least guarantees that the company gets his all.
cm2012|6 years ago
onlyrealcuzzo|6 years ago
1) you lose out on the people that can and do work 8 hours. 2) the people that only work a percentage of the 8 hours are only going to work a percentage of the 6 hours, and you'll lose out there as well.
Sure, you might say, we should just work less hours and hire more people. With 3.7% unemployment, that's easier said than done.
SkyPuncher|6 years ago
I'm pretty sure I was within 10% of my full-time productivity. If I wasn't being productive, I simply went and did something else for a bit.
SergeAx|6 years ago
This is not a fugure of speech, this is how creative mind works. When software engineer is banging crap out of the keyboard - it is not a problem solving, it is writing down a solution.
Before writing first line of code an engineer should have the whole structure imagined as a draft and a particular module/section - as clear and real as if we can touch it.
Now, working hours is a matter of comminucation. The time when the software was written by individuals is over, today's business-valued software is written by teams. To be a team, group of people should communicate. Most effective type of communication is face to face, next best thing is videoconferencing and it is about 3 times worse in terms of information shared and remembered. It's a pity, but it is fact. So team of software engineers should meet face to face a lot, and this is why we are working in offices, have some mandatory hours (like 11 to 17), and have so many meeting rooms here :)
The last, but not least question is discipline. I've met people who can churn out problems' solutions at a constant rate regardless place, daytime and even climate and timezone. Those are rare brilliants. Most people left to themseves would beclome less productive, it is another sad fact. Office hours and teammates is a best known work motivation to date, order of magnitude better than hefty salary, stock options and money/stock-bound KPIs.
Now to you, if you don't mind. Thru my career I've met about dosen of engineers who asked for more relaxed hours and/or (part-time) remote. It never worked out as a productive boost, just more pain for me to control and motivate those lads. Most of the time they were just plain tired and/or unhappy, but thought it was something about they commute routine or office aura. It was always symptom, not a cause.
I believe you are just tired and/or unhappy too. We are living in times when being a skilled software engineer means ability to choose company, product, location and team to be bouncy sparkling ball of ideas every morning. If you are not this ball, ask yourself - why?
nao360|6 years ago
I'd wager that your _good days_ are often preceded by a good night's sleep, if not good eating habits and exercise. For over a decade I believed that I couldn't muster more than about 4 hours of focused, creative productivity in any given day. I'd try to plan all of the most demanding work in the first hours of the day, knowing that after lunch I would lose most of my motivation and focus. I was overweight, malnourished, and prone to all kinds of mental disorders (depression, anxiety, anger). At some point I finally had enough, and started on a journey that has brought me to the happiest, most productive years of my life.
Get good sleep every single day -- everybody's a bit different in this regard, but there's tons of information out there on how you can achieve this.
Eat well -- again, everybody's a bit different, but for me this involves a low carb, high protein diet and intermittent fasting (no breakfast, and eat lunch and dinner within a 6 hour window). No junk food, soft drinks, sweets, etc. I find the trend among scrum masters bringing snacks, treats, cakes, etc., to meetings (planning, refinement, retros, etc.,) totally counter-productive!
Get some exercise -- if the local gym or sports club isn't for you, get some kettle bells, or walk or cycle to work, etc. You don't have to run 5k every day (or ever!), but you do need some robust exercise on a regular basis, even if it's 5 minutes with a pair of kettle bells, particularly if most of your days are spent glued to a desk.
I would say address these issues first (if they apply to you), and then revisit your view on whether 8 hours of problem solving is feasible on a daily basis.
danny_taco|6 years ago
codingdave|6 years ago
That being said, if you are working yourself to exhaustion and burnout within those 8 hours, to the point of chronic pain... that is something wrong the way you are managing you work, your time, and your stressors. Many comments already in this thread are terrific in the details of this, and how you can adjust. But this also sounds like a medical issue. I'd get yourself to a doctor, and get some bloodwork done. You may have something as simple as vitamin deficiencies (probably due to how hard you are pushing yourself), so identifying them, adjusting your diet, and taking some supplements could help you. Go take care of yourself, and work will fall into place.
rossdavidh|6 years ago
What I have learned to do is to keep a list of these kinds of things, that have to be done "soon" but not immediately. When I get to the part of the day where my coding brain is getting weak, I switch over to that list. Sometimes for the rest of the day, but often just for half an hour or so until I am refreshed. Mostly, if you self-monitor, and have a ready list so you don't find your brain blanks out when it's time to think of a non-coding task that needs doing, you can balance coding and non-coding as needed throughout the day.
unknown|6 years ago
[deleted]
dangrossman|6 years ago
Did some textbook publisher take "losing" out of all their spelling books 15 years ago? I see it misspelled more often than spelled correctly these days.
dragonwriter|6 years ago
I blame the emphasis on phonics over memorization, since “losing” has the “o” pronounced in a way more typical of “oo” and phonetically differs from “loosing” only in having a hard rather than soft “s”.
gerikson|6 years ago
I can sort of understand why people confuse 'lose' and 'loose' due to incorrect spellchecking, but 'loosing' isn't even correct English.
neuroticfish|6 years ago
No thanks. I'll take my 8h * 5 and two entire days off. I agree that expecting 8 hours of productivity a day is silly but I think it's even sillier to expect me to have only one contiguous 24 hour period away from work per week and not experience burnout. Ideally the employer should set product quality standards and let us determine how to apply our weekly productivity in order to meet schedule.
boyadjian|6 years ago
vpEfljFL|6 years ago
Nothing pushing govs to lower the working time, so deal with it. For me writing code more than 4-5h in a day is considered as a success today but when I have meetings it becomes a hard goal to achieve.
pcunite|6 years ago
https://en.wikipedia.org/wiki/Boreout
ineedasername|6 years ago
zzzcpan|6 years ago
I don't think I ever encountered programmers working 8 hours per day 5 days a week. Even 6 hours per day is too draining, only young people can do it. Sustainable productive programming work is like 15-20 hours per week tops without strict bounds on how much you can do in a day.
sake|6 years ago
If you can work 8 hours straight with only a lunch break, I don't think you are doing very mentally intensive work.
CawCawCaw|6 years ago
w_t_payne|6 years ago
QuickToBan|6 years ago
Viliam1234|6 years ago
It is not linear, unfortunately. For working only 34 hours, expect to get maybe 50% of your 40-hours market salary, if you are lucky. Because by standing out from the crowd, you are sending a signal that you are "somehow weird", and that is not a good signal to send.
As long as there are other people willing to work 40 hours a day, most companies won't bother making an exception for someone. Why hire a "weird" person, if there are non-weird alternatives available?
kidsthesedays1|6 years ago
[deleted]
BurningFrog|6 years ago
If it does, it's probably because your code base is an unstructured mess that can't be worked on without superhuman effort.
Many programmers have never spent time in a well factored code base and don't know how to write one, so this might just sound strange to them.
SketchySeaBeast|6 years ago