The principles below are about speed and clarity. This one is about character.
I want to move fast and communicate directly, but I have also seen what happens when those become excuses for being a bad person to work with. Speed does not require hostility. Directness does not require disrespect. The environments I want to build and work in operate on a simple standard: your word means something, and your intent is honest.
That means no office politics, no hidden agendas, no credit-stealing. If something is broken, we say it. If we are wrong, we own it. If we disagree, we do it to the face of the person we disagree with, not behind their back.
It also means the no-assholes rule is non-negotiable. Talented jerks are not worth the tax they impose on everyone around them. The goal is a team where people can move fast without bracing for impact every time they speak up.
Ethical behavior is not a constraint on doing good business, it is doing good business. A deal where both sides win is a deal that holds. An agreement you actually honor is worth more than a contract you are looking for loopholes in. I would rather walk away from a bad deal early than extract value from someone who trusted me.
Async communication is the default. My primary channels are Slack, iMessage, and WhatsApp depending on the context and team. Written communication is the most efficient format for most things: it is searchable, referenceable, and gives everyone time to think before responding.
That said, writing is not always the fastest or clearest option, especially when a team is moving quickly or out in the field. Audio messages are a legitimate tool, and I encourage using them. Every major platform has transcription built in, so messages remain accessible and documentable even when delivered as voice. Voice communicates tone in a way that text often cannot, and for anything where nuance or urgency matters, a 30-second voice message beats a five-sentence text that gets misread.
On mobile: if you are replying to email from your phone, remove “Sent from iPhone” or “Sent from my Android” from your signature and replace it with your first name. It takes 30 seconds to configure and signals that you care about the details of how you show up. Apple and Android both have speech-to-text built into the keyboard. Use it. There is no reason to slow down because you are not at a desk.
Speed is the priority, but speed is not an excuse for reactive communication. Before you respond, especially to something that caught you off guard, take a second. Not minutes, not hours, a second. If a message is unclear, the default move is a specific clarifying question, not an assumption or a reaction. “Do you mean X or Y?” is faster and smarter than guessing wrong and doing rework.
Most messaging platforms have an edit feature and I encourage using it when you catch an error before it is read. If the message has already been seen, send a follow-up starting with ** to flag the correction, the way people used to in older message boards. It is clear, honest, and keeps the record accurate without making a small mistake into a bigger moment than it needs to be.
In the age of AI, it is easy to forget that humans still want to talk, especially when they are about to buy something or make a real commitment. A face-to-face engagement guarantees someone’s attention for a set period of time, use it wisely. We can operate as digital-first, async-by-default people internally, but externally we have to recognize that things get hashed out in conversations, not threads, especially when the stakes are high.
I genuinely care about the quality of how we communicate as a team. Being effective at communication is not just about being fast, it is about being clear, direct, and respectful. Treat your teammates at least as well as you would treat a stranger. There is a baseline level of politeness that applies to everyone you interact with professionally, and that baseline is the minimum, not the ceiling, for the people you work with every day. Direct and warm are not mutually exclusive. Default to both.
Just kidding. But actually, try to do things on your own and do not rely on me to have the answer every time. I have been known to schedule a message with the solution set to send an hour later just so you actually work through the problem yourself and learn something in the process. Call me evil, but that is teaching.
The core idea: operate as self-contained as possible. Anticipate the gaps around your area of responsibility and fill them. If something needs to happen and no one owns it, own it or find someone who can.
I do not think it is cool to brag about how big a team is. In the age of AI, that is negative aura. Headcount is not leverage, it is overhead.
Jeff Bezos had the two-pizza rule: if a team cannot be fed with two pizzas, it is too big. Experience has taught me the same thing.
Fewer people means less communication overhead. It also means every person on the team actually feels the weight of the mission, because they are the team. There is no one else to pass it to.
My preferred working unit is one person. When that is not possible, four is ideal. Ten is the absolute maximum before coordination cost starts consuming more output than it generates. When I see a team grow past that, I ask two questions: are we finding enough leverage, and can we break into smaller autonomous sub-teams with their own ownership?
A small team that moves fast, trusts each other, and has the agency to make decisions will outperform a large team almost every time. Size can look like strength. It usually is not.
The phrase comes from a culture Jeff Bezos built, and the mindset goes further than any one company. He called them “two-way door” decisions: if you can walk back through the door when you are wrong, then make the decision and move. Do not wait for perfect information. Do not call another meeting. Most decisions are reversible, and the cost of delay is almost always higher than the cost of a wrong call you can correct.
What made Bezos stand out, beyond the speed, is that the people who built alongside him consistently said he cared, he listened, and he took real satisfaction in how many people he helped become wealthy and successful through their shared work. He was not hoarding the outcome. He was multiplying it. That is the model. Everyone on the team wins.
High agency means you own outcomes, not just tasks. You do not wait to be told what to do next. You identify what needs to happen and you move toward it. When something is unclear, you ask. When something is broken, you fix it or escalate it immediately. When the team needs a decision to unblock everyone, you make it.
The goal can be as large as you want. The bigger the better. But the way you get there is through the smallest possible next step, completed, then the next, then the next.
Large-scale projects fail most often because we try to swallow them whole. The discipline is in breaking the goal into the most atomic, concrete action you can take today, shipping it, and reassessing with new information. Every delivery gives you a clearer picture of what comes next.
Think of it like training for a sport or going to the gym. Some sessions feel like nothing is happening. The weight on the bar is not impressive. The session was short. But the rep happened, and reps are the foundation. The results are non-linear. The person who shows up consistently, even for modest sessions, outperforms the person who shows up sporadically at full intensity, every single time.
Keeping the team small demands a skill that is rarely taught and mostly learned by watching how people make decisions under pressure: prioritization. When resources are tight and everyone is carrying real weight, the ability to identify what actually moves the needle right now is what separates a productive day from a busy one. The question I ask myself is simple: if I had one hour to do something that genuinely moved things forward at this very moment, what would it be? That is usually what gets done first.
Prioritization also means honestly acknowledging the medium and low priority items. They are real, they matter, and they will get done, just not now. The practice is to write them down somewhere you trust, and then actually return to that list. The reviewing is as important as the writing. A list that never gets revisited is just a way of feeling organized without being organized. Build the habit of checking what you captured, and you will be surprised how many things resolve themselves, surface at exactly the right moment, or turn out not to matter at all when you look at them again with fresh eyes. Content creators talk endlessly about productivity tools, but what is not emphasized enough is the consistency practice itself: it does not matter which tool you use, what matters is the retrospective, the constant habit of creating a list and checking it twice. The practice is the point, not the platform.
The same logic applies to how we scope work. Start short. Deliver something real. Get feedback. Expand. Projects that try to be everything on launch day almost never ship. Projects scoped to a single honest deliverable almost always do. Over time, as trust is established and the process is proven, the scope of each iteration grows naturally. Scope the work to the shortest honest unit, deliver it, and update on what comes next. Consistency over intensity. Shipping over planning.
That said, sometimes the best work comes from a sprint. Sometimes in life, to do something great, you have to shut everything down, clear the board, and go. A mentor of mine taught me about the drop-dead deadline: you pick a date, you set an experiment, and for that window you give it everything you have. No sidequests, no hedging, no half-measures. You either win, or you learn something you could not have learned any other way. The intensity of a real deadline, one you have chosen and committed to, is a different kind of fuel. It should not be the default, and it absolutely should not be imposed on people without buy-in, but when the moment calls for it and everyone is aligned, a focused sprint can produce in weeks what diffuse effort would never produce at all. The door that opens on the other side, whether it is the goal itself or the insight from falling short, is almost always worth going for.
If you are doing the same task manually more than twice, that is a signal. The task should be automated or eliminated. With the tools available today, AI included, there is no excuse for grinding through repetitive work when that energy could go toward things that actually require your judgment.
When you build or discover an automation, track it. Write a short .md file documenting what it does, what problem it solved, what tools it uses, and where it lives. These notes are building blocks. Something you automated for one process will almost certainly be reusable for another, and a few months from now you will not remember the details unless they are written down. The goal is to build processes automation-first from the start, so a small team can operate with the output of a much larger one.
To get there, I use a five-step framework adapted from Elon Musk's algorithm for eliminating waste before automating anything:
Make requirements less dumb. Challenge every requirement, especially if it comes from a person or department rather than a law of physics. Name the specific person responsible for the requirement, not just the team or the function. Requirements handed down from ambiguous authority are the most likely to be wrong or outdated.
Delete parts or processes. Actively remove unnecessary steps, tools, and components. If you are not adding back at least ten percent of what you cut, you are not cutting enough. Most processes carry more dead weight than anyone wants to admit.
Simplify or optimize. Only after you have questioned and deleted do you simplify what remains. Optimizing something that should have been deleted is wasted effort.
Accelerate cycle time. Speed up the processes that survived the first three steps. Find the bottleneck and eliminate it.
Automate. The last step, not the first. A major mistake is trying to automate before you have questioned and pruned. Automating a flawed process just makes the flaw faster.
Follow the steps in order. The automation at the end is only as good as the thinking that preceded it.
And before you ask someone to build you a script, or before you decide it is too hard to automate, carve out ten minutes and do a detailed search first. There is most likely a tool out there, open source or otherwise, that already solves your problem. If you search and come up empty, find someone in your network who is high agency and responsive and genuinely good at this kind of search, and ask them. The right person will cut through in minutes what might take you an hour. Knowing who those people are and having the agency to reach out is itself a skill worth developing.
The best decisions come from environments where anyone can challenge anything, regardless of title or tenure. That kind of culture does not happen by accident. It requires protecting the space for honest pushback.
What it does not mean is public confrontation. Broadcasting a disagreement to an entire team creates an audience and adds pressure that makes it harder, not easier, to get to the truth. If two people see something differently, the right move is to get in a room together, talk it out, and reach a conclusion. The key is having the agency to say it plainly: we need to sit down and work through this.
Come with your perspective, your data, and a genuine willingness to be wrong. Ask questions before making statements. No raised voices, no personal attacks. If someone is being difficult in a disagreement, name the behavior clearly and focus on resolving the substance regardless.
After the conversation, write down what was decided and why. That record is more valuable than the argument that preceded it.
This one is simple and almost never talked about. Nobody makes good decisions or does their best work when they are tired, hungry, or carrying too much stress. Those three states affect judgment, patience, and communication in ways that compound fast in a team environment. A conversation that would have been fine at 10 AM can go sideways at 11 PM when everyone is running on empty.
Sleep is not a luxury, it is infrastructure. If it is late at night and there is an important decision on the table, the right call is almost always to take a breath, step away, and revisit it in the morning. Nothing urgent enough to decide at midnight is so fragile that it cannot survive eight hours. The version of you that wakes up rested will make a better call than the version of you that pushed through.
Hunger is the easier one to solve and the one people are most reluctant to bring up. Do not be shy about it. If you are hungry, say so. If the team is running low, let us figure it out together. There is no version of a productive afternoon that starts with everyone sitting around a table on empty stomachs pretending it is not a problem.
Something went wrong, not someone. That is the right starting assumption in a work setting, and assume positive intent should be the default until the evidence clearly says otherwise.
We are almost always working with incomplete information. People miss context, communicate poorly under pressure, and make mistakes. The default assumption should be that something went wrong, not that someone is working against you.
This is not naive. It is strategic. Game theory supports it: defaulting to trust produces better long-run outcomes than defaulting to suspicion, as long as you update your model when the evidence warrants it.
When I make a mistake, I document it, share it, and ask for forgiveness. I expect the same from the people I work with. A team where people can own their errors openly learns faster than one where people hide them.