Notes from Mindstorms

  • Having words for things like “nested loop” or for different kinds of bugs or conditions can be hugely helpful for clarity of thinking
  • Children can learn computing best when they program the computer, not when it’s used to attempt to program them
  • It’s too bad excel isn’t more extensible, it could be a fantastic platform for learning to use computers to model and learn complex subjects, their relationships, etc
  • The program isn’t right or wrong, but fixable or not
  • New programmers: articulate your debugging strategies
  • The computer reflects how we think. We build our own flaws into our programs
  • Possible to have a curriculum that allows students freedom and flexibility without totally abandoning structure and sequencing
  • Computers became cheap and pervasive because they went from being expensive to construct out of millions of parts into an integrated circuit, one piece, made cheaper. What else is like this?
  • Internet of things needs a programming language suitable for the task: one language to reason about what should happen to my lights when my fridge opens, or what text message I should get when my garage door opens
  • For kids, lights and toys could be great analogs. Bring the turtle from logo into the real world
  • Education is really like Alan watts’ idea of the organism-environment. Learning happens within a culture of artifacts and objects-to-think-with
  • If you wanted to start a school for children to learn to code, create a system where they can apply their skills quickly, even make money! That way people can see that the entire education system from K-college isn’t the right lens to see the feedback loop. That would take too long anyway, but people have to see why that’s the wrong loop. Show them how quickly someone can go from where they are to using software to solve real problems. Months instead of half a lifetime
  • inherently teaching by tutorial discourages going off-roading
  • reminds us of how we learned: by copying code and then tweaking (think geocities or angel fire)
    • personal aspect can be empowering, you’re building something for YOU that represents YOU
  • allowing the students to guide their own experience rather than the other way around, they are self-motivated (ZAMM)
  • setting expectations up front and guiding the projects based upon the student goals
  • machines for making the abstract concrete?
  • helping mentors learn more about this theory stuff

Am I talking about coding? Or how to live life?

Notes from Turn the Ship Around

Idea: Figure out what code review is intended to solve and solve them in other ways. Eliminate code review as a centralized point of decision making

  • are the junior developers actually learning from code reviews?
  • Are we actually preventing bugs via code review?
  • Are we spreading institutional knowledge via code reviews?

Great leadership of his commodore: present a very specific goal, but don’t tell how to accomplish it. Use the same people, so the only thing to change was how they acted and interacted.

What must leaders overcome in order to give up control yet retain full responsibility?

  • perfectionism
  • Having things done the way they would do them
  • Full visibility? Maybe not
  • Pain and frustration of watching people make mistakes they would have seen and avoided
  • Tasks taking longer than they would take if I was doing them
  • Getting credit for the work

Be genuinely curious, not questioning. The time to be questioning or even critical is after trust has been established.

Are you asking questions to make sure you know or to make sure they know?

To what degree does technical competence form the basis for leadership?

  • to form initial trust (both ways)
  • To help with decision making as a last resort

Fix your own technical problems in front of the crew, set a good example. (He bought a bright flashlight and soon others followed suit)

Little things like lack of punctuality are indicative of much larger problems.

Personally correct things that have wronged people due to a broken system. (Getting a junior officer his leave chit signed by the appropriate parties). Go to bat for your crew.

Telling someone what to do before they know they need to do it robs them of the opportunity to make a decision.

Frustration is an opportunity to inspire change for the better. People know what’s wrong and you can build trust by letting them make decisions.

Give control instead of taking it.

Achieve excellence, don’t just avoid errors.

Don’t move information to the authority. Move authority to the information.


His experience delegating leave chits is literally identical to blocs vacation policy. This is an opportunity to push control down to the individuals.

Finding the genetic code and rewrite it is a mechanism for control.

  • Make sure everyone has problems to solve and objectives to meet, with the opportunity to make decisions (in addition to simply fulfilling requests from team members).

How will we know if people are proud of their crew?

Act your way to new thinking. When you don’t have time for a change in thinking to happen and later influence a change in behavior, change to the behavior you want and watch the thinking catch up with it over time. (Three name rule led to a departure of the attitude of victim hood on the submarine).

Act first and think later? Or think first and then change our actions?

Acting your way to new thinking is a mechanism for control.

“A little rudder far, far from the rocks is a lot better than a lot of rudder close to the rocks.”

A a leader, early on get involved in the process. Later, once the team is functioning, back out.

Point out the problems with operational processes or artifacts, your thought process, but don’t prescribe the solution. Be curious about how things ended up this way, and give the problem to the group to solve (facilitate this). Even tiny problems are valuable to give them to make decisions.

Short, early conversations is a mechanism for control. They are not opportunities to tell them what to do, but opportunities for them to get early feedback on how they were tackling problems. They also provide clarity on what we want to accomplish.

Not trusting someone means you don’t believe what they say. Whether your judgement is correct or your solution is the right one is a totally different issue, one of physics, time, distance, and many other factors outside of our control.

Characteristics of the physical world have nothing to do with trust.

Passing an inspection should be the natural side effect of meeting objectives, not the goal itself. (Same with a checklist or rubric or exam). Are we at risk of teaching to a rubric by making the checklist inform the leading indicators? Students passing the rubric should be the natural side effect of mentors being great at what they do, not an effect of mentors ensuring students pass the rubric bullet points. (Likely solution: give this problem to them to solve)

What happens in a top down culture when the leader is wrong? Everyone goes over the cliff.

Instead of asking questions when someone communicated intent, ask them what you are thinking. They have the answers already and can likely predict what questions you will ask. Get them thinking at a higher level by making the goal to just have you say “very well” without asking any questions.

“I intend to…” Is a powerful mechanism for control.

Trust the urge to provide solutions. Many urgent situations are not actually urgent – the team has time to chew on it.

If you have issues that come up a lot requiring decisions on short notice, you have a reactive organization locked in a downward spiral.

When issues aren’t foreseen, the team doesn’t have time to think about them; quick decision needed by the boss, which doesn’t help them, etc.

Eliminating top down monitoring systems is a mechanism for control. Give people the responsibility to know what their departments should be doing as well as the responsibility for making sure they get done. They report to you instead of you keeping track of them. (That’s a bottom up monitoring system instead)

Everybody is responsible for their own performance and the performance of their departments.

Senior personnel should not be telling junior personnel what they should be doing.

Adherence to the process often becomes the goal, rather than the objective the process was put in place to achieve. The goal them becomes to avoid errors in the process, and when errors are made, more monitoring is put in place. This monitoring doesn’t do anything to actually achieve the objective. They only identify why process has gone bad after the fact.

Efforts to improve process make an org more efficient, while efforts to monitor that process make the org less efficient. “We are checking up on you” has a negative effect on initiative, vitality, and passion.

  • thinking out loud is a great thing, because it keeps everyone aligned without the desire to ask for status updates
    • what do you do when someone thinks out loud and you don’t like what you hear?
  • “embrace the inspectors” allows you to control your own destiny, and convey that your’e not controlled by some outside force. it prevents the victim mentality
  • “Concerning areas where we were doing something exceptionally innovative or expertly, we viewed the inspectors as advocates to share our good practices with. concerning areas where we were doing things poorly and needed help, we viewed them as sources of information and solutions.” — attitude of learning and curiosity, rather than defensiveness
    • “I’ve been having a problem with this, what have you seen other ships do to solve it?”

part 3: competence

  • people make mistakes. ensuring you’re taking deliberate action (say what you’re going to do, pause, then do it) means that the mistakes get caught
  • reward honesty in tough situations
  • take this action when making decisions in intellectual organizations
  • Control without competence is chaos
  • Learning opportunities are everywhere, no time for lectures
  • How you look at things matters. Instead of a chore, things are learning opportunities
  • Use the notecard or post it method: our company would be more effective if the _________ could make more or better decisions about ______. Everyone contributes ideas. Post them, let everyone mill about looking at them all.
  • Then, do the same for: what, technically do those people need to know to make those decisions?
  • There’s your training syllabus
  • Don’t brief, certify. It makes people actively think about their role and how to be prepared. Deployment is obvious place in engineering teams, what other places stick out?
  • Certifications must be a decision point. You can fail a certification.
  • Certification is a mechanism for competence
  • Make people show up prepared instead of passive listeners
  • Continually and consistently repeat the message
  • Specify goals, not methods will empower your team to find I genius solutions using their greater knowledge of the situation
  • It also protects against the procedure superseding the actual goal
  • building trust and taking care of your people is a mechanism for clarity
  • use your legacy for inspiration is a mechanism for clarity
  • use immediate recognition to reinforce desired behaviors (mechanism for clarity)