I have worked at both startups and tech companies 40+ years old, and the conclusion I've come to from my anecdata is that every engineer at every company is swamped all the time.
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.
My worry is that you can be technically excellent and fantastic at what you are assigned, only to find later on that the project you've been toiling over has been cancelled or valued far less than another team's work.
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.
Yeah that happens. More than once I've thrown away a lot of work due to a shift in priorities. The thing to realize is that as an engineer you have very little control here. All you really can do is argue with higher-ups (they likely won't listen) or job hop (you can't do that too often).
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.
The problem is that most places reward you based on "impact" somehow, not "impact had we not given you such a bad roadmap to follow," so being unplugged from the business side is rolling the dice w.r.t. future recognition of your work, no matter how well you did
Not all places do this; the place I currently work only rewards leaders for "impact" and people have the option of whether to take on leadership responsibilities.
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.
A former coworker went through a stretch where his manager deliberately assigned him insufficient work and refused to let him do anything but assigned tasks, in order to get him to quit, and he said it was the most miserable time of his career. Having more work than you can fill your days with is an ideal state of affairs, because it means you never run out of work.
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.
> Having more work than you can fill your days with is an ideal state of affairs, because it means you never run out of work.
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
Yeah, but depending on where you are career wise you probably want to avoid letting your skills atrophy too much. That'd be my main concern. But if I wasn't worried about that, and the money was ok, then yeah. Rest and vest.
It's a well known approach to punishing employees in big corporations in Japan - salaried positions are culturally "for life" and being fired is extremely rare. But.....you can still be assigned a desk far from everyone else and given zero work. You are still expected to sit there for full day of work, and follow all other rules of Japanese culture - not leave before your boss etc.
If the boss is putting you in a form of solitary confinement like the Japanese bosses do, then yea that would suck, but I would be surprised that an American boss would do that without HR getting involved as singling out an employee for extra special rules without a pip is an easy court case
I wasn’t super clear but I meant HR wouldn’t do that in such an obvious way or without the ass covering paperwork. Totally agree that they also look to push employees out and are looking out for the company
> A former coworker went through a stretch where his manager deliberately assigned him insufficient work and refused to let him do anything but assigned tasks
Interesting, even if it weren't to make him quit, in my home country (Germany) this would represent a breach of contract.
For what it's worth, I polled HN a while back and there was a perfect normal distribution on hours worked per day: https://imgur.com/qdSltlM. I asked, "How busy are you at work on average?". Poll questions here if you want to see them: https://strawpoll.com/polls/47x15cf1.
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.
If you live in a normally distributed universe, then you get ahead by being swamped and incrementally doing more hours of work than someone else. But hopefully most engineers hoping to have an impact live in a power law distributed universe.
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?
I never met any person who has not claimed in a professional set to be swamped with work. It's unwise to seem not busy. There is no signal here, just socially acceptable noise.
Yeah, as developers you usually get to estimate your work so estimate for however much free time you want. This is especially true the older/bigger the company is. Developers with lots of experience working in a specific application can barely tell how long stuff will take. Your EM/PM/Whoever isn't going to know that you're padding time. As long as most of the time you deliver what you say you will when you say you will nobody will catch on or care.
This misses the point. Pretty much all businesses are going to want to mandate unrealistic deadlines. Their default stance is to get as much out of the dev team as they think they can get. It doesn't matter because they don't know what a realistic deadline or a realistic amount of work is.
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.
I don't think you understand what I mean by zero engineer input. I only have an information advantage if they in some way incorporate my information into their decisions. That does not happen.
That would be a wonderful strategy if they asked for estimates.
I've been in a lot of dysfunctional organizations and I've never seen one that took zero engineering estimates. Directors may set deadlines without it but that scope & timeline filters down to the engineering team and then the engineering team plans their time. It's at that point you pad your estimates. Stretch 40 hours of work into 50 hours of estimate and you look like you're killing it when you do 40 hours of work.
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.
I inherited a part of the org with a history of underperforming[1]. I'm not worried about losing my job, but I am worried about the entire division getting re-orged, or, worst case scenario, laid off.
[1] It would not be an exaggeration to say that this division has literally never produced value for the company.
That’s actually nothing too bad. If you know you will guaranteed miss the deadline then relax, slow down, do the quality work you want to do and meanwhile look for a better job.
I don't think that's the best advice. There is no hard line between business, product, and technical concerns. There's a lot of gray area.
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.
Frankly I have little interest in being great at my job. It's a job. At the end of the day, I have exactly as much loyalty for the company as they do for me. None. [1] Furthermore, the "rewards" for being great at your job kind of suck, which at most companies is just slowly accruing experience until you get noticed and someone has the bright idea to make you a manager. [2]
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.
[1] 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.
[2] 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.
>someone has the bright idea to make you a manager.
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.
A few things. Pride, hubris, challenge-seeking, unwillingness to turn down an "opportunity", and, maybe more than anything else, I thought I'd do a better job than any of the other potential candidates (see: pride).
In life in general I seldom back down from a challenge. I even play video games on the hardest difficulty. [1] 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.
[1] 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.
For most people this would probably lead to exhaustion.
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?
Fundamentally, I agree. Though you need to draw some boundaries between being aware of customer needs and advocating for them during development (and alloying them with realities in your development environment) and being responsible for all customer satisfaction.
I've learned as a matter of survival to abstract availability for more tasks from my actual capacity.
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.
You assume that developers don't know how to pad out their todo list, or complete things quickly and then do other things during work time. I've seen a lot of anecdata to support both, but obviously people prefer to say "I'm really busy" or "I work hard" over "I only work 2 hours a day".
My advice is for engineers, not managers. And as an engineer, I'm assuming you already have more than you can do. If your todo list is so short that you can just pad it out like that, well, lucky you.
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.
Stop worry about forgetting about a feature idea, or bug description. If it's any important it will come back to you. Stop writing down bad ideas. Have at most 20 tasks on your todo-list, then order them in importance, and if something else comes in you just drop the least important todo/task. Think of tasks/todos as balls, you only have to juggle those that are made of glass, the other balls will bounce back up. If you have a list of 600 issues, most of them are no longer relevant - the code has changed, or the issue no longer exist. It's not the holy bible. Focus on what needs to be done right now - in order to to achieve your near future goals.
But the underlying reason is that some (most?) bugs are not worth fixing.
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.
I just talked about this with my wife just yesterday about her peer. If you're always the hero to take on too much work and you never keep up, you invite various significant structural problems.
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.
When your manager brings you new work and you’re already swamped with work try asking this question: “I have these X other high-priority items on my plate. Which of these would you like me to deprioritize in order to work on this new thing?” Then set expectations on when you think you can get to that new thing, also, it can be helpful to offer reasons why you believe certain things are higher priority. Prioritizing work is important when your feeling like there is too much.
I've definitely had cases where the manager (and on lots of cases, the CEO) tried to "turn those conversation around" and bullshit me.
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.
If you're doing something you think is important ("other totally unpredictable thing (often support related)") at work and your boss says they think it isn't important ("The higher-up was 100% sure it wasn't a real problem and assumed I was exaggerating the situation.") then I would assume your boss is right and you are wrong and act accordingly (start ignoring or delaying dealing with these support-related things when you are busy with the "higher priority" work). Either it will turn out your boss was right and it won't be a big deal, or it will turn out your boss was wrong, and it will be clear to everyone, and before you know it a big pronouncement will come down from up high saying that that "unimportant" thing actually is very important.
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.
He didn't think it was important to put in the extra time then. He felt adequate results could be achieved with less time, and that the extra time to make sure quality and completeness was up to some standard was unnecessary.
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.
I think my answer to that is something of the kind of: “Work is going to be prioritized one way or another. If you don’t tell me which one you want me to work on first I’ll pick the one I like best, and we’ll see which of the problems never gets finished.”
I think this only works if you’ve already set boundaries on your time though.
I usually work on the latest task, last-in-first-out system. If someone has a higher priority they should bug be more to get bumped up. The reason is that I want to finish at least a few tasks without delays. For large tasks I ask them to select the ordering.
I agree completely. I was working for a company that had been around for over 20 years and when that happened, I did both 1&2. It was pretty clear that I had made all the improvements I could there and that nothing would get any better.
I worked at a company like this (for f...ing 10 years!), beeing fired at the end was the best thing that could happen to me, it lead me to a much less stressfull job with much better pay
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.
These are the worst kind of employee, yet so many managers who appear too incompetent to find their rear end even when using both hands seem to love these people. These employees serve as a red flag to everybody else - if these employees are rewarded or otherwise encouraged to maintain this behavior then that's your sign your work culture is poor and it's time to go. On your exit interview don't be bashful to state the actual reason you're leaving. I worked at a place once where they had an employee like that and many people were leaving as a result. Someone in upper management got the message loud and clear and the problem was taken care of. I was about to leave when that happened and the place turned out to be awesome once that problem was resolved. A couple of the people who had previously left even came back. Life is too short to tolerate working in a culture like that and these people are very draining to have to interact with.
Yea it's tough. As a manager I dealt with this recently.
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.
I see myself in this.
I am being labeled as superstar.
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
This would imply that everyone has a similar capacity and willingness to learn, and that a capable IC's time is best-spent mentoring and documenting. I'm not sure these things hold true all the time.
Maybe consider freelancing or launching your own company. It sounds like you’re cut out for it. It’s riskier than a steady job of course, but it sounds like you might be getting a bit too comfortable.
It's not solely on the manager if the manager doesn't know because the employee in question is not giving feedback about their workload. Which isn't to say that the manager isn't to blame at all -- there are many things a manager can and should do to proactively suss out such issues.
If you can't tell whether a direct report is being reasonably productive -- that's 99% a management problem. You need to set clearer expectations and indicators.
If you identify a concrete issue, then it is the onus of the report to truthfully report on what is holding them back.
In my previous job they managed engineers workloads. Instead, they mostly “supported” engineers. This meant reaching out to people/ making noise to get roadblocks cleared, attempting to fix any interpersonal grievances and etc.
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.
Remove roadblocks. Sometimes it's the dev motivation, and in this case help him find the problem (lack of understanding for the final product, too much meetings, or plain burnout), sometimes it's just that he dev isn't a fit, most of the time (imho, i could be wrong, I'm not a manager) it's external to the dev: issues within the team, issues with admin or with sec, issue with clients or issue with other teams
I wonder if at-will employment in the US influences this. If I'm bus factor 1, they're less likely to fire me.
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.
Even if they don't fire you, saying no (to anything, ever) will come back to bite you when performance reviews (and raises and bonuses and stock grants) come around. OP is falling into the common internet commenter trap of assuming that the way the world should work is the way the world does work.
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.
An "underperforming" worker can consistently underperform though, and that consistency might make people feel good. Ultimately you're right on a deep level, but perhaps there are other ways to produce good feelings than what you've suggested.
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.
This reminds me of the idea that most people's actual job is to make/keep their boss happy, and what they think of as their job is just a means to that end.
It might feel short-term good to have someone say yes, but when they don’t fulfill their agreement that leaves a more long-term feeling that their answers in the future will be unreliable (“Yeah, X told me they’ll do it soon, we’ll see if they actually do…”).
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.
> saying no (to anything, ever) will come back to bite you when performance reviews (and raises and bonuses and stock grants) come around
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.
Dang, you can easily draw a connection between unstable work environments and unstable technical products. It's directly in the workers benefit to keep a product reliant on them or else they could just die. That's crazy.
When you're reliant on healthcare and live in America that is first concern before anything else. Not to turn a post political, but the employer-tied healthcare situation in America is borderline a form of slavery. In tech it is simply well-paid slavery. I rarely if ever take vacations, and due to healthcare requirements cannot explore starting my own company or being without an employer to take an extended sabbatical from work. I am well compensated for my role and generally do well but if I lose my health insurance my life can be measured in months. It's a stressor that is hard to describe.
Yeah, and it ultimately harms everything. It's so interesting that ultimately this system would produce lower quality products and suppress innovation. I wonder if countries with more flexibility in health-care will have more start-ups?
Almost all other developed countries have more flexibility with healthcare! Certainly it's never been part of any of my career decisions (in Australia).
I don't believe it has much bearing on the number of start-ups, even successful ones - the US has too many other factors that overwhelmingly give it the advantage there - but I'm pretty sure it has been shown to affect upward mobility in general (America rates quite low on that compared to other countries with better safety nets and public/single payer healthcare systems, though other factors like cost of education almost certainly come into play).
You're also making yourself too vital to whatever you're doing now - if the conceit is that the team/division/practice/company can't function without you doing your job you'll never be able to be promoted out of it.
I've noticed only a few people do this but the ones that did did it out of either ego or anxiety (sometimes a mix).
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.
That has a pretty simple and effective solution though: just mention that you want to leave. I've just been through getting a healthy amount of equity (as a freelancer no less) because someone else announced they were leaving.
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.
Under my own personal belief system, I don't agree with this sentiment. Sure, you might obtain the immediate but you're kind of poisoning the well with an announcement of expected departure.
I take it as a rule to not ever mention that you're leaving somewhere until you're leaving and then follow through.
I don't know. If your role is that important, they'll make you an offer to make you stay, which, unless you really, really, really want to leave, you'll take, because it'll be very good. Then they either work on making you not the single point of failure, or they'll accept you being that important and just go on paying you appropriately for it.
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.
Just to add - this can even be a career advancement hurdle. My mom told her about a meeting she had with her boss where she asked for a promotion because she was doing so well at her current role and the boss basically said "yes you're doing more than we've seen before and that's why we're going to keep you right where you are".
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
True! But not every highly-productive person is this. If you keep complexity low, you can have a "single point" without it being high risk.
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.
Probably true. I think my point is more if you are good at your job, you won't become a single point of failure. It is part of being good at your job to avoid that.
I've been on both sides. A lot of people say people who want to be swamped is a control problem but I've found its more delicate than that. My circumstances require me to have decent insurance so my life will forever be tied to an employer. I don't really get an "escape" at least until obamacare becomes cheaper than $2800/mo. for what I need in order to try out the entrepreneur life.
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.
Have you considered a move to Canada? We always need good people and you can forget about stressing out over healthcare. If I moved to the US right now, I would (as I understand it) probably have a lot of difficulty getting any insurance company to cover me given my pre-existing conditions. If I did find an employer to take me on, it would be stressful knowing I was dependent on them. Here, while I do have an OK health plan to supplement public health care, it is more a nice to have and table stakes for any knowledge work job.
> If I moved to the US right now, I would (as I understand it) probably have a lot of difficulty getting any insurance company to cover me given my pre-existing conditions.
That’s not how it works here. Insurance companies cannot refuse to cover you.
No, but they can increase the costs to your company.
“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.).
>“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).
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.
This I’m not as clear on and it for sure differs between companies. But most if not all small businesses are not self-insured. They use a larger insurance company like BCBS who pays out, and the company and employees split the cost of the premiums. Obviously if an employee has high costs that may figure into next year’s premiums but insurance companies are built for this type of thing and it’s not as crazy as you might think.
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.
I might actually depending on how things shake out in the US. The idea of having to deal with our healthcare system as an old person sounds like a nightmare. I can kinda navigate it now but it's still a huge pain.
Being swamped always made me feel like I should take longer to complete tasks, to protect myself from the stress of working too hard for too long. Then I realized how insane that is...why should I artificially make myself a less productive person? It's like picking up a bad habit, like smoking.
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.
I would say rather than artificially make yourself less productive, you (talking about anyone, including me) should understand your limits, then keep a healthy margin of slack between your average daily effort (ADE) and those limits. This ADE (i.e. after cutting some slack) is what I would call your real productivity, since it's sustainable.
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 [1] though I'm not sure.
Very much this. Like, I know I can juggle 4-6 different system problems at once, context switching every couple of minutes between them. And during more massive outages, this is necessary to get things under control faster, 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.
in queueing, this is called backpressure and amazingly it works! so while it may not be logical from efficiency perspective, it might be from the process POV...
i think working hard is ok but you really got to assess the type of work you are doing. Are you working your ass off to do grunt work other devs wont? If so you won't get any glory, just burn out, many times working on tech debt also falls under this domain, higher ups just don't appreciate people who work hard to keep things stable, they are all about those who can cut costs or increase revenue by coming up with new products/ideas.
I ended up in the hospital as well because of the startup that I tried to co-found. 9 years later I still have side effects of that. I was reading your story with interest
I feel like the "I'm swamped" situation is more of a defense mechanic than it is genuine swamping in many cases.
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.
Being swamped in a job as a dev (rather than a startup) is a signal that you're bad at saying no to adding things to a sprint, and unable to hand off work to other people. I'm very wary of working with people like that. It ends badly when things finally get too much.
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 like to joke that I've got enough work on my plate currently to last until 2024, which is an exaggeration but not terribly far off. However, I set my own timelines for everything. I will not be rushed, and I will not work more than 40 hours per week.
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.
Someone asked me how to get out from being constantly swamped. I highly recommend two books: Essentialism by Greg McKeown, and Deep work by Cal Newport. They haven't fixed all my woes but they gave me something to strive for.
Take it from me: even people working at big companies with low expectations find a way to report being swamped constantly. They always find a way to stay 100% busy with meetings that they don't really need to attend and tasks they don't really need to do.
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 always think about Agnes Callard's description of the Importance Game:
"I’ve noticed that complaining about how busy one is hits a sweet spot of oppression—I cannot manage my life!—and importance—because I am so in demand!"
Any society that thinks being overwhelmed is impressive, good, or normal is a broken society, in my opinion. Speaking as someone currently taking my first steps towards a career change because I'm so fucking burned out at my current job.
I manage a team of 10 engineers and my highest priority is making myself redundant. I'm constantly looking to eliminate (aka delegate) my current responsibilities so I can focus on my next responsibilities.
I'm not sure the solution makes sense for a lot of startup people.
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.
Is “normal” is the right word? What do we consider the norm? If we take a generic healthy lifestyle as a reference then being swamped startup style is far from that. Perhaps “being swamped is common” would be more accurate.
Two observations that sound a bit trivial written down, but were quite an influence when introduced to me:
- 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'
Being swamped is mostly a symptom of having bosses who don't say no often enough. The root cause could be greed, incompetence, etc. but it's irrelevant from a rank-and-file point of view.
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.
Being swamped can serve as a form of passive-aggressive back-pressure: a way to indicate to not even be approached with new work as you're at capacity. Unfortunately, sometimes it's the only back-pressure that managers understand. They get so dead-set on having everyone giving "110%!" without realizing that's catastrophic and that slack is necessary to remain resilient, both in services and in people.
Possibly my favorite quote from Meditations (the Martin Hammond translation):
"... 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.
This is one of those posts that sounds like wisdom but isn’t.
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.
My perspective: it may not be a badge of honor but sometimes you don't have much of a choice. You plan to do things properly then other things break or unexpected things happen. It can't be avoided if you need certain things done and everyone else who can help either won't or won't do it in a timely manner.
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.
We had this guy at a company I worked for. Always said yes to the attractive assignments that were good for his career and refused others on grounds of having way too much on his plate. Then after a while he‘d delegate the attractive assignments after botching or half-finishing them (often requiring a complete rewrite). Only to accept new ones („I‘d love to do it but i’m currently swamped with XYZ, maybe ABC can take over here? it’s basically done“).
I think he deliverately functioned like that, and it got him promoted almost all the way to the top.
One reason I left!
It seems that those who claim to be the busiest tend to get the least amount of work done. The promises were left unfilled, the work would sit for months and even years, and yet they still somehow kept themselves busy.
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.
It's not necessarily a good thing. A coworker of mine hates having an endless queue and prefers to get handed a task, finish it, and have another task handed to him at that time. I guess having too many freaks him out.
Oh yeah, the feeling of being swamped is really the feeling of being unable to "fail" at some stuff (which is ultimately just another way to look at prioritization; you "fail" at the stuff you don't prioritize, in some sense).
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.
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.