Outcome is a sort of quadratic function of effort, so with very little effort you improve outcome a lot. Then as you go on and put more effort in, you continue to improve outcome. As you put a lot of effort in, the size of the improvement declines, but the outcome is still improved.
Then at some level of effort there's a plateau, after which additional effort really does make things work. But that plateau is a surprising amount of effort away! When researchers talk about declining productivity with increasing effort, they mean this first derivative of outcome, not declining outcome itself.
And, to get to my point, a line is an excellent approximation of this quadratic function for most of the range of it we see normally. So it's no surprise people try to extrapolate using it.
I think you have to acknowledge the complexity of the problem to help people understand the mistake!
That wasn’t an isolated memory loss experience in those days. I ordered lunch, sat down, then five minutes later just stood up and left, assuming I’d already eaten. An hour later I realized what happened.
Long-term productivity is impossible without proper rest, including regular vacations where you’re truly out of work mode preferably for a week at the minimum.
If you’re always grinding small tasks to make time for a larger task that too will burn you out.
So IMO do 2-3 of those and call it a day. You have to be in a work shape tomorrow as well.
As you tack more of these on to the end of the day, you get less rest, and tomorrow's window of opportunity for doing difficult work shortens.
This probably has no economical benefit even. I believe in most cases a second shift would do this work much quicker than an exhausted team that spends most of this time squeezing last drops of sanity at overtime rate. [laughs in corporative]
It works, though the frustration level is high. But better catch the bugs early than late.
No. I'm a Christian and humanist you insensitive clod :)
Really and sincerely I do not.
If there's one philosophy I could share - that's given me a truly awesome life filled with gratitude, meaning, mostly decent health, intimate human relationships and personal agency it would be look for the riches you already have.
You can replace "being rich" with "helping others", it still applies: you can trade comfort, sanity and health for more output, whether that's money in your account or helping those in need.
MUST You be rich, or not.
It’s unlikely you’ll get rich grinding tasks for someone else.
You get rich by taking the value generated by other people's work.
We are fundamentaly biurnal, you wake up, (in whatever state you prefer), and then do your thing with a limited (daily provided) resources that are awailable to you.
Repeat.
People are biurnal? No, people are diurnal. People who try to be nocturnal or biurnal are fooling themselves and screwing up their lives and probably negatively affecting the lives of those around them.
I made a spelling error. Biurnal is not nocturnal. I am not promoting that kind of lifestile. (have done it myself, mind you)
The latter two sound reasonable. The former two sound like a recipe for a breakdown sooner or later.
- some computer bod I can't remember
Just like avoiding meetings.
Just like achieving flow state.
The all-nighter that results from not-wanting to stop the creative process is not the all-nighter of the deadline death march.
Deltas between effort and outcome aren't negative in the flow-state. The are positive and non-linear..that's what flow-state is.
And the hard part is that grinding out metaphorical-all-nighters might be the best way to practice achieving and maintaining flow-state. At least to the degree learning to achieve flow state directly correlates to butt-in-the-seat time.
Which it does.
In fact my colleagues were pissed by the amount of code I was outputting and by its "sophistication". One weekend I decided to do a marathon and reimplement what I was on working on. I did in that weekend what we did in 3 months for 30 times less locs. I was also made aware of secrets negotiation of some of my colleagues to raise their wage, rendered jealous by the new, super-lazy, super-paid new hire. So I left. 3 months later, I received a call from my pair-buddy, the other backend pillar in the company. He decided to left. They found replacements, but I learnt what was planned to be done in 2 weeks by the two of us took 6 months. So what did managment do ? They distributed overtime work to everybody, including the 2 frontend lead devs that did not work on Friday. They left after 6 months too. That's when I received a call from HR, offering to come back at the condition that I behave (not kidding you). Well that guy got fired eventually and replaced by a pawn from the holding company. His CFO loyal friend followed him.
It has served as a warning to me to never take the advice of "so long as you're happy you'll be fine" literally. Now I can't stay up past midnight without waking up fatigued for hours in the morning.
I was having so much fun and feeling a sense of personal fulfillment that I don't think anything short of a physical intervention would have stopped me. Words like those in the OP's post simply glanced off my consciousness for years, as I had believed I had found a decent activity to be interested in. Some consequences can only be appreciated by experiencing them in reality, and no amount of words can effect change on some personality types.
More likely guilt, due to social expectations around productivity. Many senior developers experience impostor syndrome.
The amount of posts around productivity hacks and tricks on HN is telling.
Right. But I'd take it a step further and add...productive is not effective.
Indeed it is, but don't mix up productivity and product (how ever you measure it). Productivity is like speed. Product is like distance travelled. Of course a sprinter will go faster, a marathonian however will go further. Now let's try to take a purely business-oriented view on the matter. Product doesn't matter per se, only the income it can bring does, and it varies according to productivity. Just hire more people and make them work less ? Of course this never really happens as you will hit the Mythical Month-Man wall very fast.
- Am I tempted to erase types? - Am I tempted to disable unit tests? - Am I tempted to go for technical debt?
Then yes, I have to take a long walk, read a book, or do some manual work until I feel refreshed and wide perspective returns.
I've heard people say this for years and have never experienced it, and I've done plenty of development while tired.
Certainly the next day, with a clearer head, I can see the mistakes I couldn't before, but I've never been so off-the-rails-wrong that I literally just trashed it all and started over.
I would be interested in a poll to see if this is a common thing for people. Do I have a super power in being able to work reasonably well in less than perfect circumstances?
When I had a cold, but was good enough to sit up and type, I assumed I was good enough to work.
Nope. I've learned to monitor my health and energy levels better, and I stop when I know my productivity will be low (or negative)
The trap is your belief in a linear relationship between effort and outcome. Working harder and longer produces more productivity, right?
That's false.
As you say so yourself, your memory goes to shit. It's not just a law of diminishing returns. For coders, past a certain point, exhaustion leads you to start undoing your work. You are into negative productivity.
I've pushed through all-nighters where I poured out a few thousand LOC only to find the next day that I had broken everything and introduced more bugs than I had time to fix. I just had to revert. An exhausted hacker is worse than no hacker at all. You're a liability to yourself and the project.
So, like driving when tired, realise that the urge to continue is completely irrational, and probably based in the emotional drives of fear or pride. It would be completely irrational for any manager to want you to code in that state, and anyone who pushes you to is also the idiot.