In software development, there’s a concept called “The Pit of Success”, which basically means designing your product (be it an API, a framework or a piece of software) such that the easiest, most obvious and natural way to use them is the way that leads to success.
It’s an interesting concept because it encourages developers to shift the burden of complexity from customers to themselves: We used to think that a complex problem needs a complex solution, and a complex solution = a hard-to-use solution. While the first part of the claim is almost certainly right (there are inherent complexities in the problem space that you have to deal with), the latter part is very probably wrong. A complex solution can be presented in many ways, and one should never confuse themselves in the inherent complexity of the problem and the complexity of packaging, delivering and presenting the solution in an intuitive way.
People tend to over-index on the former and under-estimate the latter. There are many reasons leading to it: being blindfolded and not realizing the latter is a complex problem that needs a good solution by itself is one; laziness is another (people tend to start with solving the problem and by the time they find a solution, they are already too mentally tired to think further about how to build abstractions and present it in a nice way); the curse of knowledge (people assume that everyone knows what they know, so it doesn’t need explanation).
There are some cultural factors too. Take myself as an example, “don’t judge a book by its cover” is something I was taught very early on. While the intent is probably good, it plants the seed in my mind to reject my intuition and first impression, leading to thoughts like “If I dislike a product because it looks intimidating to use, it’s my problem. Very likely it’s intentionally designed that way. I should adjust myself or learn how to use it.” When I sit on the other side of the table and am creating a solution, it can also lead to thoughts like “As long as my ideas and solutions are good, it doesn’t really matter how I showcase it, because people are supposed to have grit to keep reading / using it until they say ‘gotcha, this is indeed smart!’ ”
One of the most important lessons I learnt at Robinhood is training myself to decouple these two complexities and think hard enough on both. When I code up a solution to a problem, I will revisit it some time later (say the next day) and see if the solution still makes sense. When I find myself spending a lot of time writing comments / documentations, I pause and think if there are better abstractions I can create to make the logic easier to follow. I intentionally solicit feedback during code review and user survey for usability and understandability of the thing I built. How to make sure my users (teammates, customers, etc.) fall into the pit of success needs deliberate practice before it becomes an instinct. I believe it is also one of the secret sauces behind Robinhood’s success — how to present a complex finance world to our users who may not have any finance knowledge in an intuitive, easy to follow way. You can find other companies achieving success through the same way— Apple, with their MacOS, Tesla, with their infotainment system, and many more.
One more example on this topic that most of us have experience on is math textbooks. I am sure we have all read at least one math textbook that makes us feel dumb and frustrated. They throw a concept out of nowhere in my face, and ask me to prove a theorem without telling me why it matters at all. Because of reasons above, sometimes we gave up, and sometimes we didn’t give up, but we always accept the fact that the burden is on us to crank through those pages like going on “a journey across a desert to find victory through many trials and surprises”. We take it for granted that the success is on the peak of a mountain or at the very end of an adventure. However, it’s fair to question “did the author set us up for success by allowing us to fall into the pit of success?” There are many mathematical educators that realize this problem and challenge themselves on delivering something better. Some of my favourites are James Stewart’s Calculus textbook and Sheldon Axler’s Linear Algebra Done Right.
I recently started to apply this principle to my day to day — how to use my laziness as a leverage and fall into the pit of better lifestyle I want to have. One trick that works really well for me is to only do grocery when I am full — this way I do not have the urge to buy high calorie snacks or processed food, and when I stock my fridge with healthier choices like chicken breast, broccoli, eggs, etc., when I have hungry I am too lazy to order in and have no choice but to eat them. Using this trick, I don’t have to spend much willpower and can naturally fall into the pit of the success in terms of healthier life.
Another example would be how I arrange my personal training session in the morning so that I don’t have to rely on my self-control to wake up early; I removed time-consuming social media apps or video apps from my iPhone’s home screen so it requires extra effort from me to find and use them. To me, there are a lot of things that I won’t go an extra mile for. This life hack has taught me to make sure the easy, default way is the way to build good habits and live a better life.