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...
insted of contigious over time, we work on saturdays and sundays
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.
Define "work". Is it 100% coding, or does it also include trips tot he restroom, lunch, water cooler discussions, etc?
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...
than you're fixing, it's time to go home.
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'm lucky if I get 1 hour before interruptions.
But in the rare cases I do get good stretches of time at about 8-10 hours my brain needs a break from coding (and no a break / 2 shift does not help).
That said on some interrupted days I have worked almost 8 hours after my shift in the quiet office and got more done than I could have during the normal work day, mostly because my concentration was not broken mid thought so many times.
The bigger issue is lenght of time units (that is time you should dedicate to a task in one stretch)... in business it is one hour for a task. for coders I've seen suggestions of 1/2 day or longer. It takes a lot to convince business type bossess to believe that.
I've also done a 40+ hour code-a-thon during a merger and got immense work done. though at the end of it I was toast for the weekend.
Not meaning to post as AC but cannot remember my ID on this computer and I am at the end of work day at end of work week... I'm done.
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....
I don't know the reason behind it, but I get my best work done in the evening. I always have. I work best when the office is empty and I'm up against a deadline where I absolutely have to get it done. If it's, say, Friday, and I need to get it ready to demo by Monday, I can pull insane hours into the night on Friday, and maybe even work one day of the weekend, and get more done than I'd gotten done during daylight hours for the past five work days. I get a second wind in the evening, especially after a dinner and some caffeine, and the absence of talking coworkers makes it even better.
The "quality problem" for me seems to be that management insists that I work at the same time as everyone else. I'm easily distracted by conversations, noises, food smells, etc. I work much better alone. They hired me to code; I occasionally need to sync up with coworkers, but not really that often. And when I do, I can usually resolve it via IM or email. It'd be great if I could work alone more often. I grind out a lot of production-quality code with fewer errors when I do.
As for the max. hours -- I could probably work a 40 hour week "energized" (alone and at night) in addition to my 40 hour daytime week when I'm not really getting much done, and spending too much time on slashdot, etc. Of course I could just as easily spend the daytime at home on my home PC not even pretending to work, come in at night, work, and be just as productive. The only thing that'd do is that my coworkers who have questions (there are a few who like to bug me because apparently I know things) would be unable to ask me questions in-person during the day, which is a significant part of the reason why I'm so unproductive during the day. Bad for them; great for me.
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.
Work harder slave, or you'll be replaced.
I few months ago I asked my employer for a pay rise, and was told that I would not get one. So I have given my self a pay rise by working extra hours (I get paid by the hour), but doing an extra 10 hours a week I am sure that I am not being more productive, by Thursday I am really tired, and Friday is almost pointless.
So to sum up my employer is now paying me more money for less production. Simply they should have given me the 5% I asked for so that I could continue doing the 40 hours a week I was doing, rather than what is now happening, I now do 50 hours (20% more cost to them) for the same output.
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.
3 ArbZG says (my translation):
"The working time on workdays may not exceed eight hours. It can be extended up to ten hours only if over six months or 24 weeks on average eight hours are not exceeded."
Workdays are Monday to Saturday, so the continuous maximum allowed by law is 48 hours a week.
There are days when I have so much fun working on a problem that I work for more than 11 hours but I keep records to work no more than 40 hours a week.
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.
I think I must work at your company!
If i can get away from the office at lunch and then take a two or three hour dinner break I'm probably the most productive after dinner to midnight. Less interruptions and reasonable music or background noise keeping me focused on the task at hand. I would rather give up one or two nights a week then one weekend day, but either way, this needs to be during crunch time and not lack of planning or funds.
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
What is the community's opinion on this?
No idea.
What are the maximum number of hours you can work in a day/week and still be reasonably productive?
As a programmer, I haven't worked overtime except in rare, isolated cases.
However, I believe a better question would be: What is your work-to-break ratio in minutes?
I've tried 120m/10m before I started thinking about these things, and researching.
20m/5m or 20m/10m would probably be optimal for me, depending on the problem at hand.
When you absolutely must work beyond that limit, what steps do you take to minimize degradation of quality?
I work slower.
There's no choice, really, a befuddled mind makes mistakes, and if it's absolutely required to work anyway I have to second-guess myself and think things through several times. For the most part a proper break would be the fastest way to accomplish the same solution; probably a better one, actually.
Note, however, that this is me wanting the quality.
If management thinks that it's better for you to sit at the screen for as long as possible.. probably it is not quality that they want.
If you're able to structure your time differently from the typical 9-5 schedule, what method works best for you?
In theory: 3-4h work, ½h lunch, ½h meditation or walk, 3-4h work.
Haven't had opportunity to test this, so far.
Finally, how do you communicate the quality problems to management?
I tried that once. Believing, as I did then, the boss' words on code improvement made during the hiring interview.
Thing is, you being right doesn't help if the boss isn't clever enough to discover that fact.
And code quality doesn't lead to direct revenue, so it's a difficult argument sometimes.
As for me, I'd rather spend my time looking for another job rather than attempt to change a group from a low point in the hierarchy.
By the way you might want to look at ted.com's videos on working habits and time management.
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.
It's not the work schedule that makes me unproductive. It's corporate policies and standards.
"Work harder, not smarter," could be the company motto almost anywhere I've worked.
Microsoft leads to Bluescreen; Bluescreen leads to downtime; downtime leads to suffering.
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.
My level of concentration is fine, so long as they keep paying my high rate. I had several 24+ hour days before, and with enough caffeine, I can stay awake and do good work.
Sometimes you don't have the luxury of a 8 hour pace when shit needs to get done.
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.
I'd have to dig through a few years worth of links to find the actual data but I recall the numbers:
On average people working a 8 hour day actually work 7 hours. When asked to work 10 hour days for more than 1 week people again averaged 7 hours of actual work.
The numbers were slightly different for people who work in intellectual fields.. They found that in an 8 hour day that people who work in intellectual fields actually do about 5 hours of actual work after which they are spent. These workers also showed no actual gains when working a 10 hour work day for more than 1 week at a time.
Short term gains can be achieved by asking workers to work for longer hours for a single week.... After a week the gains were completely lost and workers required 1.5x the amount of OT worked to recover and work again at the same level of production that they had been prior to the "crunch" otherwise they typically operate at about 1/2 capacity.
The actual performance gain from asking workers to work a single week of OT was a slight increase in productivity...I'm actually blanking on that number right now but I believe it was around a 20% increase.
The real problem is convincing management of this and getting them to adopt policies where they don't ask people to work more than 1 week of crunch...and allow comp time when the crunch is completed.
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").
The Mythical Man Month and other texts treat this very well. You are being fed garbage to make you do work, but at the cost that all of your work suffers. Unfortunately, its hard to find good places to work.
Agree -- if you can 'get in the zone', it doesn't matter as much how tired I am usually (except for the extreme cases). 9am - 1am isn't bad if I have meal breaks and I'm getting a ton of useful, unit tested, fun stuff done. Now that I have kids though, it is usually 9am-4pm (office), 9pm-1am (home), though more times than not these days that last 9-1 sees some exercise and more web surfing.
"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
The amount of mental energy each person has is different. But even so, each person has a limit.
If you read Drive (Dan Pink), The Talent Code (Daniel Coyle) and other books on Self Determination Theory you will find that real excellence lasts for about 4 to 5 hours. After that you're done. Most people don't work that intensely every day. And some days when you're in the zone, sure you can do 10 or even 12 hours.
But most days you're done by 8 hours.
If your management think in all seriousness that your staff, as good as they (as average as they are?) can reliably produce quality software by working longer and longer shifts your management deserves the pile of garbage they get at the end of the N year project they are mismanaging.
Read the books. Educate yourself and your management. And then leave and work for a better company if they do not realise how stupid they are being.
I say the above as someone with 30 years of software development experience. I've created companies and many products. At 48 I know that I can do long hours day on occasion. I know I cannot do this day after day. Quality of software produced is MUCH MORE VALUABLE than quantity of software produced. You can do more when you are 23, but you know SO MUCH LESS when you are 23 - you just don't have the experience. So while you may think you are super and really putting it in you don't have the perspective or experience of your older self 25 years later. Been there, done it, understand that those "old" guys weren't really so crap after all. Their lack of pace expressed itself differently. Tortoise and hare anyone?
Pointless telephone calls and stupid 'do you have a minute' conversations
Are you a baby boomer? Maybe your coworkers read this horrible piece of advice:
there are a number of things Gen Y’ers and Gen X’ers can do to make Baby Boomers take notice and help them get that wanted promotion.
Use the phone: By use the phone I mean call them, don’t text them. My age group grew up professionally using the phone and then, later in our professional life, email. It’s been my experience that Gen Y’ers aren’t generally inclined to call people on the phone. That said, you will stand out and be remembered.
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.
If all you can do is code from 9 - 5 you need to find another line of work. Coding is more than punching a clock. Artists don't stop creating when it's a certain time of day. If it's just a job to you, that you can't wait to be out the door at 5, go find something else to do.
As a former computer programmer (refered to now by the glorified term Software Engineer), my mind was spent by the end of 8 hours. If I had to work longer on code than 8 hours, I would morph into a Marine - just pretending to look like I was doing something.
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! --
Management doesn't care about quality.
No, their work schedule makes me unproductive.
I am not a sig.
They did studies, finding labourers can only work 8 hours a day and mental workers can only work 6 hours a day. Any more and they start going into exhaustion very quickly. By replacing the old 16 hour days with 8 hour ones, they achieved almost the same level of productivity, (at half the cost).
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
I'd gladly work 16 hours a day for 3 days then rest the rest of the week.
...until morale improves
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.
I am strictly 9-5 at the office. Anything extra is from my home office, and they can lick my ass right down the center if they don't like it.
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
And this is exactly why I always think twice when I'm interviewing somewhere and it's mostly young men. To stereotype a bit, women in general won't put up with being slave labor. Older men with a family tend to not be as willing to. Office with a lot of either, and I know there's a higher chance of reasonable hours. But young men? Christ, it's a mark of pride among a big chunk of them to be used and chewed up by the system.
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.
Believe me, you lose concentration to the point pretty soon around the 9 hr mark that you're making more problems than you're solving.
Keep working longer for more than 2 dayslike that and you might as well not be there at all for all the damage you'll do (by becoming short tempered and unpleasant to work with personally as well as the poor quality of what you what you physically produce.)
Believe me, been there and done that and the only cure is a good sleep, or to get out of the situation where you have to do this as quickly as possible - the type of managers who try this shit are always notable by their absence whilst you're slogging away out of normal working hours, which is the surefire way of recognising that you need to make this end as soon as possible - by preparing to leave if necessary.
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.
No question this is the case for me when coding. Once I reach 8 hours or so any time spent coding after this is actually counter-productive and I usually am WTF the next day when I look back at my code.
The group I've worked with have collected a lot of data on SLOC/Hour, defects/KSLOC and hours-on-task/week, and we have found that a typical sw engineer is wonderfully productive at 15 hours/40-hour week while meeting schedule and cost estimates - mainly by producing superior code that doesn't require long test-fix death spirals.
Some have tried pushing to more hours, and found that even only 2 more hours per week burns them out. Now, we're not talking "clock" time, what you put on your timecard - this is actual effort on planned tasking. Lots doesn't get put in the plan, but you still do it. Google "PSP Dashboard" and "SEI PSP" for more info.
Basically, time-on-task/week doesn't go up proportionally to timecard hours per week, and the more timecard hour, the faster the drop-off.
Additionally, we have found that defects/KSLOC during design/code/unit test and integration test quickly skyrockets. So you feel like crap, miss your family time, don't recover, and produce crap(ier) code. win-win, right? I don't think so, Tim.
Recommendation - plan your near-term work in detail, (tasks, steps), estimate how long each step/task takes, log your time to the minute, log your defects, then when you run out of tasking, figure out your hours/week, SLOC/hour and defects/KSLOC. Then do it again with another chunk, but plan on 20% higher productivity, and try to get there. So if you got 15 hours/week before, plan 17 hours/week. See how you do after that round - and how you feel. If the results back me (and the SEI, etc.) up, take it to your boss.
Or just find another job - sounds like you've got the chops!
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.
I guess this means our management is not "good". They are about to move us into a wide open workspace to "improve" collaboration.
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.
The first forty hours are at the negotiated rate of pay, the remainder is at time and a half.
You call someone in off hours and its a minimum 3 hours pay plus odds are good people don't come in till noon next day or maybe not at all if they are dead tired after the call. The bean counters are now on our side like they should be. If there is enough work we hire more people because it is cheaper - the end.
Someone calls me off hours and the controller might make a call to make sure it couldn't wait until morning because it starts costing real money. We still get calls and still do overtime when absolutely necessary but no BS.
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.
I work non-stop until I either fall asleep or a benchmark has been reached, even if that takes most of the the night to reach that point.
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.
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 say after 5 hours the programming starts to suffer and after 7 it goes to crap. My personal opinion and my own experience is 6 to 7 hours tops.
Open plan offices may be cheap to implement, but thats where the positives end. They destroy productivity like anything. They encourage spontaneous little meetings which distract- and often annoy other people close by. There have been times when ive stopped trying to work because the stress of working through the noise and distraction isnt worth it.
First of all, you've negotiated a position, understanding the conditions of work. I know that the balance of quality and speed of development I provide speak for themselves. If my employers failed to appreciate the measure of my performance, then I would move on to on that did.. and my former employers would be left to ponder the wisdom of their decisions. I work 8 hours a day, because I really work 8 hours a day with my code hat on, and I will be the first to stay extra hours if I considered myself deficient in my role.
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.
I work at home, self employed (for less than a hand full of clients) and normally do 3 6 hour "shifts" a week! If I need more time to get a project completed I do more shifts of a shorter nature, maybe 5 4 hours shifts or something. I live in the UK so an office environment that would pay me a decent wage to code even scripting languages like php or perl doing just 20 to 30 hours a week (30 would really be pushing my luck) is just not going to happen!
In full time employment I never do overtime or "more than I'm contracted too" ... I go there to get paid, if they want to pay me so be it but over there there is too much of the old "an extra hour here and there that you don't get paid for" going on!
If we talk about productive hours, mine are about 2-3 per day. The rest is just hanging around to please management inflexibility. Paying by hour for programming is plainly stupid, they are projects and should be paid by completion steps.
The biggest time thieves at my work are definitely:
1) 'do you have a minute' questions
2) meetings, meetings, meetings..
These things tend to increase in intensity around 9 am and start to die off around 3 pm, and they always break my workflow.
Since I'm not able to work 'nightshifts' to avoid this stuff all together, what I do is:
- Work with the door to my office closed (not easy in an open landscape, but for those who have doors). This keeps away a lot of the 'do you have a minute'-questions, and they tend up to be queued in my email instead, which is easier to handle.
- Allow myself to reject meetings. If you are booked in meetings between 9 am and 5 pm day after day, some of them are probably not worth going to. Have the courage to say 'no'.
- Try to be at work early in the morning, between 6am and 7am. I found that at this time, as well as late in the evening, is when I'm the most productive, so it works for me. There's noone else around to distrupt the 'flow', the email and phone are quiet, and I get to leave work ealier.
I'm a 36 year old software dev working 50-75% from home without fixed hours. Since going from fixed hour office work my productivity has increased dramatically but that's also because I get to build my own products now instead of editing other's xml config files.
Core time is a time where you must be at work.
Last time my core time was: 9:00am-18:00am because of the 1 hour obligatory lunchtime of Germany.
You can only buy food on Saturday. On Sunday everything is closed. :(
You cannot let your car repaired at the weekends, only on weekdays and you have to take holiday.
You have to take holiday to go to the offices (mayor, tax....)
You cannot use your flexitime for these things.
Yes, those truly irritating people who simply come over and start talking to you regardless of whether you are wearing headphones or not?
Seriously? If you come to my area and see that I have headphones on, head back to your desk and send me an IM to see if I am not otherwise engaged. Its likely that I have my headphones on so that I don't have to listen to you, that I have to focus on something, and standing there and talking to me... well that's really not helpful.
Society moved from a 12-hour day to an 8-day because work was becoming more complicated (and the master/servant attitude was relaxing). Jobs became more complicated than lifting a shovel. So education and health became necessary. But now the world thinks writing all day is a simple chore. So bosses want accountants and coders (etc) to do more work. This has an added bonus that such jobs are salaried so the employer is 'increasing' productivity. But writing requires accuracy not volume so this attitude does more harm than good. But how many managers measure the accuracy of what was written? Even for accountants, double-checking the work is so time-consuming, it is a job in itself: auditing.
When a bridge design is changed, there is a physical cost: more cement, girders, bolts and tie-rods. Management must deal with the extra time and money that requires. But when code is changed there is no visible output: The design documents may not even be updated. There is no assessment of costs to the project. Software design and maintenance departments need to charge for opportunity cost: The work that wasn't done because the project changed. Reject the attitude "work harder" or "anything I don't understand is easy" from management. Until then, every manager and every buyer can pretend that changing the design is free. And of course, it is until the software crashes because the changes weren't tested. By then, the manager has gotten his bonus and it's obvious who didn't complete QA.
Hahaha, disregard that! I spend 100+ hours/week sucking cocks!
you need people-cancelling headphones
I get to more late and leave early. I spend my day wandering around the office having great conversations with people or just sit at my desk and play with my phone. In the last 10 years I have not done a full days worth of work. When I retire in a decade or so I will have spent over two decades doing next to nothing at work. I can spend months on a simple task and still not complete it. My ability to be baffled by simple problems is legendary. For a long time now I have had a part time agreement with managers who do not care when I come or go and how I spend my day. I am part of the furniture and nothing I do will get me fired. Not even the videos posted online showing me spending all day in the office doing nothing. I am a public servant working in IT in a job no one cares about. Hours? Schedule? Productive? Ha. I spend my days taunting people and finding skirts to chase after work. Ha work that is funny. No one knows and no one cares. Cross me and I will bury you. Many have tried and I am still here collecting a paycheck for turning up.
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.
Yes, I've done that too. That's really what a manager is, someone who can anticipate that the train may be derailing and fix it before the accident. It's not always obvious like keeping a 30000 foot view and noticing something that the developers themselves may not notice.
Quick nitpick: there's no such thing as a "Software Engineer", the term "engineer" is reserved for provably rigorous domains like electrical engineering, mechanical, etc. Software isn't anywhere close to those disciplines and won't be for a very long time, if ever. The correct term would be programmer or developer.
It is Saturday and I will work today. My boss will not check in on me. But the company I work for has great insurance. I've gotten two raises in the last year. I have received stock options that could turn out to be very lucrative. A normally get to work at 8:30 and leave at 5:00. We can take our laptops home and I generally do.
So sit down with your boss and ask for a raise. If you are compensated enough then the hours don't matter. If perhaps you have things in your life that are more precious than money, kid in little league or such, get up and leave when you want. If they fire you find another job. I once had a boss schedule a meeting at two in the morning. I was the only developer in our group who said that I wouldn't attend. After two years, I was the only developer still employed from that original group. If you are good, you can ignore the hours being pushed by your manager. If you are not a good programmer, hang on as long as you can and put up with what is thrown at you.
The best work hours are 9-5. 9-5=4.
I've never figured out how to turn creativity on and off on demand. When people want me to do things that have never been done before, I can't just pull a fully-formed design out of my head. I could go weeks with nothing and then hit on the right way to do something.
Ages old problem. 6 to 7 hours most productive. After that productivity falls off significantly. Another call for UNIONS to return. We all (Not just IT workers) need someone to back us up. Corporate AMERICA is trying to be CHINA. THIS IS AMERICA! Ok?
In response to "When you can't crank out 100+ hours/week at max capacity, you're too old for the job." Remember this when you're old and can't find a job. Social Security and food stamps for all.
I'm done my rant.
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.
That is a valid point, and also implies a known (to me, anyway), that more is not necessarily better. However, companies that pay you, look at you as a consistent machine, i.e. the machine will not fail unless a part breaks. Having said that, we are not machines, we are subject to certain practices, that enable us to do a job, fairly consistently, but we need - by design - rest periods, food and other sustainance to keep us relatively productive, and from a company's standpoint, a valuable asset. I am not sure one will ever convince the bean counters, that we are just as human as they are. For me, I have to asked myself how far I can push myself, to deliver that value, somewhat consistently.
The main problem with this disconnect is leadership - by the bean counters - how can another (human) expect so much from others that they cannot expect from themselves? Especially in terms of endurance and productivity. Most bean counters do not, hence the leadship in most companies is lacking in most corporations, they are managers to the extent, they keep their own reputation out of a sling. So, management does not define leadership qualities, but a good manager will also be a good leader. Most of the time they 'expect' because the hierarchy of their job, implies that they can. This introduces a concept of 'just because you can - does not imply that you should', because you can does not imply that the consequences of your actions are going to have the desired effects.
Many times I see in job descriptions - 'Must be able to multitask' - which I find absurd, because, we are born multitaskers, we do many things automously without having conscieously think about it. We (humans) invented multitasking in computers, we (humans) invented computers, without human productivity at some level they would not exist. It basically depends on who has the talent and the funding to bring a prioject to fruition. So, anything is possible if you have the time, the money, and the resources. If you are missing any of those, your dream will not happen.
I am not sure you will ever have an 'even keeled', mutually trusting relationship with the money spenders and the money producers, so all can get a reliable, productive, and fruitful outcome.
Bottom line is this, if you know how and it is so easy, then why are you asking me to program it? There needs to be higher expectations of managers, not so much in terms of, quantity, but quality of bringing all of their resources to bear on the problem, and overcoming the limitations that are encountered. This to me is not an 'easy' task, nor, for that matter should it be. Simply telling someone to do something because you can does not even take into the consideration, and the question, 'Do they (the ones you are asking) even have the required resources to accomplish what is being asked?'.
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.
This seems like a good basis for shrinking the "standard work day" for the US by 1.5 hours. Besides making engineering work better, this would make all workers more valuable since the pool of workers would shrink. I'll confess I'm not 100% certain, but shrinking the pool of manual laborers should put upward pressure on their wages. This should then shrink the gap between rich and poor.
My employer is now dictating that every programming scrum team must include some members on this side of the earth and some members 12 time zones away, that all team members must work in the offices to gain the benefits of co-location and the open office plans, and that all attend a single simultaneous daily video meeting. One side of the earth must work very late, and the other side of the earth must start work very early. For very experienced workers like me who are facing health issues worsening with age and wanting to work vigorously to maintain a youthful attitude, this is regrettable. Patterns of sleep, diet, exercise, family life, medication etc that have become benign habits over decades (e.g. someone who has jogged 2 hours every morning before work daily for 25 years but must now attend a 7:00 am meeting daily), integral with our self-image and essential to our well being are severely disrupted. I don't know what could do more to confirm the theory that the purpose of management is to inflict the greatest nuisance on the greatest number.
Headphones + Music which doesn't Distract solves that issue.
When you have a fun and interesting project you can work 16h a day for months, and put out great code, easy! When you have to do boring work that don't interest you will have problems putting out good code for even 4h 5 days a week. So the question is; Do you work because you want to or do you work because you have to? If its the latter putting out more than a few hours of good quality work a day is close to impossible (even if you are a "professional")
I was a patent attorney in the UK way back before I retired, and although drafting patent specs isn't coding it demands similar levels of concentrated accurate thought - inadvertently get something wrong and you could well end up on the wrong side in an expensive civil action. One firm of PAs I was associated with expected their technical assistants to produce about 1000 client-chargeable hours per annum. If someone was working at a significantly higher rate (say 1300) for more than a month then they would probably be told to ease back, the theory being that the quality of output could be jeopardised by overwork. Conversely, if a TA underproduced significantly then the partner in charge would investigate to find out what the underlying problem was (illness or family problems might be the findings) , and find a solution satisfactory to all concerned.
In that firm, staff were not normally expected to be in before 8am or to be working after 6pm, except in the occasional emergency. Staff could usually vary their start and finish times to suit themselves, as long as minimum hours per week were worked and the office was staffed from 8am to 6pm. Again, efficiency of work was at the heart of this philosophy. Although it wasn't a big firm, it was a happy one, and profitable.
Btw, in case anyone is wondering what the TAs were doing outside of their 20 or so client-chargeable hours/week there is in fact in any business like that always 15 or so hours of work that needs to be done, work that is not directly chargeable to the client.
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 think that misses the point, really. That's what a manager is for, or any other middleman between you and the client/end user. They take the distractions and filter the important stuff down to the programmer level, so when things -do- need changing they get changed on-the-spot. What he's referring to is interrupting coders who are zoned in to their code and programming away, getting pulled out of that mindset can and will be a detriment to their work/productivity.
Don't think he was suggesting not having any contact during the project to get important information in to the project when needed.
I remember reading an article written by S.A.S. several years ago, about how they used their own stats software on their business practices.
Including training costs, turnover rates, and other factors, they determined that any work beyond 35 hours per week decreased productivity.
It would lead to code requiring more bug fixing / rewriting, staff leaving, etc.
Crunch was okay if it was for 2 weeks only. After that, things would deteriorate to the point where everybody would get less done in a day while working OT than if they would have just worked a normal day. You also need recovery time after working OT, in order to return to regular productivity.
From my own experience in the games industry, If you know you'll be working late and you already have been working late for quite awhile, you will be more prone to spread your tasks out more, since you need time to let your brain rest.
All in all, if you want to ship something on time, don't work overtime. Work 35 hours per week (I think that doesn't include lunch).
Here's a presentation on this very topic:
http://www.slideshare.net/flowtown/rules-of-productivity-2756161
It ate the greater than symbol...
I'm not overly subject to 'office politics' for the software development team: the software development team is 100% remote. In fact, I'm the closest to the office at a mere 90 minutes on a good day. The team is in the US, Europe, and China.
People are not designed to run at full throttle all the time. Any management that cannot take that into account is not good management.
They do take that into account, it is just that most people are easier to replace than most equivalently priced machines. The latter is rare new CAPEX funds, but the former is OPEX, which includes a built in savings when you throw out/fire the old one.