How can we systemize our progression as software engineers?
Doing fewer things is a great place to start, because it’ll give you more room for error as you figure out what works best for you.
The next best method is to commit to the goal: saying you’ll do something, and then doing it.
There are many ways to make commitments.
The founder promises to go back to corporate if he doesn’t get his app profitable within 3 months.
Nathan Berry said he’d create an app that makes 5k MRR within 6 months (he did it).
Elon committed to raising Tesla’s market cap to 8.5T in 10 years.
What no one tells you is that how you commit is even more important than what you commit to.
Anatomy of a commitment
A commitment enforces constraints.
Here’s a chart that explains what constraint to select and how to communicate it.
Analysis
The more constraints, the more difficult the commitment
Getting ripped is harder than getting strong because it requires effort in the gym and the kitchen.
Profit is harder than revenue because it requires spending discipline.
Getting promoted is harder than completing a course because it requires approval.
Before committing to a bold outcome like becoming a millionaire within 5 years, focus on an input commitment like deep-working for 2 hrs a day.
Commit to the right audience.
Your Instagram audience doesn’t care that you work 70-hr weeks; they care about seeing cool pictures in their feed.
The users of your app don’t care about your margins; they care about how well your app solves their problem.
A good commitment shared with the wrong audience shows that you don’t know what people want.
Standup Example
Last year, we had three senior developers working on Compass.
Our yearly internal commitment was to become profitable.
Each week, we made individual commitments that moved us closer to that.
Here were our requirements for a commitment.
Basically, we just had to commit to closing a set of issues each week.
Since we don’t track hours, these were internal, outcome commitments.
This forced us to scope the work ahead of the meeting and allowed others to push back.
Most importantly, it made it clear whether we were executing well.
If everyone agreed that our commitments were realistic, but we kept missing them, then we knew we had an issue.
This cut through all the B.S. and helped us make corrections quicker than if we never put our work on the line in the first place.
Traps to avoid
Commitments also came with traps.
If you treat all commitments as equal, you’ll be less effective.
Which of these matters most for an unemployed junior software engineer?
Waking up at 5 am and building his portfolio for 5 hours
Submitting 20 quality jobs applications/week
Getting hired within 3 months
Answer: #3
If that engineer realizes he works best at night, he should drop the 5 am commitment.
If he hasn’t gotten one interview after 100 cold-applications, he should drop that approach and consider another, like networking.
If you make a big commitment, you’ll be less willing to change it as you get new data.
For example, you committed to writing a book about Framework X. But then AI happened, making Framework X irrelevant. You’ll want to keep writing instead of adapting to the new world.
If you make a public commitment and fail, you’ll want to pretend it never happened.
Sure, most people already forgot.
But you haven’t.
Staying quiet will do more damage to your psyche and reputation than owning it.
Have you ever filled out an internal survey and then realized that they never shared the results? It’s because they didn’t like the results, and they were too afraid to face the root problems.
BTW - We failed to become profitable last year. We owned it, made a lot of changes, and are moving forward (see, not that hard).
Why this work
It takes guts to put your reputation on the line.
It takes discipline to keep doing the work when life gets hectic.
The better you get at this, the more confidence you’ll have.
Your commitments will get more ambitious.
You’ll get better at keeping them.
People will notice that your words predict reality, which will make them more valuable.
Code is getting cheaper, but your credibility isn’t.




