The Diminishing Returns of Everything
stevenshang.comI can see why it feels this way, but often times it seems to me the opposite is true, like a phase transition: it remains a bunch of commits until at some point it 'suddenly' becomes a product, usable by the designated users, solving a problem, possibly generating revenue. Like water that cools and cools and eventually turns to ice, even though that last quarter degree didn't change the temperature a lot.
Extreme programming's "tracer bullet" is sort of a way around this, by implementing a minimal subset of functionality all the way though, so it "works".
The diminishing routines then come when expanding each stage. But at least you have the encouragement of being in post-phase-transition. This is like a MVP or Mark Cerny's "Method", but for motivation, not evaluation.
also, straw that broke the camel's back
That’s an interesting analogy! To take it a bit further, there’s no change in temperature for the final stretch (meaning no apparent progress) until you overcome the latent heat of the liquid.
I think you're getting at something very important about the article.
> The first couple hundred lines of code of your project will have a much larger impact than the last few thousand lines of code ever will.
This is true of impact on functionality, not necessarily impact on the world.
If I write my own todo app it might be useful to one person, but as I continue to work on it, eventually 2 people will find it useful. Then 3. I could be up to 3x less productive per hour and still have the same impact per hour due the increased number of users.
Impact on the world is (functionality) * (# of users). If you're working on a useful project the number of users will more than make up for the diminishing functionality returns per hour.
To rephrase this then: your additional work may improve your product only a little, but it may be enough that it can now compete in the market. If it's a winner-takes-all market, a slight improvement in quality may be especially consequential.
edit I think this might model the success of Slack. Which chat program should we use? There are lots of free ones and they're all about the same, but Slack has slightly better polish than the rest and is easy to set up. Let's use that. If that conversation happens in tens of thousands of organisations, you take over the world.
> The only exception to this rule I can think of is McDonald's fries. The more you eat, the better they become. It is true.
Potato chips are, to me, an even more perfect example of this effect. They are engineering marvels. If a food is too salty, you eventually crave something sweet. Too sweet and you get tired and want salt. Potato chips take the sweetness of potato starch and add just the right amount of salt to keep you balanced.
The satisfying crunchiness gives way to carby creaminess, which then promptly dissolves entirely, leaving you feeling like you haven't consumed anything at all [1], so surely one more chip is OK, right?
Potato chips are my crack. If I could eat them unburdened by shame or the desire to take care of my health, I would eat them until I burst.
[1]: https://www.nytimes.com/2013/02/24/magazine/the-extraordinar...
It feels like some foods have fervent followings despite contributing to things like heart disease. It's a good example of how humans get thrown off when dealing with decades long timespans of bad choices that add up, except with food we all have to eat.
I recall that when processed meats including bacon were classified as carcinogens, people basically said "screw that, it's bacon for crying out loud." I'm not sure to what extent they were joking. I personally avoid all processed meats, but to me the public sentiment over some unhealthy foods is in stark contrast to public sentiment over smoking or alcoholism.
One time I searched something to the effect of "why are potato chips unhealthy" and got back a general sentiment of "well, they're not that bad for you, as long as it's only once in a while." I feel like with this attitude it adds up over time though. It's probably not possible to pin down exactly what foods caused a heart attack, as opposed to being able to more clearly associate lung cancer with a smoking addiction.
With smoking it provides no real benefit except lessening the craving for another smoke. With unhealthy foods everyone has to eat, so maybe you'd be more forgiven for eating them than throwing away your health on something not essential to survival. Fancy ice cream parlors are the norm, and nobody is going to lobby politicians to close them down in the name of public health. It's just ice cream, served by people working out of food trucks trying to make a living. The most they do is insitute soda taxes. God forbid soda itself is banned.
Is there an illustration on how foods like potato chips affect health long-term? Something like the study that estimates every cigarette takes eleven minutes off your lifespan. There are a lot of different foods to cover though. I feel like if there was data stating every potato chip took X seconds off my lifespan it would be easier to deny myself from buying them by looking through the items at the supermarket and being able to think "17 minutes, 22 minutes."
When I think of someone beginning to smoke I imagine them being told "you're going down a path that will almost certainly kill you down the line." When I imagine someone being a regular at an artisan donut shop I imagine people asking them how the taste was.
> I recall that when processed meats including bacon were classified as carcinogens, people basically said "screw that, it's bacon for crying out loud." I'm not sure to what extent they were joking.
I love bacon. I know it's unhealthy. I still eat it.
You seem to be coming from a perspective where the only goal is to maximize life. But that's not how people operate. People are trying to maximize living.
I could probably live to 110 if I ate nothing but tofu and mineral water and lived in a sanitized bubble. But would I even want to?
I don't want to make choices so unhealthy that they significantly impact the quality and length of my life. But I sure as hell want to pack as many experiences as I can before I reach that point. Some of those experiences are going to take their toll on my body. That's the price you pay for living and for many experiences, the price is worth it.
Personally, I don't think it is for cigarettes. (And, in particular, it is certainly not fair to make people in the vicinity of smokers pay that price.) But many people love the sensation of smoking. I do think it's worth the price to have some bacon with breakfast and a whiskey nightcap before bed.
> I feel like if there was data stating every potato chip took X seconds off my lifespan it would be easier to deny myself from buying them by looking through the items at the supermarket and being able to think "17 minutes, 22 minutes."
You are describing a dystopian nightmare. Can you imagine this applied to every choice you make? You see a cute person on the other end of the bar and a little chat bubble appears in your personal heads-up-display "They will break up with you two years after you begin dating." You look at a cute puppy at a shelter. "She will die young of congenital heart disease."
"I could probably live to 110"
The problem is, if you get an extra 20 years, they aren't added on between say 40 and 50. The years from 90 to 110 aren't going to be much fun.
Even professionals devoted to measuring life with statistics try to adjust it for "quality", subjective as that may be.
People who live a long time, because of healthy lifestyles, genetics, and modern medicine, often spend a very long time at the end that is really miserable and pointless.
I feel like either you should know what that is like, from knowing people in their 80s or 90s, or you should know that you don't know. If you spend some time visiting a nursing home, do you ever think "gee, every additional month, or year, or decade that I might spend in a place like this is worth any sacrifice in the prime of my life"?
> For instance, I spend the past two days working on a single CSS file, in an attempt to center-align some stupid buttons (a futile attempt, since they are still not aligned). In comparison, at the beginning of the project, I built out the entire REST backend of the web app in a single afternoon.
It could be argued that the value of the REST backend is lower than the value of the stupid buttons: since the backend is so simple, everybody can do it, while the stupid button takes a wizard to get right. On the market, your commoditized REST backend will have to compete with other solutions on the quality of your stupid buttons.
Hence, spend even less time on the backend, by using auto-generators, and focus all your time on the button. Buttons are a big dollar business.
Damn, I wish a had a CRUD-auto-generator-business, this would be the perfect plug. Check out auto-crud-button-focus.com right now!
/edit: adding the [irony] tag before I get more insulted "WHAT???!?!?!?"s (I know nothing about backend stuff, I work in embedded and electronics)
> It could be argued that the value of the REST backend is lower than the value of the stupid buttons: since the backend is so simple, everybody can do it, while the stupid button takes a wizard to get right.
Yeah, or the first piece of sushi that a classically-trained French chef makes should probably go in the dog’s bowl.
It's sad how we've actually gone backwards in front-end developer productivity relative to what we had 20 years ago in Visual Basic. The gains in ease of distribution are certainly worth something but still it's disappointing how little progress we have made.
> since the backend is so simple, everybody can do it, while the stupid button takes a wizard to get right
What?!?!?!
That was, as the saying goeth, the joke.
This is disingenuous. Sure, the first X hours of working on a new project are a lot of fun and you can set up the framework for what you're doing and feel like you're making great progress.
But what you're missing is detail and quality. For example, I can set up the structure of my thesis by working out chapter titles, headings, subheadings and drafting bullet points per section. Straightforward. But doing the research and writing up takes years, it's often boring, laborious and the net addition to the document can be as low as a couple of hundred words a week. It doesn't mean the actual work is less valuable as time progresses.
Likewise let's consider a software development project. We can make grand strides in the first X weeks, gathering requirements, creating user stories, creating tasks, sprints, assigning work, setting deliverables, setting up the various ceremonies. But at some point it boils down to writing some code, often boring, time-consuming, detailed and slow. It doesn't mean the contributions made later in the project are any less valuable than the frantic hive of activity in the beginning.
You're misusing the word "disingenuous". The author has no ill intention of being insincere.
Simplifying, "The author has no intention of being insincere."
Or perhaps even, "The author is not insincere."
Or alternatively, "The author is sincere."
I don't really like the emphasis on "wasting" time, the way he wrote it in the bathroom light automation section. If you do not enjoy tinkering with voice activation (or X thing in the general sense), then I can see why you wouldn't like losing time, but I would probably feel like it was 5 hours spent learning about home automation and voice control, which could maybe be applicable in other cases, both within home automation and outside of it. I don't see the 3 hours mentioned as "lost", but as time spent learning.
Not all time can be considered equal. Let us say that one of my team spent two weeks building tooling that might save us a single day on two occasions. That might still be worth it if that day saved is part of some time pressured work.
You can think of this as the classic engineering 'latency vs throughput' tradeoff. We're spending a bit of throughput to get an improvement in latency.
Yes, work time and leisure time should be "graded" differently. Making your leisure time about being productive makes you an automaton. Just messing around is something we should cherish.
That's why you pay contractors / specialized people.
A 2-day electrical job would probably have taken me a month to complete working evenings / week-ends, assuming no other house maintenance on the side, and the job would certainly have been sub-optimal and I'd have selected overkill components. Same goes about a plumbing job, it's not rocket science, but working in tight spaces can be tricky/messy, professionals know how to do it.
As for the backend, it's easy to spin up if you know the tech, have done it a couple of times and know what to do. Given enough time, I could probably design an IoT gadget from the ground up. FPGA conception, ASIC design, then PCB integration, spin up, mechanical design, network interfacing, back & front end services. But not only the end product will certainly be over-engineered, but it will have taken me 2 years to build and I would have no idea how to sell it.
I had a family member who cashed out in the SV and then tanked his next start-up. Long story short, he's a business guy, not a tech guy. He lost 3 years on fairly simple MVP, then finally decided to pay someone, but it was too late.
I guess the morale of the story is to know ones own limits...
> The first couple hundred lines of code of your project will have a much larger impact than the last few thousand lines of code ever will.
I think it's easy to underestimate the importance of polish and fit and finish. In my experience a product's success or failure is made in the last 20% of development, when all the fine tuning and bug fixing goes in to overdrive, and user experience is honed.
> The first couple hundred lines of code of your project will have a much larger impact than the last few thousand lines of code ever will.
With this explanation, the author explains the diminishing returns by the fact that their value decreases ("impact"). I disagree: returns diminish because their cost increases. Assuming a thing can generate 100% of some value, the range 0-20% generates as much value as the range 80%-100%, but the latter range is more costly than the first range.
The return of centering the buttons is significant, because if they're not centered then the product will look unprofessionnal, which is not good for business. It just happens than the cost of centering them is high, in this case as high as setting up the REST service in a first place.
The return of having your company survive is extremetely high. It just happens that this cannot be done with the first few dozens employees but with hundreds more, which is of course way more expensive.
> The same goes for abs. The first ten thousand set-ups you do just may give you that 6-pack abs you want, but another thirty thousand sure won't get you the 7-pack.
He picked the one type of exercise which doesn't really change. If you're lifting or running, you see increasing returns for a long time. You get stronger by lifting heavy weights, and you need to lift light weights to be able to lift heavy weights.
It's also a bad example because pack number is determined largely by genetics and visibility is largely determined by diet. Look at Arnold in his Mr Olympia days, he only had a 5-pack.
But let me put it in perspective, if I wasn't wasting my time moving that button, I'd probably be watching youtube.
Is that wasted? Was it truly 3 hours lost for the OP trying to automate the light switch?
Nihilism. Do what you believe is worth it. Otherwise, don't because it's simply not worth it.
I think there is additional value to automating or improving a process even if the time spent automating exceeds the time saved by the automation.
What if it just makes me happy that I can turn the bathroom light on with my voice even though the time spent figuring it out exceeds any time saved by the automation?
What if I make a sucky task at work more approachable and easier by improving it? Rather than procrastinating doing the thing because I hate it, I pick it up and do it right away because I invested some time in making it suck less.
What if I gain skills automating one thing that make me more efficient on the next thing even if I'll never recover the time spent on the first thing?
Re: the voice activated light class of idea. I have a weird NIH/hoarding bug. I always try to do thing on my own (am now making electrical circuits). Somehow it's a huge waste of time. Yet I know a ton of stuff and can fix some things, or avoid fear and scams.
One alternative is a hub of DIYers. Remember the story of how Xerox PARC operated ? unattended, unmanaged.. you had an idea or a problem you ping people around that know that domain, chat around and make a thing. In groups it might turn diminishing returns into a massive life enhancement (in theory, I never worked in such an environment).
ps: I actually think that picking this kind of projects is a tiny art. Don't scratch all itches but know that knowing is always a good thing.
That's the Pareto principle [0]: 80% of the effects come from roughly 20% of the causes (or effort, in this case).
Very hand-wavy but I think that's also the reason things like expertise exhibit a power law distribution - if as you progress each "unit" of improvement requires 4x the effort of the previous "unit", it makes sense that only about 1/4th of people will make it through. Of course that's very oversimplified but I think you get the gist.
As it is with many things this is both right and wrong depending on how you look at it.
Consider something like Brazilian Jiu Jitsu. The first 1000 hours will surely advance your game percentage-wise way more than the 1000 hours you accomplish after you've put 10k hours in.
However, there aren't many people with 10k of bjj practice and you're no longer in the rookie world. That 1k may make you just 1% better but that 1% means a lot among the elite.
Centering a button with css should not take two days. If you haven't solved the problem already, feel free to contact me and I'll be happy to help.
There are diminishing returns in everything because we focus on high impact things first. It's not a bug, it's a feature.
I don't feel like this applies to UX. The third or fourth pass in this area can often make a huge difference.
More generally: editing. (e.g., How Star Wars was saved in the edit)
It might not net you a 7-pack, but it could possibly net you an 8-pack.
Oh, how many hours of my life have I wasted trying to center align. Sad and all too true.