11 ms·
How do you make programmers work 60-80 hours per week?
- airbreather 9y agoBrain Knapp is so on the money here. 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.
- harrygallagher4 9y agoMy first programming job (actually, just my first job) was technically a 40 hour/week job, but in the employee handbook it said something along the lines of: "The <company name> day is typically regarded as 8AM to 8PM." They didn't pay very well either. Brian is right, I totally hated my job, hated my boss, hated pretty much the entire company, and quit in 5 months. I was pretty disappointed. I'm still cautious about getting back into the industry. I'm at school now, not studying anything CS related.
- a3n 9y ago> "The <company name> day is typically regarded as 8AM to 8PM." Did the building have nets under the windows?
- Consultant32452 9y agoThat's pretty SOP for the video game industry: low wages and insane work hours.
- solipsism 9y agoNo it's not. Infrequent "crunch time" is the norm in the video game industry, with regular hours outside of crunch time (if you're lucky enough to be employed at that time). Standard expectations of 12 hour days is most certainly not the norm.
- EliRivers 9y agoI don't want to misread "if you're lucky enough to be employed at that time"; are you saying that the games industry now hires labour for crunch time and then fires everyone afterwards? 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.
- tostitos1979 9y agoThat's how I read it. Clarify OP?
- solipsism 9y agoAs a game moves toward completion they will hire up. As deadlines start coming up (e.g. milestones negotiated with publishers) you'll experience crunch times. When the game finally is released, they have a swollen staff that they don't need anymore as they transition into the planning/exploratory phases of the next game. They absolutely lay people off at that time. This has been the case for a long time and is no secret.
- harrygallagher4 9y agoIt was the first floor! No need for any nets.
- tomsmeding 9y agoThat sounds horrible. I'm still at university anyway, but it seems to me that there should be a mechanism for detecting these companies and shutting them down, if they don't recover. I sincerely hope you'll find a job (industry, academia or otherwise) doing something you like doing in a place that you like. Good luck!
- deleted 9y ago[deleted]
- jpindar 9y agoLet's be clear. By "shutting them down", you mean legally prohibiting anyone from voluntarily agreeing to work differently than one university student (who doesn't even work there) would prefer, am I right? What should be the penalty for those who try to do it anyway?
- fatso83 9y agoBecause "voluntary" is only just that as long as you have many other options and can easily get away from such a place. In most industries that kind of job security/market fluidity that just isn't the case. Workplace standards are there to protect workers from being exploited. In much of Western Europe the work week is standardized to 40h/w.You can work overtime, but only within certain boundaries for shorter and longer aggregated periods to avoid every day being crunch time.
- mamon 9y ago> "The <company name> day is typically regarded as 8AM to 8PM." 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.
- mcv 9y agoThat's how I would take that too. It sounds like it's okay to come in at 11 as long as I work until at least 7 pm.
- harrygallagher4 9y agoThey definitely meant 12 hour days. I got there at 9 and left at 6:30 for the first few days (I hadn't read the handbook) and got an email from my boss about "leaving early"
- isaaclyman 9y agoThis sounds true to me, but it would take a very uncommon executive to put it into practice. MBA types won't do a thing without quantitative data behind it and attempts to measure real productivity in creative fields usually turn into meaningless self-fulfilling prophecies. I wonder what it would take to break the dogma of the 40-hour week?
- houst0n_ 9y agoRunning teams of contractors for years, I disagree it's uncommon. I let my guys do whatever they want as long as the work is being delivered. 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...
- balls187 9y ago> Running teams of contractors for years, I disagree it's uncommon. I let my guys do whatever they want as long as the work is being delivered. I agree with this statement. I would amend it to say "As long as the work they signed up for is being delivered."
- houst0n_ 9y agoWho is 'they' in that case? They for me is whoever is paying us to help them with their business. 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.
- noway421 9y agoAlmost thought that was Ask HN and was terrified
- xyzzy4 9y agoTo answer the actual question: 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.
- codr4life 9y agoWhy would you work 80 hours per week when a couple of hours a day is enough to get by? Or even encourage that? There's plenty more important things in life than work and funny money, and plenty more important things in work than number of hours spent behind the keyboard.
- tudorconstantin 9y agoBecause you know that you go full throttle for 3-5 years and then you have the possibility to retire. I would sacrifice 5 years of my life in order to get financial freedom for the rest of it.
- codr4life 9y agoAnd then you get run over by a bus.
- tvmalsv 9y agoI guess the alternative is to learn very little, have fun, run up huge debt, because why not, you're going to get run over by a bus tomorrow. But, then you don't. Well, crap.
- codr4life 9y agoGo ahead and postpone life then, no one will stop you; life still doesn't give a shit about plans. You should try being close do dying a couple of times, that will align your perspective with reality in no time at all.
- simplydt 9y agoI think it follows from Brian's point that only founders may ever put in that much work, maybe very early employees; as he said, the trick is to be painting your own house... 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!
- TP4Cornholio 9y agoIs that true? I avoided ever joining startups because I assumed everyone worked 60 hours every week.
- brogrammernot 9y agoTo an extent, yes. 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.
- TP4Cornholio 9y agoWhat's your experience on the average workweek for mid/later stage startups?
- brogrammernot 9y agoAgain, n=1 but I've experienced and have friends who have experienced around 50 hours/week for mid/later stage startups. 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.
- TP4Cornholio 9y agoWhat's your experience on the average workweek for mid/later stage startups?
- simplydt 9y agoHaving been based in various co working spaces where many startups work from I can definitely say most work regular work weeks! 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!
- drblast 9y agoI seem to be alone in this, but I actually do about 25-30 hours of actual programming work each week. And that's sit-down-and-concentrate-and-build-shit work. I'm pretty ruthless about declining extraneous meetings and I keep my door closed most of the time. 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.
- travisl12 9y agoThat is so awesome... you have a door?!?
- dsfyu404ed 9y agoMany buildings in areas with lots of defense and medical industry will be set up to be all offices.
- nojvek 9y agoI'm glad I get to work in a hybrid environment. We all have laptops for the actual coding. Have a number of rooms, lounge areas and meeting spaces as well as a central open area for coding. I usually code collaboratively with some of the team members in open space. Sometimes alone in lounge with good music in background, sometimes in a closed room whichever gets me in the zone. The rule is if you don't see someone in open area then you gotta slack. I absolutely believe giving developers the freedom to choose a personal space with walls and doors is very essential to productivity.
- lacampbell 9y agoI have an office. Intermediate dev/ba. 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.
- memracom 9y agoWhen I really like the work that I am doing and there are some real challenges, I can get up to 6 hours of work done before I have to take a break for a few hours. Not every day, but 2-3 days out of 5. It means that there is no point in making an appearance before 10 am or working past 4 pm. But when I am really smoking I can put in another 2-4 productive hours in the evening after 7 pm or so. 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.
- dlwdlw 9y agoThe danger here is that this ideal environment created requires external meaning and tasks. Exploratory movement is messy, painful, and inefficient. It often requires you to learn new things on the fly and punishes severly for understandable mistakes. 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.
- Xcelerate 9y agoI'm curious — are there any companies who have their programmers work ~4 hours a day? How does the work output compare to more traditional companies?
- jnordwick 9y agoTitle should include (2016). I remember when this went around last year.
- supercoder 9y agoWhy should it include it if you remember when it was ?
- deleted 9y ago[deleted]
- drewmate 9y agoBecause I didn't. It's mostly as a courtesy to me.
- matthewborden 9y agoIf you need your employees to work 60-80 hours per week, you need to evaluate your business plan and if it's actually viable.
- Qantourisc 9y agoIn case an employee has little overhead, get 2 "part-timers" and let them each work 30-40 hours per week. And cut all other distractions where possible.
- skrebbel 9y agoI'll never work in a place that considers 40 hours "part time".
- guy_c 9y agoYep!!!! 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.
- dbg31415 9y ago> No programmers really work 60-80 hours a week, especially in a 5 day span. That is a 12-16 hour day, 5 days a week. 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.
- Chinjut 9y agoThis sounds awful. Work to live, don't live to work, etc.
- EliRivers 9y agoYou're being taken advantage of. Someone has convinced you that this is normal and acceptable (quite possibly you have convinced yourself).
- chrisdone 9y agoYou're (presumably) being paid for 5 days a week at 8 hours per day. 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.
- dbg31415 9y agoI think it's very normal for anyone who owns their own business.
- jogjayr 9y agoThe "IPO-ing will make me exceedingly wealthy" scenario is certainly one way to get an 60-80 hour work week. 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.
- unholiness 9y agoYeah, I hear a lot of people saying essentially "40 hours is the most anyone can be productive for in a week". My more realistic rule of thumb is that people can tolerate maybe 20-30 hours of doing things they don't intrinsically care about. 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.
- gurkendoktor 9y ago> 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. 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.
- tutufan 9y agoYeah, you can demand that people get shit done. But in the end, shit is what you will have.
- hnnsj 9y agoFully agree on the office hours aspect of it, but not necessarily on the "you can't get your best work done by someone else's specification" aspect. Either I'm missing some point, or this sounds rather egocentric to me. What is "good work"? Beautiful code? Difficult code? Or is it code that is actually of utility? I'd argue the third. If your code isn't doing anyone else any good (and hopefully enough people to make it a viable business and thus "work". And if your code is supposed to help anyone else, you have to build it to someone else's specifications, implicitly or explicitly.
- peterbecich 9y agoWakaTime is great for tracking time actually spent typing: https://wakatime.com https://wakatime.com
- lngnmn 9y agoStill trying to apply manufacturing or construction work practices to IT in 2017. 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.
- camgunz 9y agoPay them double the money for half the quality.
- gregn610 9y agoAgreed to a point, but there's also several hours a day of non-programming that just has to get done which never features in these SV conversations. Dealing with network guys to get the firewall exceptions you need, getting the DBA to actually do the indexes you asked for, endless ticket updates, meetings, more meetings, timesheets, checking the contractor's deliverables, production issues, interuptions etc. etc. Then add understaffing, UAC policies, sanfus and shifting requirements. So sure, 3 or 4 hours in the programming zone easily becomes a 55hr week.
- euph0ria 9y agoI find the numbers somewhat off compared to how it is where I work. We are a small team mostly working remotely. 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.
- LoSboccacc 9y agoA: you hire young one that have no idea what they're doing and jump into problems both feet without thinking a path ahead 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
- devoply 9y agoThere may be a few exceptions, but by and large a young inexperienced programmer's 80 hours will be worth an experienced programmer's 40 hours... plus the cost of the fact that the inexperienced programmer will make mistakes which will cause your code to quickly become unmanageable without oversight. Churning out code is quite a bit different than churning out good code.
- javier2 9y agoI am 27 and am fighting those same 24-year olds that want to code before they think. 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.
- LoSboccacc 9y agoon the other hand, I'm fine with hacks and shortcuts as long as they're hidden behind a sane, non-leaky interface. Not everything needs to be utmost perfection, especially on the outer layers of the app
- Sorreah 9y agoMy last job was exactly that. I was dropped in as an almost-30 year old, working with young 20 year olds still in school. 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.
- ntlk 9y agoI wouldn't trust the creative work of someone who does over 35 hours a week. Creative problem solving requires the ability to switch into a relaxed state at will, and I haven't yet met anyone who can do it while under pressure to work 60 hours a week or more.
- _Codemonkeyism 9y agoWork or sitting at their desk? (or staying in office doing 'stuff'). From my experience and some studies knowledge workers peak at around 30-35 hours a week. Astonishingly still many client CEOs ask me how they can make their developers work more, marketing also works 60h they claim.
- otoburb 9y ago>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.
- lutusp 9y agoQuote: "No programmers really work 60-80 hours a week, especially in a 5 day span." 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
- bnegreve 9y agoHis point is that developers can work a lot on their own project, but you can't get them to work that much on someone else's project.
- deleted 9y ago[deleted]
- grecy 9y agoAnswer: 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.
- aerovistae 9y agoIt's true. I love the US, but our student loans and healthcare systems just flat out suck. 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.
- rorykoehler 9y agoExceptionalism is a strange beast. Thinking this way only hurts society at large.
- aerovistae 9y agoThing what way? How is this exceptionalism? How have I implied in any way that the United States is different or better than other countries?
- rorykoehler 9y agoSorry I was agreeing with you... Can see how you could read that in a way I didn't intend. My point was that by thinking the American way is the best already it stops healthy feedback loops.
- 9y ago
- tobyhinloopen 9y agoI somewhat agree with the author, but I have some comments. 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.
- wootest 9y agoImplementation may be strictly mechanical if you have everything planned out NASA-binder style, but surely there'll still be a need to adjust the plan from time to time? Then there's debugging and maintenance, both of which may not require all your creativity all the time, but if you're creatively sapped, you're walking into it with a few tires already slashed. At least that's what I've found in my own experience. It's not that you have to be creative constantly, it's that you have to be able to summon up the capacity to be creative at any given time.
- simion314 9y agoAlso a lot of time is spent on investigating issues and fix those.
- marcus_holmes 9y agoIf your plans work first time, sure. Mine never do. 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
- seajones 9y ago35-40 hours, but we have some guys who work extremely long hours, showing their effort out, which is fair enough
- spacelizard 9y agoThis article also leaves out: - 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.
- auvrw 9y agoprovided there are a few tasks to handle at once, some of the time under the general "wait for compute" heading can be reduced by switching between tasks ... just recently (my dumbfoundedness over why i didn't think of this sooner being the main reason i'm posting) i realized "hey, why not clone the local repo into _another_ local repo?". the thing to figure out is how to decide whether waiting for compute or context switching will be more boring (or "less productive"). while i'm blathering, this too: "good programmers are lazy." -- anon
- lacampbell 9y agoDo people who work like that actually get valued by their employers? To me it seems like they'd be treated as expendable and easy to push around - not a valued trait for promotion.
- andreapaiola 9y agoyeah, I practically don't do meetings (I'm not in USA) and I do 40 hours a week of almost pure programming. It's very hard
- andreapaiola 9y agoStupid (not very intense) bug fixing > 50% of the time.
- daliwali 9y agoI both agree and disagree with the premise that programming is a creative process. Donald Knuth calls programming “an aesthetic experience much like composing poetry or painting.” The most creative work can be done when it's not clear if something will work or not, that is it might fail, and it requires the ambition of a mad scientist to succeed. The individual programmer must have autonomy and not be micro-managed or ruled by a committee, otherwise they will resort to being creative in ways that are petty and insignificant, like naming conventions, syntax formatting, arbitrary rules, etc. 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.
- ganfortran 9y ago20 hours sounds right. I don't think I could gain more actual productivity forced by someone even myself to work long hours. Often time, when it feels right, the code just spills itself like charm, and after that my brain just turned south for distractions.
- wellboy 9y agoGood article but disagree with one of the main arguments that programming is creative work. 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.
- haidermalik12 9y agoBetter ways to write asynchronous code in Node.js http://fullstackhour.com/better-ways-to-write-asynchronous-code-in-node-js/ http://fullstackhour.com/better-ways-to-write-asynchronous-c...
- faragon 9y agoFew can do real programming work over 30h a week. If you force people, you'll get fake work. Specific individuals can work more, by themselves (challenge, pride, try to show whatever, etc.), but are the exception. And of course, that effort level can not be sustained forever.
- paulryanrogers 9y agoQuestion itself strikes me as only slightly better than "How do you make workers indentured servants?" Thankfully the article itself proposes the questioner reconsider the realities of programming work.
- smdz 9y agoIf an employer is expecting this, they are setting themselves up for failure. > 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.
- adpoe 9y agoEarly in my career, I worked at a few different businesses where management expected us to work 12+ hour days. Mostly web development & design. 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.
- gorthol 9y agoThat how I would maximize developer productivity (but NOT working hours) if I owned a company: - 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).
- koonsolo 9y agoSteve Blank has a nice article about this: https://steveblank.com/2016/09/07/working-hard-is-not-the-same-as-working-smart/ https://steveblank.com/2016/09/07/working-hard-is-not-the-sa... “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.