Ask Slashdot: Does Your Work Schedule Make You Unproductive?
debingjos writes "Management at my company seems to think that our developers can get extra work done if they work extra long days. However, as one of the devs in question, I don't agree. When I've been coding for eight hours, my pool of concentration is exhausted. Working overtime either fails to produce any extra code, or the quality of the code is very bad. What is the community's opinion on this? This can be broken out further into several questions: What are the maximum number of hours you can work in a day/week and still be reasonably productive? When you absolutely must work beyond that limit, what steps do you take to minimize degradation of quality? If you're able to structure your time differently from the typical 9-5 schedule, what method works best for you? Finally, how do you communicate the quality problems to management?"
"Does Your Work Schedule Make You Unproductive?" - no but Slashdot and TheChive sure do
You will never change them. Find a company that allows flex hours and doesn't manage by putting out fires with more fires. They are out there.
I thought it was the thought of work that made one unproductive...
Now that's just me, but taking a break and stepping back makes a huge boost to my productivity. I also code best late at night because I'm not distracted or disturbed and can get into something without worrying about a schedule. I can do several days of 10-12 hours if needed but not more than that before work quality suffers.
You are lucky to get 8h of concentration. With lunch, pauses and interruptions, I am happy if I can get 5h or 6h of total code time. After ? brain... off...
In fact, I find that after the distractions of the office are gone, either because I am working at home or everybody has gone home, I can get a lot more done.
Dog is my co-pilot.
Ever give a thought to a compressed work week of 4x10-hours instead of 5x8-hours? You could also try 3.5x12-hours (3x12 one week, 4x12 the next week) but that kind of schedule works better when you need 24/7 coverage.
When you crank out 100+h/week, you should probably ask yourself question about your life (or lack of thereof)...
Solving problems is like marinating meat. It takes time. If you rush it, you get a quick solution, but not the best. A quick solution might be acceptable for one meal, but not for future meals.
The "Eureka effect" isn't something new.
In creative endeavours like coding, an 8-hour day of actual work is never, ever 8 hours of successful coding, and often results in questionable code that I have to rewrite later because looking busy when you really need a bit of time away from the desk. I think that if I could get away from the desk more without being perceived as slacking off, I would actually get more done.
Get up, take a walk around the block, play a little guitar, or whatever suits your fancy. As long as it gets your mind off the present obstacle. Come back with a fresh perspective and a fresh mind.
It certainly does worlds of good for my own free-time projects, but at work? It seems more like people believe they are paying for time, and not for actual work done.
In SOVIET RUSSIA... erm...NSA AMERICA, the Internet logs onto YOU!
I recommend a 4 hour work day with same pay as the standard 80 hour work week.
No i sort of jest. You have to figure a few things. Management isn't rated on how well the code is written or how productive the people they're managing are... well in the most cases where you have the upper management who are brain dead. What instead is how much they can push their employees to make them look like effective managers.
Let me give you a basic example. If i work 8 hours a day, and the work i have assigned will take 3 weeks but i only have 1 week to do it in, a good manager will convince you to work twice as fast but not meet the deadline and then complain that they don't have enough resources. A bad manager will say it can't be done to upper management. Guess who is rewarded? The guy who puts on the dog and pony show for the upper management showing they can rally the troops in doing extra whether or not they met their goal.
So back to the point. It doesn't matter how effective you are. It matters how much they can squeeze out of you. Change that mindset and you've won. Good luck though, i doubt you'll change anyone's mind.
By "distraction" do you mean 3 group of people having right now conversation around me ? I hate openspaces...
For me, it depends on the context of what I'm doing.
If I am doing something very complex, with many pieces that I have to keep in my head at once, I am much more productive if I stay with it and work late, even through the night.
But if I am doing mundane bs stuff, one hour is too long before I start becoming unproductive.
I have found multiple days of late hours will fry me if I do too many back to back. I need a night off somewhere in there or I wind up sitting in my chair just staring and doing nothing.
Politicians complicate life - logic is sacrificed on the altar of political expediency.
As a developer, once I'm in the 'zone' I can code until I'm practically asleep... Although if I was forced to code for X hours, I couldn't say if I could 'enter' that zone or not - my guess is I wouldn't considering I would probably be thinking more about how pissed I was.
I have found that I really only have a few good hours of high productivity (not a programmer now, but applies just the same to other work). This is usually in the morning and I find I can get a lot done if I don't have meetings and interruptions. The rest of the day I just schedule low engagement tasks.
I don't read your sig. Why are you reading mine?
If I had to work in a cube, someone would die.
I am productive in "sessions", usually lasting about 1.5-2.5 hours. I usually have two sessions a day (morning, afternoon). The remaining time I browse the web (hello, Slashdot!), or go to meetings (does that count as "productive"?). I could easily produce the same amount of quality working 5 hour days, instead of 8 hour days. After 6 hours, I'm pretty much useless, other than answering silly questions.
On top of that, I am more productive than entire departments (because I automate those departments!). I saw a graph recently of American productivity versus actual wages. It was quite depressing (for me), though I bet the CEOs were very happy to see it.
6 hours max per 24...
“He’s not deformed, he’s just drunk!”
Each day varies, but on a consistent day to day effort, I found code quality dramatically dropped at the 6 1/2 hour mark for the day, I'd literally chat with developers working long hours and found the same answer. They spent their next day cleaning up the mess they created the night before.
If you are mandated to work long hours, know your most productive coding hours and use them. Then use the other time for menial stuff, code check-in, documentation, etc.
Often having a couple of hours away from work, if you are allowed to work from home, can allow you to recharge for another couple of hours. So, leave normal hour, have dinner and relax, then remote in and continue to work until an hour before you plan to go to bed.
Strategy and management thinking is at a different cognitive level that tracking variables and solving equations (programming). If they've not lived the heads down coding life, they will not understand it. I've seen management level work go a good ten hours functioning, but again at some point, people start making mistakes.
I can program/develop for about 6 hours a day effectively the other 2 hours at work I use for emails meetings etc... I had at one time attempted 4 10 work days a week I found that often the last 2 hours I would either make a lot of mistakes or be unable to find solutions to an issue that I would find instantly when I got to work in the morning.
On the flip side although I am not at work I never actually stop working, I will even wake up out of a dead sleep and realize I have coded something wrong and have the correct way in my head for implementation in the morning.
When you can't do in 100+ hours / week what I can accomplish in 30, you're probably too young for the job. Step aside and let someone with some experience and perspective do the job that you obviously can't. Development productivity cannot be measured in hours, nor in lines of code.
I one took a job for a company developing a Futures Trading system, and they pushed us hard (at least 12 hours a day, 6-7 days a week) in order to meet their imposed deadline.
We finally got the system to pass the entire test suite on a Sunday afternoon.
Monday morning, when I arrived at work, the outer office was full of boxes containing all of the personal belongings of the developers, along with the CFO, who was handing out pink slips.
Amazingly, they actually issued a press release boasting of how they had gotten rid of all of their expensive software developers since they were "done" with software development.
In 3 months, they were out of business.
Hope you fare better!
It's pretty pointless trying to be creative even after 6hrs...add 4 to 6 additional hrs on top of that and you're pretty useless and not much value for money.
Menial work perhaps...but if the company's future is at stake...which it eventually will be, one would want engineers, programmers and other creative staff at their peak performance. You're bloody useless if you work 50hrs+ weeks...
All work and no play makes Jack a dull boy....
Any company that measures progress by how many hours your ass is in the chair is not a company worth working for. It's a sign management is not only incapable of measuring real productivity but that they are also indifferent to your well being.
It's not the same thing but I work from home a couple days a week and it's great. I save a couple hours/week on the commute and get to spend some time working in a way that's best for me. And if after lunch I'm tired.. I go hit the couch for 20 mins of shut-eye. Wake up refreshed, far more productive, and in a better mood for when the kids and wife get home. WINNING.
I can work about 30 minutes on really boring stuff before I want to start sabotaging the work so no one is ever tempted to try to get me to do that kind of work ever again, and I can work like 16 hours a day on something if I find it really interesting.
For my current job I am obligated to work 9 hours a day, and that seems pretty doable most of the time. I do however get a disproportionate amount of interesting work compared with other developers though.
I find 12 hour days 7 days a week are okay for a while. After about 6 weeks you start to burn out and need to get some down time. I used to work 20 hours a day for weeks at a time back in my 20's and 30's. Now that I'm 50 I can't pull that kind of schedule. It's kind of like you work, eat and sleep and nothing else. Life turns into a fog.
Eat your hearts out.
I'm recently retired and loving it.
I'm currently building a kayak rack in my back yard without any deadlines.
Sometimes I just put down the tools and paddle off to check my crab pots.
At the start of every day I sit on my patio overlooking the water, drink my coffee and decide what (if anything) I will do for the rest of the day.
I wish I could have retired 40 years ago.
So long and thanks for the fish.
I'd say in a given week I probably only do about fifteen minutes of real, actual, work.
Chuuch. Preach. Tabernacle.
I much prefer to work from home, provided I have a dedicated work area/machines.
One problem that IT folks often come across, especially with development jobs and especially at startups, is the expectation that long hours produce better results. Large companies also do this -- Google, Microsoft, etc. have on-site everything as a perk for employees, but also to keep them there for the maximum possible time. This works very well when you're just out of college -- you're used to working long hours to finish stuff, the dorm-like atmosphere is inviting, etc. But it really gets old when you're older, more established and have things outside of work like a marriage, family, etc.
Also, employers hate to add staff in IT roles because most of them see the entire function as a necessary evil. If you're in one of these places, you'll never get free of being called to fix stuff out of hours and working like crazy to put out fires. On top of that, many see themselves as "great places to work" and don't think that their workers feel any of this pain.
The one common myth throughout IT employment is that every place is like this. It isn't -- I happen to work for a place that allows flexible hours. And although we're lean in the staffing department and often have to work *a little* extra time, the workload isn't crushing. There are trade-offs, and people who work here know them. Pay isn't at the top of the range, the stuff we work on is typically not cutting edge (but not ancient either,) and the work our department does (systems integration) is very difficult if you don't have the right attitude/mindset/troubleshooting brain. In addition, those flexible hours get cashed in for marathon work sessions on very rare occasions. My company basically says "keep sane hours, make sure you're around for meetings, and we reserve the right to fly you halfway across the world if a disaster happens." I could get a job working myself to death for an investment bank or video game company, but I have a family at home now.
Seriously, not everywhere has a toxic culture. And yes, I'm aware that there are a lot of people who love working insane hours and have very little to do outside of work. That's why different companies have different work styles.
If you're in a cube, someone will die.
Get free satoshi (Bitcoin) and Dogecoins
Any management system that is dictating software development labor via an hour metric doesn't get it at all. You work to achieve an objective. Objectives are to be met on a schedule. Schedule is arrived at by monetary and customer specifications. Therefore the hours you work are inconsequential so long as you achieve the objectives on schedule. Prescribing hours (especially overtime) is non productive micro managing. Some people acheive in an hour what others take all day.
If I can meet objectives working 10 hours a week and slashdotting the other 30, then so be it. You are paying me for my contribution, not how many hours I sit at my desk.
Now if you have people failing to meet objectives or schedules, that is an entirely different thing to be dealt with in a variety of ways.
Entirely dependent on the project. If I was intensely interested, I could work much longer.
There is no 'absolutely must'. If you have a limit, it's a limit. It's unhealthy to push past that, people have died.
Four long days followed by three off.
Walk up, say "Hey....
Management at my company seems to think that our developers can get extra work done if they work extra long days.
Your management's "thinking" is nothing new.
*shrug*
What you're really asking is how to deal with your management.
So here, check out Death March by Yourdon.
This will answer all your questions (as well as things you didn't think to ask), with more wisdom and insight than you're likely to find via "Ask Slashdot."
It will also give you some perspective to make informed decisions about your options.
The reviews on Amazon will tell you if this is a book for you.
In a perfect world managers would just tell their employees
Your job description and duties are those that an average person of your skills can do with a 40-hour workweek. You can set your own schedule and work as little or as much as you need to, just get the job done and be available for meetings on short notice during "core business hours." If you get bored, let me know, there is always more work to do.
There is no such thing as a perfect world.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
Pointless telephone calls and stupid 'do you have a minute' conversations waste about half of my day.
I'm with you on working outside office hours and ideally outside the office.
Noise canceling headphones work as long as you don't mind having to listen to music all your working day.
Sadly they don't stop people from talking to you.
Unfortunately, management is a largely evidence-free space. Research on all your questions, and a thousand more, exists. 99% of managers don't seem to know anything about management nor people. Not in the way anyone else knows anything about their profession. That's largely because few people actually study management, most are something else by profession and were promoted to management positions, and if you're lucky they got two weeks of training.
Your case is typical. Managers don't know about how people work, so they try to manage them like any other resource. But, as the excellent little book "Peopleware" put it: "Adding manpower to a late project makes it later."
If you want to have a good job - leave. A company with that kind of management is unlikely to change.
If you can't or don't want to, buy your manager that book, or some other. Send it to his private address, anonymously. You don't want to embarass him. He most likely knows that he needs help, but he would never admit it.
Assorted stuff I do sometimes: Lemuria.org
When you can't crank out 100+ hours/week at max capacity, you're too old for the job. Step aside and let us younger and more capable guys show you how it's done.
If you have to crank out 100+ hours a week on a regular basis you can't do your job.
This is a well-researched topic with hard data available. And it's pretty unambiguously and consistently the case that the hard data show that working extra hours results, not just in lower productivity per hour, but lower productivity overall. Which is why people who start pushing for extra hours can't seem to catch up -- they're making it worse rather than better.
Your managers are trying to find out just how much gasoline they have to pour on this fire to put it out, and I don't think you can reasonably expect them to get smarter.
My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
Those developers in Bangalore must have it made!
Someone flopped a steamer in the gene pool.
Those developers in Bangalore must have it made!
The only thing I've seen them make is a mess.
I work for myself, so no one tells me when to start or stop working. I rent an office and work offsite most of the time so I'm able to come and go as I need to. In some sense I'm the extreme example of someone who is free to work whenever, however, and sometimes whereever I want to. The only complication is that fact that a few of my clients end up schedule regular (very useless) meetings on status. Apart from that I tend to work normal hours - 9 AM to 6 PM. Then, if I have the energy and the appetite I'll work at night and on (usually) several hours on the weekend.
In the end, when you own your own schedule you usually end up emulating a schedule that resembles a normal workday, but the main difference is that there is no one telling you when and where you need to be at what time. I find myself way more productive in this arrangement than I was when I worked at a traditional office job. Here are the side-effects:
1. I work way more than anyone I know, and I squeeze more productivity out of my day. When no one is telling you to come in all night to meet a deadline - guess what? You do it anyway and it doesn't feel bad.
2. If I'm having a bad day or if I want to take a day off, I do it and I don't feel bad about the decision making someone in HR think less of me.
3. I can get into the "zone" very easily because I don't have some pinhead HR jackass telling me to go to the lunchroom to celebrate all of the people with September birthdays.
If management is really interested in increasing productivity tell them to "Fuck off, and stop treating us like managed cattle." If you do that, you'll probably find yourself fired (which honestly might not be the worst thing in the world).
I worked in hospital IT several years back. Hospitals routinely schedule doctors and nurses for 12 hour shifts 3 days a week.
While I was there a report was released that said that after extensive study of doctor and nurse patient care habits throughout their work day, they determined that the quality of patient care dropped sharply after 8 hours. During hours 9-12 the risk of being misdiagnosed (incompletely or inaccurately), administer incorrect medications (patient allergies or medication contraindications), administer incorrect dosages of medications, etc. The risks were almost double compared to the previous 8 hours. After hour 12 the risks got even worse. The study estimated that preventable accidents would fall over 75% by changing to four 8 hour days.
Unfortunately, the attitudes of doctors and nurses were that the quality of their patient care was just fine, and nobody wanted to give up the schedules that they currently had. The medical field has a culture of overworking yourself and working while tired, so they are highly resistant to change even in the face of such profound data revealing how destructive their behavior was to patient well-being.
The road to tyranny has always been paved with claims of necessity.
Agreed. I always insist upon a tetrahedron in my employment contract.
-
- - You can't take something off the Internet! That's like trying to take pee out of a swimming pool.
A few years ago I was on a very large project (over 1MLOC of C++ code in the end). The customer required us to be using and audited to at least SEI CMM level 3 (I think this is called something different now) and so we underwent putting in all the processes in place. We all predicted we'd hate all the formal process, but an interesting side effect is we got very good at sizing new features and the various other change requests we'd get, and the consequence of this was it was very rare we actually needed to do overtime.
I think this had a huge positive impact on the quality of our code - our defect rate was well below what was expected of a project this size, and I think a lot of this was because developers were well rested when they arrived for work the next day and also got time to unwind, which in the 60+ hr/wk days wasn't happening. Unfortunately management forgot this lesson and put in a sort of back door mandatory overtime rule (despite it not being necessary) by making everyone commit to a certain "utilization rate" (100% would mean you never took any vacation, sick days, nor national holidays nor did any admin work, and they wanted everyone to commit to 95% utilization which meant realistically 60 hour weeks). Fortunately, I left at that point. Others have also left since because of this policy (I left for other reasons, but I'm not sure I would have wanted to stay too much longer).
Oolite: Elite-like game. For Mac, Linux and Windows
He isn't, but I'd be pretty surprised if you weren't.
Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
I much prefer to work from home, provided I have a dedicated work area/machines.
Ditto - I found that I was way more productive when there wasn't a stream of folks interrupting, ambient noises, etc. As long as everyone at home knows to leave you be unless the house is on fire, working at home is awesome for productivity.
OTOH, it does make things harder for you in regards to office politics and all the intangible bits that can make or break your career...
Quo usque tandem abutere, Nimbus, patientia nostra?
I keep most of my coding for my own self-employed projects because I know that no manger would ever let me work how I want to. I can spend a week mulling over a problem, every waking and sleeping hour and the solution will come to me while I'm jogging or eating or on the can and it will take an hour of coding and twice that testing/debugging. It might only be ten lines of code but it will be something that gives me a glow inside of something being properly right.
My point is that coding is a creative process; an art, if you like. Who cares how long Leonardo took to paint the Mona Lisa?
"Our opponent is an alien starship packed with atomic bombs," I said. "we have a protractor"
I tried out a pair of these the other day:
http://www.bose.com/controller?url=/shop_online/headphones/noise_cancelling_headphones/quietcomfort_3/index.jsp
Even without music they seemed to be able to almost completely cancel out background noise (though, again, sadly not people talking a few feet away). I would have bought them if I could justify spending over $300 on a pair of headphones right now. It was like ear pillows.
All the world's a CPU, and all the men and women merely AI agents
http://www.despair.com/incompetence.html
Which is not to say that you're not skilled. But management trying to solve the problem of falling behind by saying "work more hours" is futile.
Or you're being expected to do more then just YOUR job.
All the world's a CPU, and all the men and women merely AI agents
However, they can keep you from listening!
If I have a clear understanding of what I am building and it is a fun project, I can code continuously for 12 hours a day. The rest of my life typically gets upset if I actually do that for too long but I do enjoy long coding sessions like that. However, if I don't have clear goals or the coding is boring, I have a lot less stamina and sometimes I don't have anything to show at the end of the day. Also, I notice that my diet very much affects my stamina now that I am older so I try to reduce carbs and sugars for lunch so that I don't go into a daze afterwards. All of this is true with design meetings as well. I guess at the end of the day - if I'm feeling productive, I can be productive. If I'm not, I won't. And... if I don't feel like I'm being productive, I have no compulsion on leaving, getting some fresh air, going home, or whatever is needed to re-energize, including taking off the rest of the day if need be. I complete my work and give my best so my manager trusts me to manage my time as needed.
Management doesn't want you to think. They just want you to code.
now we need to go OSS in diesel cars
White noise works well if you don't want music.
const int one = 65536; (Silvermoon, Texture.cs)
SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
Coding is more like writing a book than building a car. There is little reason to enforce a schedule and central location on everyone.
In the end, it's all about your ability to deliver - that's what determines your worth, so it should be up to each individual to determine what works best for them, as far as schedule and location.
I can work as long as I need to because I love my job and never get tired of it. To me it's just more fun to be had.
1) about 6 hours until efficiency starts dropping. 2) add enough breaks. 3) evening and night shifts are the most psychologically taxing shifts. 4) tell them. Anonymously if you have to.
Unfortunately, getting fired is the most effective way of ruining your productivity.
Cut full time down to 32 hours a week or less.
Also there can be some dead / down time in jobs where you are just waiting for stuff to happen or others to sign off / work there end.
Also to many jobs have all of this face time BS as well.
Good point about distractions. Good managers or team leads will make sure their coders are not distracted. Someone mentioned phone calls and silly questions taking up half of their work day, but interruptions are worse than that: interrupting a coder who is in "flow" even for one minute can easily cost half an hour or more of that coder's productivity. Even worse: nudging a coder out of flow several times a day for an extended period of time will lead to severe fatigue and, when under pressure to deliver, a high risk of burnout.
Working coders need to be left alone. Not because they are prima donnas, just because of the nature of their work and the mindset required for it.
If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
Having worked in cubes and open spaces, I'll take my cube any day. Inadequate privacy to concentrate in is much better than no privacy.
If it's for-profit but free, you're not the customer -- you're the product (e.g., the Slashdot Beta's "audience").
"But, as the excellent little book 'Peopleware' put it: 'Adding manpower to a late project makes it later.'"
Just pointing out that was said 25 years earlier by Fred Brooks in "The Mythical Man-Month", which is why it's known as "Brooks's Law".
https://en.wikipedia.org/wiki/Brooks%27s_law
It's the most important book that people asking questions about software management should read.
We know where leadership by an anti-intellectual "strongman" who scapegoats minorities and likes boisterous rallies goes
As a coder, I'm not efficient after 4 hours of intensive coding, and only if it's really interesting.
And it has been a lot of years since I had to do this, because I rarely had to writing some interesting code.
When I was 20, I worked in a game company, where I coded 12 hours every day, and 6 days per week.
It was so exciting that fatigue was not a problem, because my brain kept me awake.
4 years later, I paid for all my efforts, with a massive burn-out: it was absolutely impossible for me to code even a line without incredible effort.
I believe that it was related to the fact that I was alone: had no external support outside of my work.
So yes, you can work long hours.
Being productive ? I doubt so.
And if you are alone, expect a massive burn-out, especially if you believe that your work gives a lot of meaning to your life.
Coding requires creativity, and creativity requires that you rest your mind.
As long as your mind is busy, you are not creative, you incrementally build using your knowledge.
When you really rest your mind (for example after a night sleep), new ideas start to appear.
If you really want to be productive, remove all sources of disruptions, that's all !
Another question I'd like to ask is: how much are you paid for every hour of work ?
You may believe that you have a nice salary, but if you divide it by the number of working hours, you may be less paid that some other jobs.
How much one can work productively very much depends on all kind of conditions, most importantly the person itself and his/her age. The useful hours seem to start to decrease with age (although the total productivity may go up with more experience). For myself, I personally start feel myself tired after 6 hours of intense work; I remember from my twenties it was more like 10 or 12 back then. The problem is, when you keep working in that condition, you create extra work for yourself or other people as your sub-standard work needs to be undone and redone later.
If you really want to keep working after 8 hours then a way is full test-driven development. First write tests to test for anything that needs to be done, then write the code to pass the tests. Writing tests is much easier than doing the actual work, so there is a chance you won't screw up at this step. Then work as long or as sleepy to have the code pass the tests, and feel happy you have earned some more free money for the shareholders.
Management at my company seems to think that our developers can get extra work done if they work extra long days.
When I managed software engineers, I used to walk around and tell them to go home. The software engineers need the time to refresh, just as an athlete needs time to rejuvenate.
.
Here's a good article on the topic.
Back when I managed various creative types, including programmers, I found if they worked past a certain point the quality suffered and they didn't actually get any more done.
Sometimes you just have to kick them out of the door, no matter how much they protest.
-- Tigger warning: This post may contain tiggers! --
No, their work schedule makes me unproductive.
I am not a sig.
3 hours a day, 3 days a week. The rest is all fluff to make your boss or your boss's boss happy and fill in time with various unneccessary social interactions like meetings, commutes, lunch, etc. Hilariously, many things that are considered critical front-line service staff are slowly being replaced with computers or automation and it is the IT folk that are considered to be excess baggage and churned through.
I was once on a project that had 4 or 5 large companies working together to bid on a NASA RFP. At one point we had 40 hours a week of scheduled meetings. It was actually very liberating, because everybody recognized that there was no way anybody could do any work if we all went to all of them, so there was the 15 minute daily status meeting in the morning and then you could blow off anything where you weren't actually needed.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
I can agree with the late-night coding sprees, but my situation is slightly different. I work from home - so my distractions are wife/kids/pets.
Between 11PM and 2AM, I get more work done than between 9-5. Silence isn't golden, it's platinum.
"Lame" - Galaxar
Unless it's a companion cube.
aren't a good thing, IMHO. It's commonly a sign of a chronically under-resourced effort and/or poor management. Occasional emergencies happen, sometimes it takes more to push a product out than you'd planned, but if it's happening all the time, it's not good for you or the company or the customers.
Easily the best times in my life. Everyone always says how important face to face discussion is, but personally the best code I've ever written has either been at home or in a secluded park with a laptop. I just find it far easier to focus when there aren't conversations and voices all around. I don't know why having a company chat window open doesn't give me the same distraction, but it never hits me the same way.
Everything will be taken away from you.
Unless you buy into the idea that the companion cubes have your prior test subjects in them with their arms and legs amputated and their vocal chords severed.
Everything will be taken away from you.
1) Either you write shitty code and have to work these hours to make up for it
and/or
2) You are too stupid to see that your company is taking advantage of you
When you can't crank out 100+ hours/week at max capacity, you're too old for the job. Step aside and let us younger and more capable guys show you how it's done.
If you have to crank out 100+ hours a week on a regular basis you can't do your job.
I used to work for someone who thought that spending less than 100 hours on the job was slacking off. She kept a mat in the closet to take naps on the floor so she didn't have to go home. What she actually did to keep busy during those 100+ hours, however, was instructive. She'd butt in on phone calls with clients. Clients respected her business skills, but privately begged us not to bring her in on routine matters. She'd spend hours re-arranging icons on the desktop or fiddling with the file managers. It was a lot of sound and fury, but it didn't really mean that much.
I spent a "72-hour Friday" attempting to get a massive data download via 56KB modem, sanitize the data, run it through the mainframe and ship out a tape. The data came down with horrible errors. The sanitizing took many long hours. We were strictly on our own, as the 9-to-5 infrastructure was already gone for the weekend. And when all was said and done, it was all for naught, because the last flight out had come and gone and it was going to have to go out with the normal workload anyway. And there we were, tired out before the new week had ever begun.
I already knew my limitations. I can do about 6 hours of really productive work in a day. More, if I take a long rest in the middle, but that doesn't work well with commuter jobs. The other 2 hours are make-work. If someone needs brain-dead support, I can do that. Just don't ask me to think.
I refuse to feel guilty about my "lack of productivity". Recent studies have been pretty uniform in concluding that once you pass a certain point, you stop moving forwards and start moving backwards, and that for most jobs "multi-tasking" is less productive than taking one thing at a time.
A major problem with the "more is more" management mindset is that they think people are like machines. Run a machine longer, you can get more out of it. Run it faster and you can get more out of it. But that doesn't even always work with machines. Run the hamburger grinders too fast and you get cooked hamburger out of them instead of raw ground meat. People are not designed to run at full throttle all the time. Any management that cannot take that into account is not good management.
Thanks for cutting through the clutter. I read through far too many comments arguing for this set of hours vs that set of hours. No one's family life is the same. No one's biorythms are the same. I've been a programmer, analyst, project manager, entrepreneur since the early 1980's and have learned that my teams performed best if their hours were self-managed. Even within the same individual I sometimes needed to work in small 50 minute increments and, at other times, in huge non-stop spurts with a satisfying 18 hour day.
These days, if I'm productive n hours, that's exactly how many hours I work. I'd make exceptions to this only to honor confirmed appointments and periodic team meetings.
Thanks, again, for a quality post!
Stepping back is super helpful. I find that moving to a different location is beneficial in boosting sagging productivity, because it clears your head a little bit, although I realize this isn't a viable option in most corporate settings. It also helps with the distractions, as no one can find you. I think nighttime is a useful coding time not only because no one else is around, but because I can turn down the lights and focus on the code. It's unfortunate that all devs don't have an office with which they can dim the lights and just focus. And a coffee machine.
Actually, for pure coding, no local hardware (other than a laptop) involved, I should say I prefer a dark room with a hammock. They're super comfortable for everything.
When I contracted, 60 hour weeks were the norm. Often in 12 hour days.
But I love programming, and it comes naturally to me, so I didn't notice any code quality degradation.
Even post retirement, when I work on my pet project, it's usually to the tune of a 16 hour day.
I find that if I try to "crunch" more than 20 hours, though, I get tired enough that I stop thinking clearly for debugging purposes, and need to crash for 8-12 hours.
A "crunch" while contracting was a 90 hour week.
I do not fail; I succeed at finding out what does not work.
I program. I also own a programming company. I prefer the longer hour days at both levels.
Sure I'm exhausted after a normal day. And sure the code quality drops precipitously with each additional hour. But the longer hours aren't about quality.
Few programming tasks around here take weeks of work. The most complicated ones take a day of planning, a day of developing, and a day of launching.
Those three days can easily turn into six. When any of those three facets needs one more hour, it pushes into the next day. Which then ruins the next facet's time. Things spiral out of control into 6 days, which means two business weeks for a project that should have take three business days.
The longer hours are to reach completion on the day's facet.
And besides, after the first 5 productive hours, the next 5 needn't be "productive" and "high quality". They just need to be labourious. Actually executing what was planned, finishing what was done, and click twice to actually test that it's done.
That's what works for me. And it works very well. I then take the remaining two business days of the week, and skip work.
If I understood that my management was clearly trying to squeeze 50 hours of work out me for 40 hours of pay.... then I'd find another job.
There are good companies/organizations out there that treat their employees right.
Good managers or team leads will make sure their coders are not distracted.
Yes, a good manager shields his team from the rest of the company.
And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
Normal people indeed need a break after some time working, otherwise they are not productive anymore. There is nothing to do against that, and forcing people overtime will just prevent them from recovering and doing good job again.
But if the team has both morning people and night people, they can get efficiency by relaying. One gets to bed too tried to solve a problem, an another one come up fresh and picks it. When the first person wakes up, the problem is solved.
That can even work with everyone having a standard schedule, if the team is scattered among the globe. This is what happens in many free software projects.
Baby boomer here. The word you were looking for is "won't", not "can't". The only reason you work for 100hrs and get paid for 40hr is because your still too young to tell the boss "no" and remain employed. Also at your age I had a real job out at sea that involved heavy manual labour and 35hr shifts with a 30min break every 5hrs. Now go do something useful and stop bragging about how you're being ripped off by the boss, it makes you look silly.
And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
than you're fixing, it's time to go home.
Note to self - fuck up the first task on Monday morning.
And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
The risks are very different first off. If I crash my computer I don't usually kill anyone, if I crash my double trailer on the freeway there is a good chance that people die.
Second, the fatigue is very different between mental jobs and manual labor. I agree that for the most part humans shut down after 8 hours. That said, Tech jobs are quite a bit like being an artist. You find a groove, and you can make magic. I have done a couple of 20 hour days in the past because A) I really really enjoyed the project I was working on, and B) I was in a groove and everything was snapping together. The 20 hour days are extremely rare, but I doubt I'm the only one that's had a couple of those moments.
The thing is, if you find your groove and work a 12 hour day the bosses need to make sure you get compensated. A 40 hour week does not give much time to rest, and a 50 hour week leads to burn out rather quickly. If your boss does not allow comp time, get the hell out!
Many managers learn who the workers are and never comp, often pushing the workers harder and burning them out quicker. As long as they get their bonus they don't care about the staff they have left next quarter.
-The wise argue that there are few absolutes, the fool argues that there are no probabilities.
That's because the same guys are manning the call center.
Good point about distractions. Good managers or team leads will make sure their coders are not distracted. Someone mentioned phone calls and silly questions taking up half of their work day, but interruptions are worse than that: interrupting a coder who is in "flow" even for one minute can easily cost half an hour or more of that coder's productivity. Even worse: nudging a coder out of flow several times a day for an extended period of time will lead to severe fatigue and, when under pressure to deliver, a high risk of burnout. Working coders need to be left alone. Not because they are prima donnas, just because of the nature of their work and the mindset required for it.
Hamming, a famous programmer at Bell Labs talks about open-doors and closed-doors. The general consensus is that people with open-doors tend to be more successful than people with closed-doors.
It is very important to keep your ears to the ground and know what is going on in the workplace. Those "distractions" can sometimes be very important information that can save you hundreds of hours of works or advance your career. A "minute" talking to a person can reveal what a thousand words cannot.
I was whining about the price tag too. Finally I got one and it is the best ever investment (after a Kinesis keyboard and a quality trackpad) ... ....
I was going nuts over ambient noise at the office where I was abroad, plus being winter I had to have the heater on at the hotel.
I first got a "noise cancelling" Sony, that turned out a joke, then tested the Bose QC 15 at Best Buy with the airplane noise simulation
I had various fans at my home office before my Bitcoin miners went water cooled, and without them it was unbearable. As of other noises: it is actually capable of levelling the sound of a (just in front of my open window) lawnmower to a level, where I can listen to music on a really low level and only hear the occasional bursts of RPM adjustments caused by whatever stuff the mower is chewing through...
Trust me. BUY ONE. You won't regret it. I am not a Bose sales person, nor do I like their products too much, but the QC 15 is simply great.. It also sounds really good with movies, music, though it is a little heavy on the bass.
Hope this helps...
i mean, seriously, preventing worker exploitation is the point of it after all...
That's the sickest advice I've ever seen.
And no I'm not a baby boomer and I hate phones. Someone I used to work with summed it up by calling them an unmaskable interrupt.
you need people-cancelling headphones
I wonder what he'd think about removing the door altogether and cutting the walls in half. That must mean extra successful.
I guess someone told you that the schedule is always right.
I work 7 - 3 and I really only work about 8 - 2 in that block and not in a lump sum. You need breaks and resting periods. I take about 3 hours of the day and just take it easy, this leaves the other 5 open for great work. If you stress your brain it will get to stressed to help you out, you need to take it easy and let your brain guide you. You'll get the same if not more work done coding for 5 hours of broken time as you will coding for 8 hours of tight compressed time.
quality is free. they read that in a book somewhere...
The best work hours are 9-5. 9-5=4.
If your company knows what it's doing on all aspects (project management - SPM, quality assurance - SQA, software developing - SE), work schedules should be multi-layered and adaptable - per workpackage, per department, even per developer (special skills). Then, whenever fallbacks happen, micro-management adjustments should cover any issues, provided that they already took that in mind during the initial project plan (not very tight workflows, strong support on critical paths, provision for people's slack/sick time, etc).
If your company is not experienced in SQA and/or SPM, but has people with strong software engineering skills, then they should probably switch to agile methodologies, e.g. Scrum. This requires minimal to no SPM, moderate SQA (formal procedures) and only 2-level "loose" planning, one for 30-day sprints (e.g. next package update for release) and one daily/weekly schedule that gets updated every morning (short runs, constant rechecking). Agile can be problematic when dealing with strict deadlines, strict client contracts, strict budgets, etc, but it is worth it when the company really has high trust on its people and their work.
If your company has no expertise in neither SQA, SPM or SE, then start from the last. Good software can be produced out-of-deadline; good deadline management does not guarantee anything about the final product itself.
"Abashed the Devil stood, and felt how awful goodness is..."
The company I work for stretches devs and testers over multiple projects simultaneously, but still expects on-time and high quality work. The way they sell this to everyone, us and the customers, is to use the word agile and scrum multiple times. Unfortunately this seems to be the norm in Holland at the moment and the only way they pull it off is having a loyal workforce. However the truth of the matter is that slowly-but-surely the good devs and testers move on.
If you take regular breaks you can mitigate concentration degradation stimulants like caffein also help. But eventually, inevitably, the only remedy is sleep and the occasional day off.
Headphones + Music which doesn't Distract solves that issue.