Many companies think their employees are being productive for 40 hours a week, while it's actually somewhere between 10 and 20, with the rest being a big void. If you are actually doing 40 hours a week you are productive as hell.
While the "I'm sitting down and writing things that are going to be productive" is likely in the 10-20h/week range, there is still a lot of
* Meetings
* Mentoring
* Answering random questions
* Continuing education (Hey, Spring 6.0 was just released, what's in that?)
* Support (and being available for support)
Those can easily fill in a lot of the 'void'.
I can point to 5h/week that are standing 'meetings' where it is often 'me helping out someone with a git or jira or GitHub issue' and it is that time that is designated each day (to try to avoid having the 'answering random questions' become too disruptive).
I am certainly not '40h/w, butt in seat, head down coding' and even though I may be only "productive" 10-20h/week, I'm certainly busy with work stuff to fill up the rest of my day. It's never "do an hour or two of work in the morning and day dream for the remaining six hours."
Most of these conversations seem to come down to weird definitions of "productive time".
Most of us managers would consider meetings, mentoring, work-related Slack conversations to be productive time. Yet I read a lot of the comments here where people don't consider anything to be productive time unless they're actively writing code, which ignores the realities of working in a team environment.
A better metric might be tracking the amount of non-work time: Time spent on HN, social media, reading news articles, running errands. Again, us managers are realistic that everyone can (and should!) take small breaks throughout the day. However, if those breaks expand to fill 20-30 hours of the supposed 40-hour workweek, something has gone very wrong. That's certainly not normal at any well managed company.
In fact, even just for specifically code-related work, think about code review. Really closely reviewing a big PR can take hours.
Here's a fun thought experiment. How many engineers in a team do you need before one of them could be employed full-time just reviewing others' code?
I don't know the answer, but it could be as few as 10 other team members, depending on the size and complexity of the PRs.
And reviewing code is extraordinarily productive - looking for correctness, code style and patterns, tool selection and usage, app structure, etc., etc. One of the best ways to mentor team members and help keep the codebase clean.
There is a framework that we used to use for tim classification in manufacturing that was based around adding value to the product - in software that would be coding, testing, etc. Then there is necessary non-value add, like meetings and slack, that are needed (so are work as you say) but don't in themselves make the product directly, so you want to minimize time spent on them while still accomplishing whatever is needed (obviously easier said then done). Same goes for admin stuff. And then there is non-value add, like HN or whatever.
Personally, I think the non-value add category doesn't translate from a factory to coding. If your job is putting boxes on a pallet, when you're browsing HN instead you probably don't do it faster later. When coding, at least for me, I take breaks to think or clear my mind, and I'm not swapping productive coding for online time wasting, browsing HN (or taking a walk or coffee) is a necessary part of the work that improves productivity.
All that to say, meetings and other management stuff can and should be streamlined as much as possible, small breaks, not necessarily. If someone is actually typing code (or an equivalent activity) 25% of their time sitting at the computer, I'd consider that e extremely productive.
Right, examples like yours are where it gets interesting. What I think can work is minimizing who needs to be involved in these kind of activities (not to say as few as possible, but only those its relevant too), and looking at how important they are to the desired outcomes, basically understanding how much time they take up vs what the return on the time is. All easier said than done of course.
I do like the idea. Maybe there’s a distinction between direct productivity and indirect, overhead-like contribution? Sort of the difference between gross margin and net income?
But it’s tough. As a product manager, I think that the right spec can greatly increase engineering efficiency. If that’s true, and bear with me, spending an extra 20 hours on a spec might save 1000 hours of dev time. Isn’t that the same as making those devs more productive? So do we count that work as 20 hours, or 1000 hours?
I like it in principle but I’m not sure it scales across disciplines.
I would consider anytime you are thinking about a work issue as productive time. So yes that includes time i am mindlessly browsing HN while my brain is processing information for me to come up with a neat solution to a problem.
But yes managers dont get this when i say i get all my work done during lunch hour.
I work for a company where meetings are extremely rare. We only do formal meetings when everything else fails. It is one of the most efficient/productive companies I have ever worked for.
The least efficient/productive company I have ever worked for had formal meetings all the time. What takes a week where I work now would take 6 months there.
So no I don’t agree that meetings are automatically productive/useful in general. I am pretty sure you can measure how productive a software company is by the following formula:
Time spent working on projects divided by Time spent in meetings.
You’re describing what I’d understand as productive time: if someone says they’re not being productive, I interpret it to mean there’s zero value to be derived for their employer from their activities. For example, being asleep or browsing Reddit or watching YouTube videos…
When I say I’ve only been productive for 20 hours in a week, I don’t mean I spent 20 hours programming and 20 hours in meetings, I mean I spent 10 hours programming and 10 hours in meetings. I’d be surprised if most people only count programming time as productive time! If you’re doing 40 hours a week of programming + meetings + support + any other needle-moving things, you’re more productive than I’ve ever been in a job.
Being available is still useful to your employer on some level. Even if you are watching videos, you can close it the minute you get a ping that needs your attention.
The only completely unproductive state is if you're doing nothing for your job and also refuse to respond to communications.
This is my experience. I spend 10-20 hours a week doing work that fits my job description. The rest is learning, mentoring, and organizing with other parts of the business to better enable me in those 10-20 hours of "real" work.
That said, I feel you could cut my time on the clock from 40 hours a week to 32 with minimal-to-no impact on my total productivity.
1. Non work social media. 2. Work socializing (water cooler). 3. External support/collaboration/reviews. 4. Day dreaming not about work. 5. Thinking about work while not “producing” maybe not even at computer.
I can work 40 hours where it feels like 10-20 hours are actually working on my “planned” work, but the other time is on #3 and #5 which “feels” like a void but is actually critical and valuable to business.
I’m not saying you are but some people categorize this sort of work as BS or not work and that’s totally wrong IMO.
most of my coding time is actually figuring out the right way to do something. breaking the problem down right and then another big chunk is identifying (& 'fixing') interactions with external components. I know those are important things but at some level it feels as if I am not being productive. still I justify it by thinking about the opportunity cost of doing it the wrong way.
> If you are actually doing 40 hours a week you are productive as hell.
I disagree. But I think what we qualify as "work" is more rigid than it needs to be. Is spending 5 minutes looking at HN every few hours work? Most people would say no, but it absolutely helps developers to know what's going on or new or what other devs outside their company are saying.
If I spend 20 minutes reading about a language/app that my company doesn't use is that work? I think a lot of the "yes" answers would be accompanied by rolling eyes.
Also, there is an assumption that everyone can be productive for any length of time without some form of intermission to break it up. What if most people need a 5-10 minute break for every 30 minutes work? You might not be able to get around that by just making the daily or weekly work hours shorter. You'd just be applying the productivity factor to fewer total hours.
I doubt we've found the optimal work to rest ratio, but a lot of these assumptions go unchallenged in these discussions.
> If I spend 20 minutes reading about a language/app that my company doesn't use is that work? I think a lot of the "yes" answers would be accompanied by rolling eyes.
I think it's unfair to not count any of this as work. As engineers it's important for us to be on top of current trends and available tools.
Yes, your company might not use it today, but if no one reads about new developments in tooling/languages, your companies processes will always stay the same and (if better tools for the job emerge), will just be priming a market that new entrants using better technology will be better able to serve.
Some exploration of new technologies is really important for people in our field, and it's really unfortunate that (many) people working in the field feel they have to spend ~10-20 hours per week of their own time keeping abreast of new developments to stay competitive
I'll go a step further. If you're productive 40 hours a week, then you're a tool, in the pure sense of that word.
You'll be passed over for promotions because you're so good in your current position!
You'll be praised and then one day you'll get a new boss when your old boss moves on. And your new boss will have this need to prove themselves to their boss. And they'll do this by turning your 40 hour week into a 60 hour week. Why? Because you're a tool!
Don't be a tool. Do what your boss does - spend time talking to people around the company - thats what lunch meetings are all about - figure out how to get those expensed! Get to know everyone and follow up with them frequently. Invite them to non-work things. Go home early because you have a life.
Unless, of course, your work is your life. In which case, you're leaving the dream, bud!
There shouldn't be a 20-30 hour "void" in people's work week.
If people are meeting, discussing work, building relationships within the company, or otherwise doing things around their work, I still consider that to be productive time. Nobody actually expects programmers to be writing code 40 hours a week. We know this.
On the other hand, if people are spending 30 hours per week messing around on the internet, browsing social media, chatting in social Discords, or other activities that are clearly not work related, that's not normal at all at well managed companies.
There are a lot of companies where people can get away with working 2 hours per day and then ignoring work for the other 6 hours of their supposed 40-hour work week, of course. I think a lot of people have experienced these companies somewhere in their career and concluded that everyone, everywhere is actually only expected to do 2 hours of work-related things per day. It's not true at all, and I've met a lot of people who really struggle to adapt once they finally end up on a well-managed team that expects people to put in more than a couple hours of work-related effort per day.
I suspect we'll see a lot of companies clamping down on these low-productivity pockets now that the easy money has run out and we're all forced to examine personnel costs very closely. I know I've had a few coworkers who curiously never seem to do much of anything. They've always been first to go when the layoffs arrive and their managers are forced to choose who stays and who goes.
While I agree with you in principle, some of us have KPIs which implicitly assume "productivity" equals "hands on keyboard, delivering features".
I'm a consultant with a 70% utilisation goal, meaning that at least 28 hours per week needs to be spent on things which I can defend billing a customer for. Add non-billable pre-sales activity and admin task on top, and not much time is left over.
My own experience and what I've observed in other people is that this is unsustainable both because of normal working habits and the unreliable cadence of new projects. As a result, I spend a few months of the year working 60 hours per week to get ~100% utilisation, then the next few months getting as much project time as possible while also catching up on all the other obligations I was forced to neglect like training.
As I write this, consulting seems more and more like a really shitty style of working...
> On the other hand, if people are spending 30 hours per week messing around on the internet, browsing social media, chatting in social Discords, or other activities that are clearly not work related, that's not normal at all at well managed companies.
It all just depends on how much ambition you have my friend, you too can slack off for 3/4 of your workday if you don't take on more responsibility than you can do in 1/4 of your time lolololol
I agree with most of what you say, but it still leaves room for efficiency gains if there’s 15 hours a week of meetings and building relationships that could be done in half that time, leaving an entire workday freed up.
I’ve worked on plenty of teams where nebulous “team building” was an entirely enjoyable and majority unnecessary excess way to spend time at work. Loved those teams, but we could have worked a 4 day week, still had a tight team, and gotten just as much done for the business.
> I know I've had a few coworkers who curiously never seem to do much of anything. They've always been first to go when the layoffs arrive and their managers are forced to choose who stays and who goes.
I've heard that at Amazon, these people are referred to as "PIP fodder", which makes it sound like they're still able to contribute the fulfillment of business objectives, in their own way
"If you are actually doing 40 hours a week you are productive as hell."
That's assuming that the work you've been set to do is productive, and you're doing it in a productive manner.
For instance, I've spent weeks grinding away on features that never get used by customers. Is that productive?
I've also spent hours trying to fix a bug because of infrastructure/platform/tooling constraints that means the code/compile/debug cycle is stupidly slow. Is that productive?
I don't have the slightest doubt I could be a lot more productive than I am now while working less hours. But it's often down to factors that are more or less out of my control.
Well, sure, the total amount of time I've spent working on features that never ended up getting used by customers over the last two decades or so is something I wouldn't want to think about. A certain amount of it is inevitable with software development (or probably any sort of product design and development), and you'd like to think you're at least learning something from the experience, but undoubtedly you could be doing better things with your time...
My fear is that if you’re being productive 20 hours and unproductive 20 hours a week and the work week is reduced, how do we know you won’t just end up being productive 10 hours and unproductive 20.
That said, we should definitely be experimenting. If people are equally productive at 40 hours and 20 hours, we shouldn’t keep them in the office just for aesthetics.
>My fear is that if you’re being productive 20 hours and unproductive 20 hours a week and the work week is reduced, how do we know you won’t just end up being productive 10 hours and unproductive 20.
Unless you are a cashier or some other customer service position, the time you spend working should be matter very little compared to your output.
If you a job that takes you 20 hours, you can either do it in 20 hours and get a huge chunk of your life back, or you can do it in 40 hours and spend a lot of time chatting with your coworkers making them unproductive.
It's up to management to understand how much time it takes to complete tasks and to staff accordingly.
This is very dependent on the industry. My friend does tech support for field technicians at a major alarm company. When he is working he is really working. The calls/paperwork are constant.
Conversely, many gigs I've had there was multiple hours per day of mindless web surfing because there just wasn't work to do.
Many managers just want to see the serfs whose time they've paid good money to rent, fuelling their egotistical needs, and are not making rational choices about productivity at all.
Such irrationalities have always been present in the institution of wage slavery.
See twitter for an excellent current example of what this looks like.
There are companies in the SW industry that require 40h/week and actually monitor that (e.g. collecting metrics in 10-minute intervals and rejecting intervals with low intensity levels).
Got a list? Just so I know which companies to avoid like the plague.
Sometimes I'll wander round the house and read docs or make notes on my tablet while doing housework, still contributing to future work/planning but definitely would show as 'inactive'.
I am sure those companies won't pop on your radar but they will for Indians and other foreigners that want to earn average US salary in their own countries. And yes, you should completely avoid them, they have typically terrible reviews and treat devs as machines.
I know one UK dev who took a job in one of those, moved there from some hotel booking company, earned $200k, lasted almost 2 years and then got unceremoniously sacked right when one of his close family members passed away due to missing required metrics.
There is one that advertises heavily and comes up on job searches. I don't recall the name, but you can tell because of the weird range of salaries, like $50k for a developer while paying $300k for the manager. When I dug in I saw they use this kind of tracking software.
BTW, most FAANG companies monitor and record everything you are doing, you just don't hear about it because they are smart about it. But when SHTF, you learn very quickly. Also ask Meta devs about their typical workload if they want to keep their jobs (they actually have to work).
Not if they only do business in the EU with legal entities like freelancers or small limited-liability pass-through companies where there is no weekly time limit for the owner nor the "no monitoring" requirement.
They also have different definitions of what productive means. For example, employees may view meetings and such as unproductive whereas the company may view it as a productive part of the decision making process. Organizational & communication overhead is required for working in coordination with large numbers of people in multiple disciplines. However, from the IC employee's perspective it's mostly a distraction and counter productive towards their outputs.
No, people would cut the unnecessary BS in order to get things done. Most people can’t concentrate 40h/week, so the BS serves to fill up the remaining time.
I work like that. I work fully remote, around 20-25 hours a week but when I start working I do focus on work for 4-5 hours without any breaks, no HN, no social media, no eating, nothing. In every company/team I've worked in, I was almost always seen as the most productive person, while others reported working 40+ hours a week. It can be done if you have proper environment for it.
Freelance web developer background currently developer / business owner - my achievable baseline is 30 hours of billed out time and around 10 hours of admin/emails/meetings etc. Keeping the emails from eating the rest is an ongoing battle though.
It depends on the meetings (and the email), if its directly related to a project it can fall under project management but a lot of them end up being internal comms or estimating for minor jobs that might not be approved etc.
Despite what people think, coding 100% is not necessary most productive. Those meetings and social intersection are more useful than people would guess, it is hard to measure team cohesion and the power of good decisions like lines of code.
It's not exactly hard at his level. He can delegate absolutely everything and cannot be obliged to do anything. He can pick who is around him at all times, and they are usually obligated to cater to his wishes. 120 hours of casual chats, meetings, presentations, shared meals, and travel count as long as it's related to any of his 3 major businesses.
Not sure where he finds time for that in-between tweeting, jerking off, smoking dope, eating cheetos, playing video games, and quid pro quo sexual harassment, lol.
I once worked real 60-70h weeks, ca 4 weeks nonstop in order to meet a critical deadline. Probably took three days off in that timeframe. I basically slouched in the living room all day and hacked away, surviving on chocolate and nootropics. Can’t recommend this, at all! My body tenses whenever I think about that, three years later, and I never wanna do that again.
I've seen tons of people doing it for extended periods of time. I can think of
- ambitious people working in competitive environments (research, corporations, students)
- doctors/dentists/nurses, lot of them work long hours and their job require focus
- small business owners
Yeah, I think there is a pretty big culture bubble, and know people on both sides.
Some people spend most of their life working 60 real hours weeks, especially blue collar work.
I have a white collar workplace, and there is a big spread. There are people that do 20 hours of real work and those with a 60+ hour average.
I have done 100+ hour weeks of real heads down work & all nighters , but can't/wont do it prolonged.
As skeptical as some people are of merit based compensation, I'm confident that the willingness to pull out the stops and get it done has lead to promotions, raises, and freedom to scale down my workload during slow times.
I think it is interesting that some people simply don't believe that high volume work happens, is productive, or is even possible.
> I'm confident that the willingness to pull out the stops and get it done has lead to promotions, raises, and freedom to scale down my workload during slow times.
If I had this confidence, I'd put in the hours cheerfully; I've had spells of 80-100 hour weeks in the past and invariably it was caused by sales people or managers over-promising without asking a technical expert, and could have easily been avoided. Doing the hours resulted in some vague gratitude at best.
Now (in a new role), I can see clear evidence of things which are correlated with promotion, but working long hours is not one of them.
I agree that hours by themselves are largely meaningless. I should be more clear and specify hours when necessary, and not some arbitrary deadline. For example, I've been on projects that are stuck or failing and each day they are down or behind costs 7 digit revenue per day. Being the person capable and willing to work overnight to fix it or put in long weeks until it's done bought me a lot of Goodwill, promotions, Etc. I still have directors that mention them in all staff meetings after 5+ years.
Of course working 60 hours a week on some bullshit project with no impact will not have the same results.