How do you make programmers work 60-80 hours per week?
brianknapp.me
brianknapp.me
I think it's reasonable to have 25% of a 40-hour week be for meetings, helping other people, eating lunch, sitting in on interviews, and learning/trying out new things.
And yeah, 25-30 hours is probably a maximum, and it needs to be done in three-hour chunks at a minimum. As a manager you can easily destroy that by allowing an environment where a solid three-hour block of time never happens for a dev.
I absolutely believe giving developers the freedom to choose a personal space with walls and doors is very essential to productivity.
I've gotten a taste for it now. I could reluctantly work in a small shared office with other programmers, but I would have to be desperate to ever go back to an open office. That or get paid a lot.
It's also a sign you're not valued. Let's see how many of you we can cram in there.
/team lead
Pairing is just great. Works well for sysadmin stuff too, even if I'm mostly leading that and just bringing someone else along for the ride.
I work from home, and I have a high enough social standing in my company that I can simply decline incoming phone calls whenever I want. As a result, like you, I can get a shitload of work done.
Most developers aren't so lucky though. That's why the productivity norm in our industry is closer to 10 hours per week, maybe 15.
There's a fascinating corollary on "effective working time" research. I've seen the numbers multiple times in Finnish press, but have hard time even finding them now - and can't recall ever seeing these figures in English media.
According to work wellbeing research done (at least partially) in Finland, knowledge workers can achieve approximately 5.5h of effective work a day. Any hours much beyond that are mostly wasted due to the level of concentration required.
This number chimes well with your estimate: 25-30 hours of effective work per week. I'm quite confident these figures would come up again and again.
When you take this concept of effective working time to the statistician who sees only the time you spent actually at the keyboard and tells the MBA that your effective time was 2-4 hours out of an 8 hour shift, and that MBA wants you to increase this effectiveness by getting it to 100% of the time that he is paying you.. then thats not going to work.
I worked from home for 7 years, and during the brief summers I took 1-2h biking breaks during the day when I was stuck and felt like my mind was grinding to a halt. Often enough I would get unstuck, or at least have lots of new ideas.
On the flipside, I also learned that one of the most valuable pieces of equipment in these circumstances is a lightweight dictating machine. Or a phone capable of recording on a keypress. The ideas would come and go, and if I didn't record them when they popped up, I would spend quite a lot of time trying to find them again.
Taking notes is underrated.
Indeed, sometimes I'm stuck "watching" something on the screen (it looks like I'm watching a movie) maybe for extended periods of time. Then suddenly I jump and grab a pen and paper, and in a couple of minutes I get everything I've been building up written down, which helps me in solving the last details.
The opposite is true too, sometimes I'm in a bind and can't get myself to work on some task trying to get into flow, and it turns out fiddling like that (opening random terminals, typing useless commands, navigating some code and skimming through some source file) definitely looks like I'm frantically working.
also, browser compatibility, that also requires load of prep work because of the layers of workaround to get stuff working right.
Worth noting, this process can be significantly sped up if you have a set of peers (or smarter) people to discuss with.
It's doable, working two shifts. It takes a 30 minute walk from work to home to reset and prepare myself for shift #2. If my boss want both those shifts though I shall ask for double the money. I don't see how I could be working any more. This is my max. Both shifts require a creative and hungry mind. I'm very hungry at the moment but I suspect this is a phase.
It's cool you're spending your time producing, but don't forget you need to take care of yourself and hone your fundamentals (linear algebra, data structures, algorithms, your field).
I certainly believe people can be extremely productive for, say, 100h/w. For example, see Elon Musk for a straightforward counterexample to the "40h/w is peak absolute productivity on a sustained basis"-crowd. But it is useful to separate effective coding time from other productive, and not so productive, time. Empirically speaking, as evidenced by the thread and its sampling of highly motivated YC founders, few people average more than something like 4 hours of effective coding a day.
EDIT: I mean what I say in the first paragraph quite literally. Run Rescuetime for two weeks. See what it reports for Software Dev. That is close enough for effective coding time. It isn't rocket science. Self-reported numbers are almost without fail vastly overestimated, even for expert practitioners.
What I wouldn't give for a door... I'm not even allowed to wear headphones, so I get to field constant walk ups whilst listening to an entire high ceiling-ed office full of executive assistants all screaming at each other across the floor.
99% of programming jobs are not creative jobs. Most problems aren't that unique, and most programmers work within well-established boundaries and frameworks. Step out of line or take unconventional risks, and you may find yourself unemployed. This is not necessary bad, it brings stability, but also stagnation (it is why enterprise IT culture is so soul-draining, from first-hand experience). Not only enterprise but many startups operate this way. There is overwhelming cognitive bias towards doing what other people are doing, which will only lead to the same results.
and for every programmer claims to work that much, you also get two of them complaining on the costant shit the overworked one produces and have to fix strange bug half their time
eventually the software becomes a mess of tangled issues and advancement grinds to an halt irregardless of amount of time spent
They call it refactoring, I call it fixing a design issue. The code is no longer fit to fulfill the requirements of it's task and must be altered.
Of course hacks are fine, but they must be reserved for when the fan is blowing shit. It's not for cramming in just one more meaningless task into the sprint.
I was fired a few months later, with the main reason being that I usually left the office 9 or 10 hours after coming in and only occasionally worked the 12+ hour days that the rest did.
With a small codebase and self contained projects, I can't really say quality suffered. Only the employees.
Such practices are illegal (or at least frowned upon) in most of the civilized world.
It's called "employment-at-will", and it's not that uncommon.
The other is to be in a business that the employee is passionate about for intrinsic reasons. If the employee is a "true believer" in the company's mission, that can be a motivator to go above and beyond.
Using technology and/or techniques that the employee is interested in learning can be a useful driver. Someone who wants to learn machine learning, for instance, will put in the extra hours if they're given a chance to do it at work while working on a project. Granted it's not a way to get 80 hours from an expert in the field.
Another is to give an employee a great degree of freedom or responsibility in a particular role, and emphasize its importance to the company. Giving a programmer absolute technical authority over a critical project, with high visibility, can motivate them to go hell for leather for a few months.
Ultimately I think working 60-80 hour weeks over the long term, for any reason, will cause burnout. But you can get some short-term boosts if you align the employee's passions with your business needs.
So, if you give a shit about 20% of your job, and your job tolerates you doing personal stuff (slash miscellaneous browsing) for a few hours a week, then sure, 40 hours can be sustainable. On the other hand, if this job is your passion, work is stimulating, and you've got things you feel positive ownership over, then having 60-80 hour work weeks isn't necessarily unhealthy (so long as you're aware if and when those drives start to dwindle).
The other upshot of this theory is it dismantles argument that side projects hurt employees' productivity. The extra time spent pursuing your own passions simply isn't draining in the same way implementing others' ideas is. If anything, it adds motivation to the day-to-day stuff, knowing you'll learn skills at work that help the side project you really care about.
Some of us are also fiercely competitive. If I had the chance to compete with another company that (in my opinion) is full of idiots, I would probably work day and night to one-up them with my team.
Did the building have nets under the windows?
Standard expectations of 12 hour days is most certainly not the norm.
The games industry has had a poor reputation for a long time but I don't want to unfairly interpret people if things are better these days.
This has been the case for a long time and is no secret.
What should be the penalty for those who try to do it anyway?
correct me if I'm wrong, but usually such statement means that you can choose your own 8 hour timeframe to work. So you can work 08 AM - 4 PM, or 11AM - 7 PM, or whatever. It is not expressing expectation of 12h workday.
Lets imagine that overtime gets you 50% more productive output.
If your business plan requires 50% more output and you cannot afford to just hire 50% more people then it sounds like you are running a business with very tight margins.
Plenty of other things could raise your staff costs 50% and put you out of business. How about the higher staff turnover from burning out staff? Now you're paying your recruitment consultant more in fees and the extra cost of training and on-boarding new staff.
Be in America where employees are close to slaves, and people are scared of losing their job, so you can force them to do these kinds of atrocious things.
My brother lived and worked in North America for 7 years before returning to Australia. He'd been in Australia for a few months when I asked what the biggest change was. He didn't say no snow, he didn't say driving on the wrong side of the road, food or attitudes.
He said in North America people are scared of and slaves to their jobs because of Health Care, student loans and debt in general, where-as in Australia employers are thankful to employees, and nobody is scared of their job.
I think it's a powerful statement when it's the most noticeable difference after 7 years.
Households in Sweden take on heavy debt. If we loose our jobs here some of us fall back for a while on a (voluntary) system which from an angle looks like a basic income but that cover only a fraction of that household's mortage, enslaving us to a system in the same way Americans may seem enslaved in their.
I always though Americans were used to and didn't have a lost sence of security when job-hopping, the way their employment system is designed.
Edit: clarified the opt-in nature of such an insurance
As an aside, I once saw a homeless man in a Scandinavian country. Someone actually stopped their car to check on them. As a tourist from NA, my mind was blown. Was impressed by that but not having to pay 10 bucks for a cup of tea :p
As to the nature of debt, it is almost entirely in housing. It is currently a big debate about whatever there should be laws on private cash investment and mortgage repayment rates.
Homelessness example from Sweden's public radio (2014): http://sverigesradio.se/sida/artikel.aspx?programid=2054&art...
OECD private debt: https://data.oecd.org/hha/household-debt.htm
EDIT: Almost all the homeless people you see in Stockholm are Romani people. They are one of the five officially recognized national minorities in Sweden, along with Jews, Sami, Sweden Finns and Tornedalers (https://translate.google.com/translate?sl=auto&tl=en&js=y&pr...)
EDIT
> EDIT: Almost all the homeless people you see in Stockholm are Romani people. They are one of the five officially recognized national minorities in Sweden, along with Jews, Sami, Sweden Finns and Tornedalers ...
Please refer to my post below replying to this same assertion from another poster.
My point is that the OP was attempting to construct an argument about the supposed failings of a social structure based upon an anecdote about people that were never part of the social structure in the first place.
(NB I never said that they aren't welcome to join the society just that they haven't done so.)
That being said, someone in the US also easily earns double salary compared to Europe and has lower taxes.
I didn't say nobody, and I didn't say everywhere outside America. Don't exaggerate what I said.
I used an example that Australia Vs. America is a vast difference.
In my experience (and that of my brother), Americans not having maternity leave, sick leave, decent holidays etc. and having student debt and health care tied to their work means they are treated much more like slaves than in other high-performing OECD countries.
I'm curious about Sweden now.
- When one does lose their job in Sweden, what happens when you break your leg next week? or get cancer?
- How much student debt to those in Sweden incur for a 4 years bachelor degree?
- How many weeks of leave does Sweden mandate by law from full-time work?
- How about maternity leave and sick leave?
Alright then.
>When one does lose their job in Sweden, what happens when you break your leg next week? or get cancer?
Care for children is always for free in all clinics except private ones. Care for the rest of us cost 30 EUR, no matter if you have a job or not. There is an upper roof of how much your yearly medical bill is. This roof stays the same if you have a job or not. I have it that roof a couple of times but never for acctual medicine bills, so I don't know exactly how it works for medicine, but doctor bills, the upper roof is 10 doctor visits for 30 EUR then a year of no doctor bills.
Many have extra insurance to conver for events where you loose your ability to work.
>How much student debt to those in Sweden incur for a 4 years bachelor degree?
One part of the debt you take on you never pay back. That part is like a carte blanche check that students get to spend on whatever education they like, at University level. Second part is a loan. Some work part-time while at University and others hit the roof which would be something like 17 semesters and 17*2000=34K EUR. Then you start paying that back as soon as you take on your first job but never over ~1% of your income.
>How many weeks of leave does Sweden mandate by law from full-time work?
5 weeks. Many have 6 weeks. You can get those in money instead of as vacation. 4 weeks is around a months pay.
>How about maternity leave and sick leave?
Everyone have sickleave. First day: no money for you, poor sick fellow. Next day its around 70% of your pay. If you are chronically ill a special incurance takes care of you, puts you in early retirement.
All mothers: around 300 days of leave per child. You get goverment money during those days. All fathers: minimum is 3 months I think? They can also use some of the mother's days.
As a thought exercise, answer all of my questions above for the USA, comparing the answers to those you gave for Sweden.
Now you know why I said workers in the USA are akin to slaves compared to high-performing OECD countries.
I thought the American system would at least to some degree make job-hopping a non-issue, giving you a much more flexible work force, not anxious, since the fact that you can get fired and have to leave the same day goes both ways. But perhaps that worry comes from not having any type of security nets where we have at least a few. So sure, I see where you come from when you say an American employee is a slave to the corporation that gives him health insurance. He can hop only to other employers with health insurance. He will have less options than me.
We are healther in Sweden, perhaps, but slaves to the money system like everyone else.
- Health care insurance is not (as far as I know) provided by your employer.
- If you take the maximum amount of student loan from CSN (http://www.csn.se/en/2.1034), you'll end up whith ~70 000kr debt per year
- Swedish law mandates 25 day of paid leave per year for a full time employee. https://lagen.nu/1977:480 (in Swedish)
- We have parental leave with some compensation for 480 days, you can find more information here: (http://preview.tinyurl.com/ktgsyyg)
My point was not to say we have not come a long way in Sweden. It was to question if that really makes us feel less like slaves to the system. My view is we have built this system to make sure we have a happy work force. Allthough that might not sound sinister, it does make me feel part of a system that it is hard to opt-out from.
I definetly feel like a slave to the monetary system. But this is already way off-topic.
The point of this is that I wonder why Swedes get into so much debt. Housing is (apart from Stockholm and Göteborg and some popular areas in other cities) affordable by my Dutch standards. Wages are on par with the Netherlands, taxes are comparable (both are high-tax countries for wage earners), cost of living depends very much on your life style but is comparable to or slightly higher than the Netherlands. Still, Swedes seem to take on enormous loans for some unfathomable reason. Unfathomable, because it certainly is possible to live free here, without that yoke of debt. It might be a status thing, people want to live in those expensive areas even though you can get more space for half the price only a few kilometres away.
As a country we've slowly-but-surely gotten so many things right, but we have a god damned long way to go, and it just feels like we're crawling. I guess with a population of 320 million it's kind of like trying to turn the Titanic.
There were a few decades the country wasn't a glorified sheep shearing operation, but those days are long past.
https://en.m.wikipedia.org/wiki/Literacy_in_India
The World Bank, in 2011 based on 2005's PPPs International Comparison Program, estimated 23.6% of Indian population, or about 276 million people, lived below $1.25 per day on purchasing power parity.
Most of them still aren't homeless. They somehow have a house to live in. Most illiterates still don't go for a loan to educate their kids, they try to educate with hard cash although they do not get very good education but loans are a big no no(mostly)
As far as homelessness goes a homeless shelter in the first world is better than a lot of people's homes in the developing world. There will be clean drinking water, a toilet, almost certainly hot and cold running water, a sufficiency of reasonably nutritious food. One of the facts about the lives of the extremely poor I learned by reading that book is that it's common for migrant labourers in India to sleep on the street or where they're working rather than pay for accommodation. Mostly at work does not mean dorms, it means on a building site or on the floor in a store room.
but not all poor are migrant workers. Most poor people live in villages made by their forefathers.
Poor people borrow money but they do not have to give their house in return and become homeless in case of non payment.
> who's secure enough to make it a blanket rule not to borrow money is well above the kind of insecurity that those living on less than a dollar a day deal with.
But in the US, even people with degrees from good colleges become homeless because of debt. I will be surprised to see many people in India becoming homeless because of education loan.
edit: Just to make my point clear, there is a difference in mindset of people in India and the US. Indians do not risk taking huge loans just to be able to have a job at the end of college or take huge home loans to live a posh life and later become homeless in case of a job lay off.
The money that is spent on making education free for students at a tertiary level could be spent on improving primary education and it should be. No state in India is as rich as Ireland was in 1970. That's around when Ireland made secondary education free to students. To spend money on what is almost entirely a subsidy for the middle class when it could be used to help the wretchedly poor is an abomination.
Sources on that? Education is not free at a tertiary level. It's just really cheap. Also, your premise is completely opposite to the reality. Primary education in India has seen huge progress. Yes, there's still room for improvement, but the plans are in place. For example, public schools are mostly free and girls below a certain age gets free education. The concern is about low higher education enrollment levels, which stood only at about 24% in 2013 [1]. If tertiary education was free, this should've been much higher.
Coming back to the original comment, people usually don't take huge loans for education in India like in the US. So the chances of you being homeless if you lose your job is lower.
The occasional week-long sprint before a release is one thing. I think better management/planning would avoid them, but they're normal in such a competitive industry, I guess. So I've worked 80-hour weeks at times, no complaint here. In fact, I think they're healthy now and then, I like the buzz that I get at 3 AM, it's good concentration exercise...
Constant work at this pace though, no, can't do. First, that's how bad software gets written. You literally get worse at your business for doing it. Second, those additional hours per day aren't just family time hours. They're also learning-new-things hours, reading hours, keeping myself informed hours, debating stuff with friends hours and so on. Not having them further decreases my chances of getting better employment somewhere else (or even getting a better position where I work right now) and slowly turns me into a social retard living in a bubble made out only of headlines. That can't be good for me.
Oh, and without additional pay, it's illegal pretty much everywhere around here.
It's probably like getting drunk -- getting shitfaced once a year with your old highschool friends to celebrate the anniversary of when you all got arrested for egging the principal's house is kind of a healthy social activity. Chugging a bottle of Jameson every day because that's how we do things around here is called being an alcoholic and it's really bad for your insides.
I've had colleagues who glorified this sort of work. It does create some amount of peer pressure (unsurprisingly, the managers are quick to praise this sort of stuff), but after the ripe age of 17 I've learned to deal with that.
> No programmers really work 60-80 hours a week, especially in a 5 day span
There are cases when we are required to deliver athletic/marathon-like performance and it can be achieved for a shorter timespan
I have worked on multiple occasions, 14-16 hours per day to achieve 98-100 "productive" hrs per week, working 120 hrs a week for 3-4 weeks. I know it was productive, because I installed time-tracker and used a personal notepad too to track my time. I was invisible to my family, sleeping just 4-5 hours a day and sometimes I could not sleep after the first week. Also note, doing this as a freelancer I was getting paid for all that extra time - and I have a premium price attached for quicker results. I would not recommend doing this if you are being paid peanuts or being paid regular rates because that opens up a world of abusive managers/biz-owners.
Of course, few employers understand this kind of work pattern, and most of them prefer having a developer spend more time in the office, even though it results in less productive work getting done. This is often enforced by people who are unable to correctly assess technical skills or the outcomes of technical work. Since they have no clue who is competent and whether any of the work output is usable, they compensate by forcing people to spend more time doing useless activities that they can assess. Like sitting at a desk, having meetings, raising an issue and setting up a meeting of stakeholders to discuss how to solve that issue. Many of us have to work in environments where these enforcers create a lot of churn to make it seem like the enforcer is a valuable member of the team.
I suspect that there are more such useless people in the workforce nowadays because companies no longer try to hire good competent people who will work for one company their entire career. As a result, there is nobody in the company long enough to identify and get rid of incompetents while at the same time, the truly skilled people give up and find a new opportunity every 2 to 3 years.
By the way, the incompetents that I talk about are not skilled developers who make a mistake or two, or who get stuck in ratholes solving the wrong problem. I am referring to the people that are weeded out with fizzbuzz. Unfortunately there is no fizzbuzz for project managers, business analysts and a whole range of other support roles, including managers.
So my take on how to get developers to work at a high level of productivity is to make the environment excellent. Get rid of the people who waste other people's time. Cut way back on meetings and replace them with a good ticket system and some people who make sure that tickets are properly sized with clear requirements including context and acceptance criteria. This pretty much means a mature Agile shop. Focus on all the stuff around the developers and make sure that the retrospectives are as brutally honest as possible, and follow through on fixing problems that are brought up in the retrospectives.
Most of upper management and management involves strategic plays. Exploring a jungle, trying to find treasure, and doing so while other tribes are out there to kill you. Allies can become enemies and vice versa. Reality is cruel.
Triabl power is amassed through followers, and one of the best perks you can provide for followers is meaning. A cultivated environment where they can do what they want to do and is often what they do best. The messiness of dealing with what makes them feel like fools is hidden away.
The end result is that strong tribes (also known as insitutions or movements) can deploy "happy" specialists defeating other tribes, be it seige mechanics, hackers, or priests. The specialization is possible because they are shielded.
This specialization defines the middle class. Comfort within a bubble. A bubble that depends onthe existence of the institution or tribe they subscribe to. The overspecialization that is a strength ONLY as along as the rules don't change. The disruptor unwittingly becoming the disruptee. Twitter giving rise to Trump.
Having said that, I completely agree that long hours are overrated and maybe unhealthy. Burnout will follow. Everyone has to recover. Such long stints can only be kept up for so long!
However, I would say typical early stage startup work is 55 hours/week.
Basically 10 hours day through the week, and a couple hours on the weekend.
The stress is lower because you usually have more cash flow or significant rounds that make the work more enjoyable and you have a better comfort of working overall.
As the other reply says, usually you find people doing longer hours in a few selected periods of a startups life. E.g. First MVP, first big client... crunch time!
Sometimes I have to have a standoff with some salaried dragonwoman or other who takes offence but that's on me and doesn't run downstream -- as long as everything is being done why should this be a problem?
Productivity drops when you force people to work outside their peak schedule and as soon as you force school rules you immediately deteriorate your relationship with a subordinate because you're saying you don't trust them from the outset.
Someone takes the piss then reign them in. Starting from that position makes you a bad boss and an unhappy team is much less likely to scrape across the finish line each sprint than one who isn't...
I agree with this statement. I would amend it to say "As long as the work they signed up for is being delivered."
If it's the contractors/team members then no. Ive unfortunately had several highly paid (4 figures uk/day) contractors who think themselves above certain tasks, or who refuse to do anything they didn't agree with who seem surprised when they get told to fuck off.
You're an overpaid contract dev and you're refusing to implement your points because you disagree with the architecture even after it was discussed fully, while on a k a day? Fuck those ballerinas. They won't be getting more work with us then.
We are there to help a business achieve a goal, nothing more.
I don't consider myself better then my team when taken as a whole, however I am the lead for a reason and I'm much closer aligned on how to maximise what we're delivering to the client as I have to actually deal with them. The reasons why I sometimes have to pick a worse solution to a problem are obvious to me but not always to my team, but that's the way it goes and I'm the boss.
An example? Once we had a requirement to have a user store for some group of apps and we came up with a really nice ldap solution, and two members of the team were really invested in the solution and the debates were endless on some technical details of the implementation. It was beautiful, as these things go.
Then I find out that there's an existing AD environment we can just hook up to instead of reimplementing functionality that already exists so I shitcan the project.
Does that make me arrogant or good at my job? My job is to help my clients, spending a few months implementing something that already exists just because some of my tech staff prefer our solution is not helping my client, yet these two members refused to implement the Code to interface the existing environment.
Disagreements happen, but refusing to do work you disagree with when you're a contracted professional is unacceptable.
As for my tech credentials, yeah I did a bit of ia32 back in the days where one might want to use 16 bit registers to avoid nulls if you get what I mean, wink wink, but never for profit. C? Yes, I was a c developer and I maintained boost on Solaris for a few years while maintaining as much ingnorance of c++ as possible and not really understanding any of it (mostly a packaging gig).
Today, we are further up the stack but I don't think it has much relevance.
I don't make unpopular decisions because I don't understand what the consequences are which seems to be your take; I just pick the battles we should be fighting for our clients and my comment was that I have little time for people who can't put the client ahead of what they want to work on.
You are hired for your technical ability but that's to further the goals of your client. You aren't working on your side project and refusing to work on things, even those we all don't want to be doing but which further our clients goals is unprofessional and I have no problem saying goodbye to those who do.
Its good to be strongly opinionated. Discussion is great. Multiple solutions and experimenting are good. Your design doesn't happen for some reason (and like above, it might not be because it's not the best solution) that doesn't mean you don't look like a spoiled child refusing to do what you're getting £1000/day to do, and unfortunately this attitude is more prevalent than you'd think.
The people of talent and intelligence, like poets and writers, work due to their own vision and inner values to make money as a by-product of their chosen occupation.
Coding factories would inevitable fail like any other kind of a manual labor sweatshops.
To make intelligent people do their best (intelligence implies that this is the only way they approach any task) is to motivate them for the cause. Any kind of naive manipulation, primitive deceptive practices and employee-morale bullshitting would surely fail with reasonable smart people.
There is an economic law - a forced labor is not productive and it produces a lowest quality crap the whole system could get away with. That's why communism failed.
I would estimate that my team puts in (per person) on average about 5-6 hours per day writing code. About 2 hours go to emails, daily meetings, demos and architecture discussions etc.
I have very few interruptions during the day and usually 1-2 meetings pre-scheduled that are 30 min in duration each.
My phone is usually on silent for all notifications except calls and I turn off email as well when I need to focus. I take a short 5 min break every 45 min or so. I avoid HN/Facebook etc during the work day.
There is very little stress, we work towards a defined goal and have daily updates on the progress and what everyone focuses on. Deadlines are very rare.
I do agree that programming is a creative profession and that creative "energy" is limited to just a few hours per day/week.
However, most programming doesn't require constant creative insights. Even if you have to be creative (IE thinking of fancy features/implementations or something yourself) the most time is spent actually writing code.
I tend to think of something (requiring intense creative energy), planning what I'll be doing and when my creative energy is lower or I have plenty of planned work, I actually execute these plans. Writing code based on earlier made plans requires little creative energy usually. Additionally, the "executing" phase usually takes many times longer than planning.
For me, for a 40 hour work week, about 8 goes into planning, 24 goes into actual programming and 8 goes into useless meetings/e-mails/blablabla. Then I have creative energy to spare on my side projects for about 20h/week.
Tbh, I did spent a lot of time figuring out how to optimise workflow privately and professionally, figuring out why sometimes I could get stuff done and sometimes I couldn't. A separation of "creative time" and "doing time" helped a lot.
I'll spend half an hour working out how I'm going to solve this problem, write code for 15 mins, decide that the solution won't work, try another approach, experiment with that other thing I read about, get something working, then clean it up and write some proper tests, etc.
I need real focus and concentration for a few hours to make this happen, even if it's just implementing yet another login system that I know the logic for completely.
YMMV
- Let them work at home, at any time they want. Just reserve some hours for meetings or stand-ups if you want. Don't control the hours, control that the tasks are progressing.
- Open source parts of the codebase, let the developers own some modules or components on their github accounts. This way the quality of the code will be a personal matter to them.
- If shit goes down or hard deadlines approach (this happens) pay overtime and do a post-mortem analysis of what happened but DON'T turn that into a blame fest just cold analysis because most often than not its random factors of life (downtime for family or health reasons, whatever) and of coding not being a hard science (that external library that looked so sweet turned a minefield for example ) the real causes. Anybody trying to do that in the postmortem should be called out.
- If the last point happens too much, fire the manager/lead/CTO (normal programmers should be fired too sometimes but only when their performance is substandard and this is sometimes that will be easy to see day by day).
So, if attendance is your key metric the best way to get them to attend 60-80 hours a week is pay them by the hour, plus allow them to "work from home" half the time.
1. Pay your programmers per hour, and pay them very well. For example many people who are paid $200/hour would work 80 hours per week.
2. Provide free taxis or have easy public transportation to their homes.
3. Offer to pay for their children's daycare if they work extra hours.
4. Provide free food delivery from nearby restaurants.
I would sacrifice 5 years of my life in order to get financial freedom for the rest of it.
I'd love to be 5 years wiser and richer also :)
We did it, but the secret was that we didn't spend all of that time actually heads-down, working. (Surprise.)
We were in the office for 12+ hours (sometimes until 3am, having client calls and presentations at midnight), but how much of that time were we actually getting creative, productive work done? Maybe half.
And here's the problem: The hard part was, I was managing projects, and I had developers putting in 12+ hour days against my budgets, when I knew that maybe 6 of those hours were actually productive work time. Everything went over budget, across the board, for everyone's projects. At least on paper.
'Moral' of the story: you can require people to work whatever time frames you want. And if you pay well enough, people will do it. (At least until they burn out, or find a more prestigious/higher-paying job.) But it's a waste of everyone's time and money, and it creates more problems than its solves.
Worst of all, you're creating an environment where the culture of working 12+ hours is nothing but theatre. You spend half your time creating and carefully cultivating an artifice, just to meet management's expectations... which they know are unrealistic. Talk about being unproductive.
- waiting for compiles
- waiting for the CI server to finish running tests
- waiting for network transfers
- waiting for VMs to spin up
- waiting for slow algorithms to process data
- et cetera
Even if it were physically and mentally possible to problem-solve 16 hours a day, we are still not at the point where our processes and machines can keep up with us, and we probably never will be. The dev-test cycle in itself is very time-consuming and repetitive. I don't know any way of solving this that doesn't involve spending even more time writing a lot of unit tests.
while i'm blathering, this too:
"good programmers are lazy." -- anon
Maybe 10% of programming is the creative part,if you're not building artificial intelligence, but for instance consumer apps or UI.
20% is reading the technology API doc to understand how it works, 50% is writing the code down and the rest is bug fixing, so not so much creativity.
Wow -- this person doesn't know about hackers (granted that it's a term with multiple definitions). The problem with hackers is not getting them to work, it's getting them to stop.
A true hacker will work on a project far beyond any practical termination point, perpetually thinking of ways to improve the code in ways that meet private aesthetic goals unrecognizable to others and having no bearing on earthly considerations.
Programmers that quit after eight hours and go home may fit well into a corporate culture, but they're not the kind of programming addicts about whom legends are born.
Poets have a saying that poems are never finished, they're abandoned. It's the same with programming, but only if you're a hacker.
p.s. found the original quote:
"A poem is never finished; it is only abandoned." -- Paul Valéry
“Our team knows this isn’t a 9-5 company. We stay as long as it takes to get the job done.”
...the front door of the company opened – and a first trickle of employees left. I asked, “Are these your VPs and senior managers?” He nodded looking surprised and kept watching. Then after another 10-minute pause, a stream of employees poured out of the building like ants emptying the nest. Rahul’s jaw dropped and then tightened. Within a half-hour the parking lot was empty.
Astonishingly still many client CEOs ask me how they can make their developers work more, marketing also works 60h they claim.
Some larger software firms try to capitalize their R&D costs by developers to enter timecards. If the CEO doesn't prioritize work culture and labour norms appropriately, it's easy to make the case that developers aren't working hard enough (i.e. >40hrs/week) against anecdotal claims from other departments.
One might think the easy way out of this is to fight data with data and ask the marketing teams to enter timecards. But I've never seen or heard of any marketing department enter timecards, primarily because marketing is considered an operational cost to the busines from an accounting perspective, as opposed to Engineering being classified as a more favourable capital cost.
Thankfully the article itself proposes the questioner reconsider the realities of programming work.
It's very hard
Who works only 5 days a week? Saturday... sure take the day, but many of us end up working Sundays to get everything ready for Monday mornings. Making sure all the issues are prepared, reports for the past week have been written, all of our tasks for the week are defined and prioritized... 8-10 hours a day, 6 days a week... seems common to me.
If you cannot manage your time reasonably within this period, consider doing some research into that. If you can and yet your employers expect more time, then you're probably being exploited.
Either way this is not normal.