One of the most dangerous sentences in operations begins with “I think.” I think the rate fell because staffing. I think the line backed up because training. I think customers are leaving because price.

Maybe. Show me. One of the operating principles I eventually put around Control Room was: measure first, reason second. That does not mean numbers are smarter than humans. It means establish the state before inventing the explanation. What happened? Where? When? How much? Compared with what?

Then reason. I am giving you Python because this is one of the things I want you to discover early: a computer is wonderfully literal. That can be annoying when you forget a colon. It can also make you a better thinker. Suppose you believe your little business gets more orders on Friday. Fine. Do not argue with yourself. Make a table. Date, day, orders. Let Python count them. Plot them. Look. Now you have observation.

Then ask why. Maybe Friday really is stronger. Maybe one giant Friday distorted your memory. Maybe the effect is payday. Maybe your promotion happens Thursday night. Maybe the customer type changes. Maybe nothing is there at all. The code does not remove your judgment. It gives your judgment something solid to stand on. This is exactly how I learned to approach operations. A dashboard without operational judgment is a collection of measurements. Operational judgment without reliable state can become storytelling. The useful system connects them.

That is also why I want you playing with scripts instead of only clicking through finished applications. When you write something tiny yourself, you get to watch the logic become visible. Take a list. Filter it. Count it.

Change a condition. Watch the output change. Break it. Read the error.

Fix it. Run it again. That is a laboratory. You do not have to start with machine learning or some giant app. Make a script that reads ten rows. Make another that finds the largest number. Make one that asks a question and chooses a path. Make one that intentionally fails when the input is impossible.

Then look at the same logic outside the computer. A customer enters a website. That is input. They choose a service. State changes. They schedule. Another state.

They do not schedule. Different path. They buy. Another path. They need help. Exception. That is programming even before you type code. The business is already full of logic. Code is one way to make the logic repeatable.

The habit I want you to keep is not “trust the computer.” Absolutely do not do that. The habit is: establish what is true, then explain it. That one habit will protect you from an astonishing amount of nonsense. People love explanations. We are spectacularly good at making them. The story can arrive in our heads before the evidence has even taken its coat off.

So when something surprises you, resist the urge to immediately become a genius. Get curious. What happened? Can I reproduce it?

What changed? What did I expect? What does the data actually show? Then be clever.

Clever is much more useful after observation. There is a business version of this lesson that I would keep close. Every company is a collection of promises connected by handoffs. A lead becomes a conversation. A conversation becomes a decision. A decision becomes onboarding. Onboarding becomes delivery. Delivery becomes follow-up. Follow-up becomes either another relationship or a quiet ending. If one of those transitions depends on somebody remembering it at exactly the right moment, that is not yet architecture. It is hope. You do not need expensive software to fix that. First name the states. Decide what makes something enter a state and what makes it leave. Decide what information must travel with it. Decide which normal transitions can happen automatically and which exceptions deserve a human. Only then choose tools. Tools should implement the operating model, not become the operating model.

One of the things experience taught me is to respect the difference between a rule and the reason the rule exists. Rules make repeatability possible. Reasons make judgment possible. I want both. If all you teach is the rule, the first unusual condition can paralyze the person. If all you teach is judgment, every ordinary task becomes a fresh invention. The strong system has a boring normal path and an intelligent exception path. Normal work should move with very little drama. The unusual thing should become visible. Somebody with the right context should own it. The decision should leave a trail. Then the system should return to normal instead of making the exception the new permanent process.

Documentation belongs inside the work whenever possible. I do not want a team to finish operating and then begin a second job called “prove that we operated.” If a job changes state, record the state. If a decision changes the plan, record the decision. If an exception is resolved, preserve enough of the reason that the next person can learn from it. That history becomes extraordinarily valuable later. You can see where work dwells, which exceptions repeat, what changed before performance improved, and where a process quietly depends on one person's memory. Good documentation is not a pile of paperwork. It is the memory of the operating system. And keep some joy in it. Systems work can sound painfully serious when written in corporate language. In real life it is full of absurdity. Boxes go somewhere impossible. A tiny handwritten note becomes the seed of a giant process. The machine makes a noise nobody has heard before. A person solves something with a trick so simple everybody laughs. Somebody sends a six-word message that makes perfect sense to three people and looks like alien language to everybody else.

Those moments are part of why I loved the work. A complicated system is a puzzle that talks back. You make a change and reality answers. Sometimes it says yes. Sometimes it says absolutely not. Either answer teaches you something. The part I would want you to remember years from now is that competence is not knowing everything in advance. Competence is knowing how to find out. Establish state. Ask what changed. Find the constraint. Talk to the person closest to it. Check the evidence. Make the smallest useful intervention you can. Observe the response. Update your model. That loop works in a warehouse, a software project, a business, a classroom and a life. You are allowed to learn while moving. You just need enough discipline to know what you changed and enough humility to let reality correct you.

There is a business version of this lesson that I would keep close. Every company is a collection of promises connected by handoffs. A lead becomes a conversation. A conversation becomes a decision. A decision becomes onboarding. Onboarding becomes delivery. Delivery becomes follow-up. Follow-up becomes either another relationship or a quiet ending. If one of those transitions depends on somebody remembering it at exactly the right moment, that is not yet architecture. It is hope. You do not need expensive software to fix that. First name the states. Decide what makes something enter a state and what makes it leave. Decide what information must travel with it. Decide which normal transitions can happen automatically and which exceptions deserve a human. Only then choose tools. Tools should implement the operating model, not become the operating model.

One of the things experience taught me is to respect the difference between a rule and the reason the rule exists. Rules make repeatability possible. Reasons make judgment possible. I want both. If all you teach is the rule, the first unusual condition can paralyze the person. If all you teach is judgment, every ordinary task becomes a fresh invention. The strong system has a boring normal path and an intelligent exception path. Normal work should move with very little drama. The unusual thing should become visible. Somebody with the right context should own it. The decision should leave a trail. Then the system should return to normal instead of making the exception the new permanent process.

Documentation belongs inside the work whenever possible. I do not want a team to finish operating and then begin a second job called “prove that we operated.” If a job changes state, record the state. If a decision changes the plan, record the decision. If an exception is resolved, preserve enough of the reason that the next person can learn from it. That history becomes extraordinarily valuable later. You can see where work dwells, which exceptions repeat, what changed before performance improved, and where a process quietly depends on one person's memory. Good documentation is not a pile of paperwork. It is the memory of the operating system. And keep some joy in it. Systems work can sound painfully serious when written in corporate language. In real life it is full of absurdity. Boxes go somewhere impossible. A tiny handwritten note becomes the seed of a giant process. The machine makes a noise nobody has heard before. A person solves something with a trick so simple everybody laughs. Somebody sends a six-word message that makes perfect sense to three people and looks like alien language to everybody else.

Those moments are part of why I loved the work. A complicated system is a puzzle that talks back. You make a change and reality answers. Sometimes it says yes. Sometimes it says absolutely not. Either answer teaches you something. The part I would want you to remember years from now is that competence is not knowing everything in advance. Competence is knowing how to find out. Establish state. Ask what changed. Find the constraint. Talk to the person closest to it. Check the evidence. Make the smallest useful intervention you can. Observe the response. Update your model. That loop works in a warehouse, a software project, a business, a classroom and a life. You are allowed to learn while moving. You just need enough discipline to know what you changed and enough humility to let reality correct you.

There is a business version of this lesson that I would keep close. Every company is a collection of promises connected by handoffs. A lead becomes a conversation. A conversation becomes a decision. A decision becomes onboarding. Onboarding becomes delivery. Delivery becomes follow-up. Follow-up becomes either another relationship or a quiet ending. If one of those transitions depends on somebody remembering it at exactly the right moment, that is not yet architecture. It is hope. You do not need expensive software to fix that. First name the states. Decide what makes something enter a state and what makes it leave. Decide what information must travel with it. Decide which normal transitions can happen automatically and which exceptions deserve a human. Only then choose tools. Tools should implement the operating model, not become the operating model.

One of the things experience taught me is to respect the difference between a rule and the reason the rule exists. Rules make repeatability possible. Reasons make judgment possible. I want both. If all you teach is the rule, the first unusual condition can paralyze the person. If all you teach is judgment, every ordinary task becomes a fresh invention. The strong system has a boring normal path and an intelligent exception path. Normal work should move with very little drama. The unusual thing should become visible. Somebody with the right context should own it. The decision should leave a trail. Then the system should return to normal instead of making the exception the new permanent process.

Documentation belongs inside the work whenever possible. I do not want a team to finish operating and then begin a second job called “prove that we operated.” If a job changes state, record the state. If a decision changes the plan, record the decision. If an exception is resolved, preserve enough of the reason that the next person can learn from it. That history becomes extraordinarily valuable later. You can see where work dwells, which exceptions repeat, what changed before performance improved, and where a process quietly depends on one person's memory. Good documentation is not a pile of paperwork. It is the memory of the operating system. And keep some joy in it. Systems work can sound painfully serious when written in corporate language. In real life it is full of absurdity. Boxes go somewhere impossible. A tiny handwritten note becomes the seed of a giant process. The machine makes a noise nobody has heard before. A person solves something with a trick so simple everybody laughs. Somebody sends a six-word message that makes perfect sense to three people and looks like alien language to everybody else.

Those moments are part of why I loved the work. A complicated system is a puzzle that talks back. You make a change and reality answers. Sometimes it says yes. Sometimes it says absolutely not. Either answer teaches you something. The part I would want you to remember years from now is that competence is not knowing everything in advance. Competence is knowing how to find out. Establish state. Ask what changed. Find the constraint. Talk to the person closest to it. Check the evidence. Make the smallest useful intervention you can. Observe the response. Update your model. That loop works in a warehouse, a software project, a business, a classroom and a life. You are allowed to learn while moving. You just need enough discipline to know what you changed and enough humility to let reality correct you.

There is a business version of this lesson that I would keep close. Every company is a collection of promises connected by handoffs. A lead becomes a conversation. A conversation becomes a decision. A decision becomes onboarding. Onboarding becomes delivery. Delivery becomes follow-up. Follow-up becomes either another relationship or a quiet ending. If one of those transitions depends on somebody remembering it at exactly the right moment, that is not yet architecture. It is hope. You do not need expensive software to fix that. First name the states. Decide what makes something enter a state and what makes it leave. Decide what information must travel with it. Decide which normal transitions can happen automatically and which exceptions deserve a human. Only then choose tools. Tools should implement the operating model, not become the operating model.

One of the things experience taught me is to respect the difference between a rule and the reason the rule exists. Rules make repeatability possible. Reasons make judgment possible. I want both. If all you teach is the rule, the first unusual condition can paralyze the person. If all you teach is judgment, every ordinary task becomes a fresh invention. The strong system has a boring normal path and an intelligent exception path. Normal work should move with very little drama. The unusual thing should become visible. Somebody with the right context should own it. The decision should leave a trail. Then the system should return to normal instead of making the exception the new permanent process.

Documentation belongs inside the work whenever possible. I do not want a team to finish operating and then begin a second job called “prove that we operated.” If a job changes state, record the state. If a decision changes the plan, record the decision. If an exception is resolved, preserve enough of the reason that the next person can learn from it. That history becomes extraordinarily valuable later. You can see where work dwells, which exceptions repeat, what changed before performance improved, and where a process quietly depends on one person's memory. Good documentation is not a pile of paperwork. It is the memory of the operating system.