Feature requests and bug reports are easy. Writing features and fixing bugs is hard. Your todo list will always grow faster than you can tackle items. Once a senior engineer retired, and I inherited about a hundred of his bugs out of the 600 or so he left behind.
It's a marathon, not a sprint. Working at a consistent pace is better than burning yourself out. The work is omnipresent. It will never stop growing. It will consume all if you let it.
Unless you're at an early-stage startup, let your manager deal with your giant and ever-growing todo list. Let someone more plugged-in to the business side deal with prioritizing, and focus on technical excellence. Unless you aspire to management yourself, that's already plenty to do.
Anyone who tells you every engineer needs to be in touch with every business concern either only works on early-stage projects or is part of a hustle culture that I don't ascribe to. I don't have the energy for technical excellence and knowing everything about the business.
I appreciate your experienced perspective greatly and it encouraged reflection (I agree with working at a consistent pace), but I believe there can also be a middle ground to have awareness of business concerns to understand when to switch teams or even companies. It's painful to work very hard at assigned tasks, only to find it wasn't valued due to business priorities.
It's sort of like making a movie. You start out with more material than what you need for the finished product because sometimes you don't know what's going to work ahead of time. Yeah, it sucks when you project gets left on the cutting room floor, but it happens. There's plenty more work to do. It might sound cynical, but don't get attached.
In terms of a middle ground, I sort of think about business concerns the same way I think about the news. Be aware, but don't worry, because you don't have much control anyway. If something really important comes around, start preparing to do what you can with what little control you do have (job hop, move out of a place that's about to be a war zone, etc). Don't waste your finite time and attention on day-to-day details. Save it for the big stuff.
Places that reward non-leaders for impact are doing so intentionally to encourage people to self-organize into teams that produce the most value for the business. The theory being that the people on the ground often have a clearer view of whether value is being created than the various layers of middle management do. If you work in a place like this it's actually part of your job to stay plugged in to the business side and determine whether you're working on something valuable or not.
Of course, as you point out, to work like that sustainably it is important to pace yourself, limiting working time. The natural consequence of that is a need for prioritizing the todo list, because not all of it will get done. I say “the” todo list, because if there are multiple they must be merged so it can be determined what tasks come first. It is cumbersome and distracting to do this merging and develop a business understanding of everything landing in an inbox to be able to prioritize it so indeed a natural temptation is to let a manager do this toil, and just follow their cue.
The consequence of letting a manager setting priorities is a loss of control. You have to have faith the manager will give the right kind of work in the right amount. I am not a good fit for this approach, so I tend to take control of my todo list by proposing my own projects or seizing opportunities as they pass by. This does require having good relations up and down the org chart and good insights into the nature of the business, so ymmv.
Seeing work as finite is imho mistaken. The possible work that can be done in a business is effectively infinite, and an effective business will find the best set of work to do with the resources they have, and an optimal level of resources to do enough work to deliver value, but without breaking the bank.
I think we have very different approaches to work. I can’t imagine being anything but excited if some asshole boss thought I would quit because he was paying me to do nothing
I've never had any other experience with HR at commercial employers.
HR is for the company, not the employees.
Interesting, even if it weren't to make him quit, in my home country (Germany) this would represent a breach of contract.
So 25% of people work under 4 hours a day including meetings, 50% work 4-8 hours a day, 25% work more than 8 hours a day. And seniority does not affect this curve.
I tell all my DRs that, at the end of the year, I will evaluate them on their (self-assessed) 3 most impactful things they've done that year with a 60%, 30%, 10% weighting.
There's a couple of different ways of optimizing towards that goal, you can try out a lot of little projects and double down on the ones that seem like they're working or you can do a careful analysis and scope out a few things you think will be a big hit.
In truth, there's no ability for me to evaluate them to that level of precision, the framework is mainly there to foster two skills I regard as vitally missing:
1. Ruthless prioritization. One of my frequent questions is "does this sound like the 4th most important thing you'll do this year? If so, why are you doing it?". Being able to cut down on the noise and really focus is hard for people, especially when they feel like there isn't a permission structure in place for it to happen. Even with an explicit focus in place, the norms of the workplace make clearing away time for deep thought preciously valuable.
2. Owning of measurement of impact. Being able to measure a thing is, I believe, in many ways more important than doing the thing in the first place. Measuring forces us to ask hard questions that we often skip over: What metrics am I hoping to affect via this project? How does this metric tie into the larger goals of the company? Are we measuring this metric already? If not, how do we start? What change in this metric would count as impactful vs other projects I could be doing?
The point is that they have no real understanding of time it takes to develop anything. It all comes from what the developers tell them. You have a huge asymmetric information advantage and should be able to use that to limit the amount of work you have to do.
To put it bluntly, if you work 45 hours a week now and want to work 40 start padding you estimates by 10%. Nobody is going to know.
That would be a wonderful strategy if they asked for estimates.
Even if engineering has literally 0 planning input at all they're still the ones doing the work. I've never seen a PM sit behind an engineer 45 hours a week and make sure their working. Just stop working and go home or take a longer lunch if you want to work less. They're not going to fire you. The logic doesn't make sense. Firing an engineer on a project behind schedule is going to make the problem worse. Not better.
If you are legitimately worried about being fired you're in the top 1% worst organizations and it's time to move on.
 It would not be an exaggeration to say that this division has literally never produced value for the company.
It will likely never improve
> There is no noise here, just socially acceptable noise.
If you want to be great at your job, then understanding the context of business and product decisions will let you make more nuanced technical decisions that support where the business is heading, not just where it's at today. If your manager, and PM, and business POCs that you work with are all excellent, then maybe you can get this context from them. But chances are that at least some of the people around you are fairly mediocre, and part of being great at your job is making things happen in spite less than ideal circumstances.
Maybe what I would consider being great at the job is what you would consider unhealthy hustle culture, and that's fine. If you want to just get by and not be exceptional in the role, that's much easier. But in that case, why even focus on technical excellence? You can get by with less.
Basically, if you're gonna slack off, then you might as well slack off across the board. If you want to be excellent, then be excellent across the board.
I want to be great at software engineering. I want to use tech to build things. I see it as coincidence that there's enough overlap between that goal and the company's goal to at least make me good at my job.
 That's a lie. I wish I had no loyalty to the company, but my personal pride in a job well done unfortunately means I have a non-zero amount of company loyalty.
 Just happened to me, actually. My stress levels are through the roof, and I didn't even get a raise. Clearly I miscalibrated my job performance.
maybe present your own manager with a copy of "The Peter Principle" book? This seems like a literal example of it.
The Peter principle is a concept in management developed by Laurence J. Peter, which observes that people in a hierarchy tend to rise to "a level of respective incompetence":
employees are promoted based on their success in previous jobs until they reach a level at which they are no longer competent, as skills in one job do not necessarily translate to another.
In life in general I seldom back down from a challenge. I even play video games on the hardest difficulty.  It's bitten me more than once, but I still seem to have this almost pathological desire to really go for it rather than leave well enough alone.
It was also an opportunity to see behind the curtain. In my time I've had to deal with a lot of boneheaded decisions handed down from on high, and I wanted to see if I could get a glimpse of where they came from.
My job now consists almost exclusively of being handed boneheaded decisions from higher up the chain, fighting tooth and nail for something realistic, and coming to an unsatisfying compromise only to have upper management go around me and communicate their boneheaded decisions to the team directly.
 And yet I don't much care for Souls-likes. I just don't enjoy the core gameplay enough to want to climb the mountain.
It is doing 2 full time jobs basically. Because you don’t trust your team.
Lets say 80h weeks are OK there is still the hurdle that most corporate structures will actively fight against this level of JD-breaking initiative!
If the product is Dropbox you can talk to mates to do your primary customer research. But what if it is say defence contracts? Gonna be stepping on toes talking direct to customers.
If you are not doing primary research you are relying on those lackluster colleagues.
If you are doing this kind of stuff the job is just in the way, start a business.
For startupish roles where your job might be half coding half VP growth it might work.
I think Engineers should know something the product is used and why etc. But this can only go so far. Otherwise why have other roles at all?
If I don't do this I'm given more work than I can do because I have capacity right now then once I have added tasks invariably later everything comes home to roost at the same time.
It has always, and I mean always, been the case for me than I have more to do than I have time to do it. I ask my manager what takes priority, and I work on that. I miss some deadlines, but I try to hit the important ones, and that's just how real life works.
If they were worth fixing, then managers would hire more engineers and get through the todo list. So engineers might feel swamp but I guess they shouldn't.
You're too useful to remove, you may not get attention for corrective measures because of fear of the person leaving.
You are often too swamped to effectively get work done smoothly and in an expedient manner.
You become a single point of failure (bus factor 1) so that when you take a vacation / hit by a bus, the company suffers significantly.
A common personality trait of these types of people seem to be self reliance / control seekers. When they own that authority of work, they are less likely to accept delegation to get them out of their woes.
In general, these types of employees may end up being labeled super stars, but they're also potential albatrosses that could significantly wound a company if not properly managed.
I have 40 hours a week to work. He's welcome to divide that up how he sees fit. I'm not going to start working any more than 40.
Change the conversation from how much to when.
The thing they wanted me to do was maximum priority, but there was also some other totally unpredictable thing (often support related) that I also had to take care of. The higher-up was 100% sure it wasn't a real problem and assumed I was exaggerating the situation.
The solution to the problem of lack of trust is of course to convince them, or to leave. If you can't make changes that increase your productivity, you'll become stressed and burned out, and will still not be able to do enough. It is a decision they made.
The previous CEO of the story wasn't wrong about what's important at all. Only about how much time it takes. He considered everything important and maximum priority, but didn't believe the "previous thing" was taking 80% of the time of the team. I couldn't tell the team to "drop the previous task" like the other post suggested: it was also maximum priority.
"Important" and "Takes too much time" are very different.
So, try it. See how well you can do in 0.8 times the time. Probably not as well, but maybe still adequate for the boss's standards, or maybe not. Either way the impasse is solved, as both you and your boss will see exactly what can in fact be done in 0.8 the time.
At most places, the answer is going to be “you need to prioritize all of it. Oh, and by the way, here is even more work to put on your plate!”
I think this only works if you’ve already set boundaries on your time though.
If this is a chronic problem, or it's an established company, though, you realistically have two solutions that don't lead to burnout:
1. Don't deliver everything you're asked for
2. Find a new job
Once that culture is established it's extremely hard to change. It certainly will not fix itself.
> Well just do this in like the fastest, shittiest way possible
We can prioritize and things do get prioritized but if you have 40 hours of time and 80 hours of work, some ball is getting dropped.
Reminds me of a previous manager I had. He would come with a 20 to 60 hours task, and quite reasonably say "that's urgent, drop anything else and focus on this for as long as you need".
The only problem is that he did that about twice a day.
Had a guy who was an absolute star. Technically very sound. Committed to doing things properly. Managed his time diligently and productively. Tried to help everybody.
Reacted badly to every attempt I made to find somebody to assist him. I wanted to make sure he could take a vacation and not get a phone call. Also wanted to make sure the company had somebody in place who knew the work in case he decided to leave for some reason.
The thing is that I am very quick to understand things and can get a prototype working from a new thing we want to do in a week or two.
This way I know a little of of everything that goes on and when something breaks I am the one who can effectively debug and solve things.
Others can too of course but for me it is usually <1 hour while for others it would take at least the whole day.
I am passionate about my work and proffesion but on other hand don't want to be the albatross you are talking about
If the place is on fire? Maybe not.
The rest of the time? Spreading that knowledge is a force multiplier.
Enthusiastic contributors are rare and good.
Lazy managers who hope reports will self-manage are not.
If you identify a concrete issue, then it is the onus of the report to truthfully report on what is holding them back.
It was great when the manager was an experienced developer, as their sagely advice/insight often made sense and helped me think about my problems in new light.
But then we also had managers that never coded in their life who would link me some medium articles about some pop science productivity stuff.
I have anxiety around losing my job, which makes me more likely to say yes to piling on tasks. It doesn't seem so crazy when you consider my healthcare is directly attached to my employment.
Maya Angelou has a quote that's supposed to be inspirational but is actually depressing as hell: "People will forget what you did, people will forget what you said, but they'll never forget how you made them feel." Want to actually succeed in the actual real world and not the fantasy world internet commenters exist in? Focus on making people feel, not on results. If you say "no", they'll remember you made them feel like the person who turned them away when they needed you most. If you just say yes to everything and get to what you can get to, you'll make them feel like the person who tried their best.
Until all of civilization starts rewarding actual results over vague feelings (it never has), focus on appearances.
The recency of the good feelings matters too. If you push back now and set expectations for everyone, then a year from now your boss will probably remember the consistency more than the push-back.
Of course, it will depend on the people involved.
Communicating honestly (“If we need that done today, we have to deprioritize something else to make time”) will get you further unless you’re dealing with very immature management.
Any employer that does this is toxic. You should find a new place to work. One of the hardest and most important professional soft skills is knowing when to say no and setting proper boundaries.
if somebody is butthurt because you refused to take on more than you are able to... that's a bad spot to be in no matter if you refuse or not.
Okay, but…if you work a job not for fun but because you need the money, then you’re still better off in the bad spot with a job than the bad spot without a job.
I can understand if this is the first time it happens, but some people still complain about this after 5 years of dealing with the same thing.
At that point it’s their own fault.
If you happen to have access to free food, shelter, etc. and were only holding a job for fun, then sure!
They werent usually angling for a promotion.
The anxiety wasnt always unwarranted either. If you're in tons of debt, hate interviewing and work for an organization that doesnt care for people this isnt a wholly irrational strategy.
If your job is _that_ important, you might not get promoted away, but you'll get the salary as if you were and then some.
I take it as a rule to not ever mention that you're leaving somewhere until you're leaving and then follow through.
I see "wanting to leave" as either absolute ("I hate this company, no amount of money can make me stay") or relative ("I could make more money / have less work / do more interesting stuff elsewhere"). The latter can totally be shifted by adding significantly more money, at least for most people.
I'm a bit wary of the "peter principle" where people generally get promoted until they can't do their job well - but that's an institutional concern. From the perspective of an employee it might make sense to not excel because it could make you too valuable to promote. One of those annoying contradictions where you might have to look out for yourself at the cost of the company you're also trying to help succeed
Recently I was really proud of being able to take a half of a day to document all my systems to have a reasonable assurance that the documentation would contain all the info needed for someone else to step in if they need to and get something done.
And, it is a lot of systems! But we kept the complexity WAY down. And while the engineering is not perfect (is it ever?) I feel confident that someone can step in and work on these systems if I'm not here.
As a result I work very hard. I end up getting a lot of work done, and thus more work on my plate. This is often manageable and I use this as a gauge of my probability of being fired for any given reason. Someone knocking on the door of a PIP likely won't be getting as much work especially if it's reasonably complicated. It's been my experience as work starts to die down to a less-than-consistent level I'm usually out the door (never fired, but often laid off in this industry).
However, this burned me when I became staff-level because I'd get so much work that despite trying to reduce the bus factor back to "manageable chaos" I was unable to and ended up leaving the job for another one because I became the smart guy in the room.
But overall I aim to walk the razors edge between swamped and normal at all times because it's the only form of security I have. When I am in this condition I am now useful enough I have plenty of power over my employer and my position and for an employee this is an ideal situation to have. Especially when the alternative is extremely expensive "between jobs" insurance, or a less than ideal insurance package from another company.
That’s not how it works here. Insurance companies cannot refuse to cover you.
“Not your Problem” is a fine response to that, but as an example I had a friend with a serious health condition who was afraid he’d jeopardize / bankrupt any small startup he joined (and he was probably right).
This was pre-Obamacare but I don’t think that aspect has changed in terms of the costs post-Obamacare?
Generally I have this in the bucket of one of many reasons why startups don’t make sense financially for lots of people (either directly per danluu.com or more indirectly because of stuff like this or inferior coverage for things like fertility treatment etc.).
I thought most startups were part of a larger group plan (ie: through their third party benefits provider) so the costs would be distributed across that group plan.
For larger companies (such as T-Mobile, google, or any other 5k+ employee company it starts to make sense to self insure and only have the insurance company administrate the plan, tho for Amazon scale it looks like they’ve started self administrating as well. Point is once you reach that scale everything looks different and you can absorb an expensive employee.
Imo the real issue is that management needs to learn how to identify people who actively seek out work as their default state, and not heap work onto them. These people naturally try to work close to their limit, so adding more work does not make them more productive.
IMO, always working close to your limit will surely lead to burnout. Not sustainable, and means you'll be less productive on the long run, thua it's not real productivity. This "extra effort reservoir" should only be tapped into when absolutely necessary (say, Critical issue with production)
That said, if your limits are already very high, it means your productivity and output on 80% efficiency is already high, and I see no reason to artificially reduce your output any further.
I read an article long ago about the importance of slack for any workers, I think it's this one  though I'm not sure.
But it's also extremely mentally exhausting. And when I realized that, I stopped it and limited myself to 2 tasks at once outside of emergencies. Usually a slower-paced task where you fire off something and it does stuff for half an hour, and some smaller chore to do while waiting, or planning for a more involved thing, or reviewing and editing documentation. And if there is nothing to do with both tasks doing stuff... that's fine. Let's go and make some coffee or outside for a minute. Or it's just one thing if it's complex and critical and then I shutdown most communication too.
It's noticeably slower, naturally. However, this slower pace is very good for my mental health and it's beneficial for the team, because it allows other people to get involved with the pieces and systems I usually maintain. A coworker is currently wading through some of the marshlands of infrastructure only I tend to go through and constantly pokes me to document another weird nook or cranny. That's good.
Ended up putting me in the hospital.
Take the following example: You understand parts of the business that are critical. Those parts are high stakes. Someone asks you something about it and you give a legitimate answer that is correct. You will form a habit in that person of asking you since it's lower risk and far easier than coming up with the answer yourself. In many cases, the only way to wean this off is to instead say sorry I can't get at that right away but if it can wait (x) I can look at it. In many cases the solution will come around on it's own as it is time sensitive.
Anyone in that position will, over time, recognize this and leverage it. Couple that with the fact that any exceptions that happen out of the ordinary will wind up in your purview.
Of course, this is not true of all swamped people - some are just legitimately swamped and don't have enough time in the day to do the workload requested of them - but the guise of a key senior engineer this is usually the case I've seen.
In my experience, if you aren't totally useless you will eventually you will find yourself completely swamped all the time. Scheduled weeks in advanced, but also expected to be achieving much more.
Eventually you become a huge problem, you cant take vacation, and your time off in lieu just keeps collecting. You get burnt out and end up in sick leave a short time and your employer melts down because they cant function without you.
You find a new job or they fire you and the remaining employees just cant handle reality and they lose lots of customers. Then you get sued for $1.1 million because you're stealing their clients only to find out none of their clients came with. Opps on them.
I've also been doing this for a long time, and don't work at a startup. So I realize that not everyone has the flexibility that I do, but it is vital to me. I do not and will not live to work.
haven't read the books yet, but this definitely resonates with me (essentialism).
At this point I find it more of a negative reflection on a worker's judgment, accountability, and skill than anything close to a badge of honor.
I.e. constantly complaining about being swamped is a way of declaring (often just to ourselves) that we must be Very Important.
Appearances matter, I make sure I look busy / folks know I’m working.
I think sometimes the overwhelmed folks feel like they HAVE to be / look like they’re working.
I’m not often stressed or overwhelmed, but I do look “busy”.
To be good at working in a startup, you have to be okay "failing". Could you be working on That One Feature That Will Finally Fit The Market? Yeah, but you really should eat and work out instead, maybe watch a few episodes of that TV show you like because a healthy/happy you is better than a "swamped" drained you for the company.
Being overly confident in yourself is a hack to reach this state, BTW.
I lose some other off my arms and knees,
And the whole pile is slipping, bottles, buns,
Extremes too hard to comprehend at. once
Yet nothing I should care to leave behind.
With all I have to hold with hand and mind
And heart, if need be, I will do my best.
To keep their building balanced at my breast.
I crouch down to prevent them as they fall;
Then sit down in the middle of them all.
I had to drop the armful in the road
And try to stack them in a better load.”
— The Armful, By Robert Frost
Things managers can do to prevent this include:
- using a pull model of work flow
- enforcing WIP control
- using employee vacations to find bus factor problems (“hey, Brent was OOO for 2 weeks and these things were stuck, let’s fix that…”)
- creating a culture where backpressure to management is strongly encouraged
A mental model for repeatable luck building, especially when in a "yes mode", where just 1 big fast-moving item is unlikely to be the job (networking, partnerships, devrel, customers, investing, ...) , is learning to prioritize bandwidth over latency. This can be true for engineering as well: solutions, bigco, ... .
A lot of the above things are unpredictable in when & how they strike. A latency mindset means pick 1-2 things at a time and work through them... but that's stressful when they are big hurry-up-and-wait items that would require heroic efforts to make it faster. Think David vs. Goliath moments in fighting the slow pace of whatever organizations you're working with. Instead, prioritize bandwidth by multiplexing to another item.
There's no free lunch even with a bandwidth mentality. Now the issue is being randomly oversubscribed when multiple priorities land at the same time.
I'm running my own company, we are in the process of raising capital and between that and prod dev and sales... well, it is brutal.
I'm not proud of being swamped, but is a reality I have to live with as a founder.
- some people love to 'be' (describe themselves as) 'busy', 'rushed off [their] feet', and can't be any other way
- phrases like 'not having time' can be a useful shorthand, but are a bit silly, and should be used with the understanding that we all have as much time in the day as each other; we choose how to spend it: 'I don't have time to do x' is more accurately 'I am prioritising other things over x'
As an employee, "being swamped" might be amazing:
If your skills are so critical to the company's success that management has features wait for your high-quality attention rather than letting a less senior colleague work on it, that basically just means that you get a rockstar salary and the freedom to write your own employment contract. I get why having "swamped employees" is disliked by the company, though. It drives up salaries.
"... you would never say of him that he 'broke out a sweat': but everything was allotted its own time and thought, as by a man of leisure—his way was unhurried, organized, vigorous, consistent in all".
Here, Aurelius is referring to his adoptive father, Antoninus Pius, who was known as one of the good Roman emperors and undoubtedly a very busy man.
Whether people or personal-management, it's a management problem. So is the need for the heroics you see when people are swamped.
People can't multi-task. Their productivity drops when they work long hours. Etc.
Unfortunately, in software we're taught that it's not just normal but desirable. And our managers are untrained in people management, promoted only because they were good at their last jobs.
I love tech and in some ways even the Valley, but we’re overdue for a new set of obnoxiously accurate stereotypes.
Some people are swamped for good reasons, some are swamped for bad reasons.
Some people are not swamped because they are brilliant planners and know their limitations, others are not swamped because they are terrified of commitment or are avoiding responsibility.
Please, less writing and more understanding.
Saying no requires discernment, a sense of what's important and what isn't. It requires being intentional about what to do now vs. later vs. never.
You cannot be creative when you're constantly task-finishing.
Personally I like to get things done so if I get help fine, if not I get "swamped" and get it done. This is something managemnt should be aware of and usually they can't hire enough of the right people.
But as an ideal scenario I completely agree. Have a ton of smart and well motivated people and share workloads to acheive a common goal.
The metaphor I think more people should consider is "working like a lion than a cow". Short, creative, and powerful bursts like a lion hunting rather than a cow constantly chewing grass.
There's a competitive advantage in not being busy. Most of what we think we have to do, we don't have to do at all. It's a choice and often it's a poor one.
No, but it seems that's expected just to get a decent performance rating.
There's no one-size-fits-all answer to this.
I've never heard it described as such.