1) Any productivity gained over that one-or-two-day session makes very little difference in the big picture. Even a week.
A company/product/feature is never going to live or die on that 30 hours of coding that you managed to squeeze into 48 hours. 99.999% of the time you're doing it to calm people's nerves or make someone (yourself? PM? EM?) look good.
2) My reasons for doing these marathon sessions was a lie.
I told myself that I'm doing it because I love the product, love the work, love this, love that. I'm an artisan, I told myself. A professional. Work is my life. Isn't it the same for those Japanese knife maker guys? I'm like those guys. I live this work.
The real reason was fear. Fear of not being the best, fear of not being successful, etc. I felt like I didn't have a place among MIT/Stanford grads. So I compensated with brute force.
--
It didn't help that I was rewarded with more money, more respect, and more decision making power. I was even rewarded with more knowledge than everyone else -- you learn a lot working 12 hours a day. And if you screw something up you have plenty of time to fix it.
Wrote a nasty bug? No problem, ship a fix at 11:30pm and the impact is minimal. People are much less likely to criticize you if you're the person sitting up at 11:30pm shipping to production. Clearly your heart is in the right place, right?
The "trick", I found, was to work for people who NEVER EVER demanded more than 7 hours a day from me BUT also appreciated that I'd go well above and beyond expectations. Now that I think about it, it reminds of drug dealing (or the little I know about it from when I was a teen).
I feel fortunate that I was able to disassociate my fear of failure from my genuine love for the work. These days I'm able to be very productive and lead a relatively healthy life but it took waaaay too long for me to figure out how.
At my company, we give out "values awards". People are frequently lauded for working late evenings and weekends. Everytime this happens, I cringe. If people feel they need to do this, it's a sign that projects were under-resourced or the deadlines were too tight.
At this point in my career, I am so much more comfortable saying "no" to upper management.
"My team does not have capacity for this" "ok, which piece of work do you want us to drop?" "Yep, we can do that... next year"
Me too. But I also don't care about career progression or money anymore. 10 years ago that wasn't the case.
Take this with a grain of salt, but I've found myself happiest working for small companies with people that I like being around. The list of reasons why is quite long (I can elaborate if you like), but the only unfortunate downside is you make a lot less money. You do have a chance of winning big in the acquisition lottery though.
The unhealthy behavior on my part is comparing myself to my friends who went to the Bay and make basically the same salary but get like $100k in RSUs per year on top of it, or those who have the mental endurance to juggle a FAANG job and fairly lucrative contract work on the side.
Even though the numbers are attractive, I enjoy having the time to have a life on the side. I don't really like the concept of "work is life" that the big bay area tech companies seem to have. Not exactly doing much with it right now, but I could if I wanted to...
One of my coworkers worked a lot of overtime at one point, I think he liked to feel like the hero. In order to make sure a particular project was delivered in time.
Guess what happened? The client just randomly pushed the deadline back a few months making all the overtime unnecessary.
I know you can’t know if this will happen ahead of time, but it still reminded me that you can put in all the effort in the world and not get anything for it. Personally, I will do my absolute best within the confines of my contract, and no more. I might do some occasional overtime if it’s needed, but I expect my employer to return the favour when I need some time off or flexibility.
I’ve had too many health issues from my past bad work practices (it’s hard to have good work practices when doing your own startups...) to do any more than that. Hell im being treated for high blood pressure right now...
Sounds familiar.
I'd push hard to reach a deadline only to see the deadline get pushed back because other, more sensible people, were not bending over backwards for the company. These are other sensible people could be folks on other teams (eg: marketing), business partners (eg: launch partners), or even customers.
> I’ve had too many health issues from my past bad work practices (it’s hard to have good work practices when doing your own startups...) to do any more than that. Hell im being treated for high blood pressure right now...
I feel you. It's impacted my health as well. I think permanently.
I'm fortunate enough to have built up a financial war chest so that I can relax now, but boooy was I close to not having made it.
As an intern this feels like everything I want though. More money, more respect, more decision making power, and most importantly, more knowledge. Fortunately my job is done after 4 months no matter what.
> It didn't help that I was rewarded with more money, more respect, and more decision making power. I was even rewarded with more knowledge than everyone else -- you learn a lot working 12 hours a day. And if you screw something up you have plenty of time to fix it
I was only able to reflect on these things after "making it". I feel comfortable financially and confident that I'll get work for the rest of my life, if I need it.
There was a cost though. Like a greek tragedy of sorts.
It cost me my health. I don't get to enjoy the spoils of "victory" as much as I would have when I felt healthy. Health is now a factor to consider daily and, in my case, it's directly attributed to the insane amount of myself that I put into the work.
Another cost was missing out on precious time with my wife and child. That one really sucks. No undoing that one.
I still love coding, learning new stuff and occasionally burning the candle, but I'll never again make it my god.
I can't imagine reading the same set of comments 20 years ago (when I was young and a frequent marathoner, as were my teammates).
Is this indicative of a cultural shift in the industry?
Or collective learning?
Or might it just be that no 20 somethings are commenting here and it's just a sample bias resulting from older commentators?
Do 20 something developers today feel that marathoning is a wasted effort, or do they tend to think it is the best way to get things done?
BTW I think I would agree with the comments now, but even 10 years ago I might have been dismissive.
Yes I think the industry is changing.
In my anecdotal experience, the quality of programmers has taken a nose dive. I think part of the reason is that it's been a lucrative industry for long enough that parents have had time to coach their children into the industry.
In the early-mid 2000s (when I cut my teeth) and especially in the 80s/90s (from what I hear) you came across more "hacker" types that were doing this work for the love of doing it. Yea you still had the "Initech" type companies that would outsource/etc but cutting edge programming work was a lot easier to find.
These days I'm seeing more and more people that treat programming as a "job", not a "passion".
Obviously I think this is a good thing for people, in general.
But I also think that, while the potential for software is at its highest, the actual relative quality of software is at its absolute lowest. This is due in large part to the bad quality of software engineering these days. Again, very anecdotal.
My personal life doesn’t allow me to do marathons. If I was single I would probably be hauling ass all day every day. I understand the health implications, but the desire to be “the best” or to be “10x” clouds my long-term vision.
I want to dominate like rms, Carmack, Beej, Eich, etc. That might put some people off, but technically, those same critics are my competition. If you don’t want to put in the same hours as me, that’s cool, but there aren’t an infinite amount of $200k+ roles in the world.
Depending on your own goals brute force or giftedness might not even be necessary let alone sufficient. Particularly when it comes to external validation.
Now I've know a few people like that, but in general it is a myth. But at least get the right myth. Long hours are not part of 10x myth. I mean unless you mean loves math/computer/etc. and is always learning weird complicated stuff. But that's "taking care of your mental flexibility and strength" not "working long hours to meet a deadline."
- see the rich vs poor divide
- see what it took for the rich to get there. And it isn't just "hard work".
Plenty of people work hard at all levels of life. But the "hard work as a virtue" meme is dying.
When you know more, you are able to apply leverage to do more in less time, and a marathon session is a waste of time.
IMO, telling young folks not to push themselves is intellectually pulling up the ladder behind ourselves.
However, I'd like to point out (as someone else did too about downplaying the upside) -- if you did get rewarded with money, respect, promotions (decision making power), knowledge -- these are all real material gains from those long hours. True, from the business point of view, your extra hours didn't matter to the business in the long run. It did matter for your career though. In fact, if you happened to work for a growing unicorn, and you gained those rewards and promotions with those long hours, you may even have made lifechanging money from unicorn equity, from those long hours.
Which, comes back to the point, this is unhealthy and somewhat toxic (the fact that putting in long hours gain you those things, i.e. it encourages people to do so).
That's what happened to me. Unicorn -> long hours -> pay day.
> Which, comes back to the point, this is unhealthy and somewhat toxic
This is the unfortunate conclusion that I've come to as well.
High risk, high reward. There are people who work just as hard and for just as long, but don't get to enjoy the spoils. When I think of how close I came to not making it -- eek.
What I'm cautioning against is a consistent strategy of brute force work in order to compensate for other things (fear of failure in my case). It's like the difference between socially drinking and being an alcoholic.
Long way of saying I agree with you.
You just have to realize, like a good night out drinking, that you’re trading it for something in the other end.
When I started setting those boundaries (eg: not working evenings, weekends, etc) I discovered a few interesting things.
1) No one even noticed. It turns out most people are busy enough with their personal lives that my work schedule isn't on anyone's mind.
2) When there are delays we just push the date or adjust the scope. I'm no longer getting pats on the back for moving the needle at light speed, but I'm still outperforming my peers.
3) Now I need to be mindful about how I make my decisions. When I brute forced, I would throw everything at the wall and see what sticks. I'd eventually find the optimal solution to a problem and that's the only thing other people would see. They didn't see the 100 other failed attempts and wasted time. Now I don't have 100 attempts at solving a problem: I have like 5 attempts. It works out fine.
Could I have been doing this all along? Was my chaotic brute force working model just a lot of wasted energy? Could I have just worked smarter, not harder?
Sort of.
Several 'death marches' over my career were in fact necessary for business reasons. Large penalties can exist in contracts when deadlines are not met. No one is going to reschedule CES, the Christmas shopping season, or the Superbowl for you because you were running behind. In some cases, missing a deadline throws off the schedule of hundreds or thousands of people in your organization who depend on your work. It's true that many times it doesn't matter, but many times it does absolutely matter. I'd like to think I got to where I am in my career because I'm willing to put in the effort to make those sorts of deadlines.
> My reasons for doing these marathon sessions was a lie.
My reason for doing it is because it's the job. I came into engineering with the expectation that it is an important job that often demands much of you but also affords you with a great deal of flexibility and self-determination. I get to take off time whenever I want and WFH whenever I want because I accept that there will be times when I absolutely cannot do whatever I want.
It depends on the specifics of your job as well. Some indie game dev can probably just delay their release a few days. Embedded devs are often on a schedule dictated by hardware schedules, production schedules, factory availability, shipping time, etc. etc. Just because the job is software doesn't mean it has to resemble any other software job.
If you are cutting it so close that an extra few hours are the difference between delivering or not, _ the project has been a failure for quite a while _
Some things cannot be easily foreseen and you have to fight some fires. That's fine. But let's not normalize lack of planning.
Projects with multimillion dollar outcomes are somehow managed by people who don't stoop to ask your team anything in the planning phase.
Instead they come in the implementation phase and want you to jump. Then you point out the resources required - in writing - and the fires are burning...
At that point, I may help or may not depending on whether they pay good overtime and it suits me.
This is why management should be setting internal deadlines LONG before the actual deadlines. If they fail to do this, it's their fault, not yours (as the engineer).
If you play up to their illusions of success by telling them "it'll be fine, we can do it" (I've done this -- a lot) then of course they'll go along because you'll be the one to blame when the deadline isn't met.
Setting yourself up as the one to blame for promises outside of your control is a very, very bad thing to do.
> No one is going to reschedule CES, the Christmas shopping season, or the Superbowl for you because you were running behind.
This is WRONG. Of course they reschedule things for CES. If a product isn't ready in time for some event, the company WILL find a way to deal with it.
This is what took me a very long time to learn.
Nobody cares about CES. Not in the big scheme of things.
> I get to take off time whenever I want and WFH whenever I want because I accept that there will be times when I absolutely cannot do whatever I want.
Taking a couple weeks off is nothing. Tell me a story about how you take off a couple weeks every 3 months -- you don't. Because, in order to meet the "demand" you speak of, you're not actually going to use those times off.
There are something like 104 weekend days in the year. Now combine that with non-work hours there are in a year. Now add a standard amount of vacation days per year in tech companies (like 4-6 weeks?). That's how much time you're giving up by working nights and weekends.
> Embedded devs are often on a schedule dictated by hardware schedules, production schedules, factory availability, shipping time, etc. etc. Just because the job is software doesn't mean it has to resemble any other software job.
But it isn't the responsibility of the hardware developer to ensure timelines are appropriately padded.
The reality is, and this is especially true in hardware, non-software related delays happen all the time. It needs to be accounted for either way.
I feel what you’re describing is part of growing older and being in a different phase of life. What you mentioned is something that I have read more often. I feel that the only way for me to appreciate work like you do, is to currently work more than might be healthy. As wrong as that might seem, it seems very right to me.
For instance, with my 16-hours/week I dont get done what I want. I’m sure it doesn’t matter in the long term, but there’s so many cool projects to do. I would love to be allowed to work in the evening to finish some cool stuff. I genuinely feel better after that. I expect to feel different about this after 15 years in the industry.
Maybe that’s just how we learn, maybe it’s societal expectations that we try to live up to and stop caring about when we’re older.
I am similar to you in where I am in my career, also similar profile in terms of how I got here, but I don't agree with you. I think this is a natural cycle and it shouldn't be sold as an insight or a learning.
Learning compounds, so if you spend an extra hour at 20 that is like a 1000 hours when you are 40. It is what it is. You have to balance at all times so as to not go over the edge, and loose touch with the feeling of meaning. So I don't regret burning myself from both ends at 20.
I have a kid now, and a family. Things are different, as much if not more fun. But I wouldn't want this life for my 20 year old version. He found meaning and growth in the trenches.
If you need me to do a three day sprint, I'm going to accomplish the most without any breaks and with very sporadic sleep. (typically when doing a multi day session my sleep happens 30-120 minutes at a time, usually immediately following me hitting a difficult problem that requires intense rumination)
The catch is than in many positions, one needs to blend these 2 modes of operation. Some collaboration, some deep work. Unless there's support throughout the organization, what ends up suffering is the deep work.