Premature Optimization is the Root of All Evil

"We should forget about small efficienceis, say about 97% of the time: premature optimization is the root of all evil" - Donald Knuth
H/T: @lpolovets

Donald Knuth was specifically talking about algorithms in computer software, but the lesson applies broadly to product development, startups, and self-improvement.

Perfection is the Enemy of Progress

Wikipedias worth of man-hours have been spent building features that the customer never requested and rarely use. Companies have spent millions on inventory to achieve economies of scale on products that crater in the market. They should have shipped first and asked questions later.

Stop futzing around and ship it! Premature optimization is often procrastination in disguise. If you’re “making it better” before someone has used it, you’re letting fear of judgement keep you from learning.

Don’t worry about scaling, don’t worry about “nice to have”, just start! Start going to the gym, spearhead a new process at work, ask someone to buy your barely functional prototype. Even if you fail, you’ll be at the same place as if you were still planning; the only difference is, you’ll have a data point from the real world. Now you can adjust, incrementally better, then ship it again.

Questions of the Day

What aspect of your life should you be shipping instead of optimizing? Is there a feature in your product or startup that’s a good idea but you haven’t had a customer ask for it yet? Tell me about the time you sunk days of oyur life into solving a problem that didn’t exist.

Discipline is Freedom

Jocko Willink is my spirit animal.

Falling Victim to Entropy

Since 2009, I had made a series of choices to focus on my career and entrepreneurial ambitions instead of my health. I put on about 50 lbs of fat and atrophied significantly during that period. I had given up on taking care of myself in trade for trying to build my company and my city’s entrepreneurial ecosystem. I kept telling myself that I’d get myself together later after I had found success.

When my first child was born in 2016, I need to determine if I was going to be a good Founder or a good Father. I left my operational role as CTO of my startup and I derisked my career a bit. But I wanted to be more than just present with my son, I needed to be a role model for him. I searched for role models for myself and found this great series of essays by Jocko Willink on Spotify.

Discipline Equals Freedom Field Manual, Pt. 1

Finding Discipline

Through many iterations over the next 3 years, I began to rebuild my health. I started training Brazilian Jiu-Jitsu, stopped drinking alcohol regularly, started lifting weights (3x a week), and worked to refine my diet.

I made these changes one at a time, about three to six months a part. It takes about 90 days to lock in a new habit and it’s much harder to actively control more than one thing. So I focused on not making a new habit until I didn’t have to work to maintain the current habit I was developing. The most important part of this process was to figure out the failure modes in each new habit during that startup period and put controls in place to correct for them.

For example, I kept missing my weight lifting workouts because I would have meetings or family obligations. So to control for this, I found a time no one books me; 4:30 am. By taking ownership of my failures; I can’t blame anyone but myself for not getting to the gym before everyone is awake. Discipline is Freedom.

You only fail when you quit.

This process hasn’t been linear, it’s riddled with short term setbacks; mental, physical, business, etc. But all of these setbacks have proven to me that you never fail until you quit. I’ve missed lifting or training BJJ for months at a time (see graph above). The trick is to kill your ego and start training again. I am a human, I am fallible, but I refuse to quit.

Questions of the Day

What keeps you from making the changes in your life that will make you healthier? What controls do you use to help you maintain discipline? What did you think of Jocko’s essays?

Why do Navy SEAL candidates quit BUD/S?

Andy Stumpf former BUD/S instructor

“I wanted to make more people quit.”

In Episode 3 of “Cleared Hot”, Andy Stumpf talks about his time as a Basic Underwater Demolition School (BUD/S) instructor. According to Wikipedia, “BUD/S is a 24-week training challenge that develops the SEAL candidates’ mental and physical stamina…” and according to Andy, one of the instructors’ jobs is to eliminate candidates from the program. Specifically, those who do not have the mental toughness required to be an operator.

Cleared Hot Episode 3 – Sean Hughes

“Nothing lasts forever, this sucks now, but it’s going to end.”

Andy interviewed many candidates who quit. He wanted to know what lead to their decision, so he could develop techniques to exploit the weakness in others. Their most frequent response was that they were overwhelmed by the duration of BUD/S. They were experiencing discomfort and multiplied it by the time remaining in the course. Psyching themselves out.

One Foot in Front of the Other.

Successful people focus on breaking down seemingly insurmountable tasks into smaller objectives. Achieving each smaller objectives creates a momentum that allows them to blast through the larger obstacles.

Although I’m not a SEAL and never will be. I’ve personally experienced this in Marathon Training, Weight Lifting, and Entrepreneurship. The first mile, squat, and pitch — those moments felt overwhelming because I knew how tiny my current output was compared to the end goal. But each day I put in the work. I focused on following the plan and completing today’s objectives, not worrying about the end state. When the time came to complete the mission I had been training for, my body and my mind were ready.

Show up, do the work, rest, repeat.

Questions of the Day

What’s the largest goal you’ve succeeded at? How did you break it down into smaller pieces that you could accomplish? What in your life today is stressing you? What’s the next incremental step towards fixing it?

Micro-contracts: Increase your compliance with good habits

Micro-contracts build Habits

Micro-contracts are one-line agreement with yourself. They are used to short-circuit decision making process for recurring events.  The goal is to increase compliance with habits you’re trying to install in your life. A micro-contract is the building block for a habit.

Building Micro-contracts

A micro contract takes the form:
If <recurring decision point>, I will do <behavior>,  so that I <reason> .

e.g.) If I am going to eat out, I will eat the healthiest option on the menu (or default to a salad with dressing on the side), so that I can live a long and healthy life for my family.

The way that I’m currently programming them into my life is by adding them to my lock screen on my phone.  According to the app, “Quality Time”, I average around 100-120 unlocks a day.  That’s a lot of reinforcement to internalize my current micro-contracts.  If you’re not as heavy of a phone users, you can reinforce your micro-contracts by hanging them next to the mirror in your bathroom or setting your desktop wallpaper to your current list.

Why should you use Micro Contracts?

“We first make our habits, and then our habits make us.” -John Dryden

Research shows it takes up to 90 days to instill a new habit.  For comparison, this is about as long as it takes to close on a house. Which is the largest,  longest, and most complex business deal most people will participate in during their life.  When I’m teaching sales to people, I reinforce the mantra “Old deals die.”, meaning that if you don’t close the deal quickly, something will go sideways and the deal will fall apart.

If “Old Deals Die”, how can we keep them young?  By focusing on action.  In sales, we follow up and keep the process moving.  Checking in with the decision maker, answering questions they have, and educating them on the process.  In our home life, we can revisit our goals daily or weekly, evaluate what’s working and take action on the things that are putting the behavior at risk.

For instance, How many times have you started going to the gym regularly for a few weeks only to miss twice due to work or travel? What happens next? You fall completely out of the routine and it takes months to get back to it. It’s happened to me dozens of times.  In quality management circles, we’d refer to this recurring problem as a “failure mode”.  We’d document it as a risk and determine an approach to mitigate the impact on the project.

Micro Contracts: Controls to Prevent Failure

In our gym example, we’ve documented the failure mode of “Missing Twice”. Now we need to put a control in place to stop it from happening. A control is a guideline that we use to evaluate an occurrence of an event and instantiate a corrective action if it falls outside the desired range.  This sounds like the perfect place create a micro-contract or two.

Let’s look at two variants, an affirmative micro-contract and a negative micro-contract.  The affirmative micro-contract should reinforce the “why” for doing the behavior you’re trying to install.  It’s the “carrot” method of coercion. The negative micro-contract should be the “stick” that escalates the stakes in order to bring yourself back into compliance with the habit when you’ve gone out of control.

Affirmative Micro Contract

If I missed the gym today, I will go to the gym first thing in the morning, so that I continue to improve my health and maintain my mental wellness.

Negative Micro Contract

If I missed the gym two times in a row, I will not <do my favorite thing> until I go to the gym, so that I don’t break my habit, get fat, and become depressed.

 

Implementation of Micro Contracts

My current approach is to add a new micro-contract or two to my life each week. I use them to reinforce the current habit I’m building.  I try to only install or uninstall only one habit at a time, I make them quarterly goals so that they have the full 90 days to become entrenched.  My hope is that by adding micro-contracts each week, I will be able to increase my success rate for forming habits.  These simple statements will help me to control for failure modes and encourage me to refocus on my goals weekly.

Do you have any ideas that could improve micro contracts?  Where do you think they would provide value in your life?  Let me know in the comments below.