June 3, 2018 marked four years since Turing’s first students walked through the door. To celebrate, I took a 9-week sabbatical to travel, think, read, and spend time with my family. Below is my “State of Turing” talk delivered on my first day back, August 13, 2018.
As we move into our fifth year I’m thinking about cycles of growth and improvement. The rings of a tree are formed by the contrast between fast-growth and slow-growth. Each ring building on the one before it.
It’s felt right for Turing to grow in two-year cycles: one year of moving fast, one year of solidification.
- Year 1: Open the doors with the back-end program
- Year 2: Fortify enrollment and staffing
- Year 3: Double in size by launching the Front-End program
- Year 4: Fortify enrollment and staffing
- And now, Year 5, in two parts
Part of the burden of leadership is that your personal strengths and weaknesses are reflected back to you as the character of the organization. Shaping yourself, then, is an opportunity to shape the culture of the team.
I’ve been thinking a lot about the idea of “practice” and “practices.” It’s fascinating that people at the top-level of anything, any kind of difficult pursuit, never finish practicing. Look at music, athletics, martial arts — there is always practice. Practice is, then, the work we put in to be our best selves. Maybe, as Abraham Maslow would say, to realize our self-actualization or become the person we want to be.
Returning to real life has me thinking about my practices, both in life and as they affect Turing. What am I practicing? Am I doing it with focus, intensity, and discipline? I know that I get the most satisfaction when I act with intention, when I know what I’m practicing.
There are a lot of ways to spend one’s time. I’ve decided that I want to spend all my time practicing three things:
- Patience. Living a responsible life means doing things we don’t really want to do. For me, those are things like getting haircuts, sleeping, and oftentimes eating. The maintenance of life is often boring but necessary, offering the opportunity to practice patience.
- Growth. I’m 37 years old and I’ve now spent 15 years in education. I hope that my best times and best work are still in front of me. To achieve them I’ll need deeper understandings, richer perspectives, greater endurance, and brighter faith than I have now. It’s tempting and validating to do the things we know, to do the things we’re good at. It takes practice to turn the difficult into the regular and the regular into the automatic. Then we can renew our ability to take on more.
- Joy. There’s a dark validation in forgoing joy. Self-sacrifice is deeply woven into the culture of our industry and country. Joy, to me, is the discovery of happiness in everything from the normal to the extraordinary. To appreciate the details of a meal, the vista of a hike, or just a few moments of silence. But most importantly, joy multiplies joy, so if we forgo it then we are depriving others their opportunity to experience it.
I’m trying to ask myself every couple minutes — am I practicing Patience? Am I practicing Growth? Am I practicing Joy? And if the answer is no to all three, then I need to move.
What do you, our students, practice? What do you get better at? What does it take for you to be successful? What does it mean to teach and learn? How do we measure and validate progress? How do we support growth but set high expectations? How do we enable creativity but ensure competency? These are the kinds of questions I thought about during my time away.
I concluded that to teach means to develop three things: knowledge, skill, and understanding.
- Knowledge are the facts and details — the “what”. What is there for identification and usage? If we teach history, knowledge is our dates and names. If we teach writing, knowledge is our vocabulary and verb conjugation. In programming, it’s our functions, methods, syntax, and idioms.
- Skill is the way that we apply knowledge — the “how”. How do those bits of knowledge tie together into something that matters? In writing, skills allow us to craft sentences, paragraphs, cadence and flow. In programming, it’s the design of little machines that can do work then stitching them together into something that provides value.
- Understanding is about connection and importance. It’s the “why”? Why does a character act this way, say these things? Why does an object have these methods? How does a person feel when they experience a moment, a story, an interaction, or a button? Why do we make things this way?
At any given moment, are we practicing knowledge, skill, or understanding? In what balance? What about over a week, a module, or over the program?
Of the three, knowledge is the easiest to teach and assess. It is also the least durable. Knowledge of one technology, language, or framework is not easily reapplied to a new one. As kids, most of us experienced a form of K-12 education that over-emphasized knowledge.
Skill and understanding are highly durable. They’re what allow an author to write two novels with completely different voices. They allow an experienced developer to transcend a single set of technologies and grow into a person who uses software to solve meaningful problems.
Skill and understanding both depend on knowledge. Knowledge is a tool but it is not the goal. You can’t really practice knowledge — you have it or you don’t. You can work to build it. But like knowing every word in the dictionary, knowledge is useless without the skill to apply it and the understanding to make it worthwhile.
One of my favorite books is Daniel Pink’s Drive. In it, Pink argues that human motivation and engagement in work is driven by Autonomy, Mastery, and Purpose. But, more than that, he has a line that has stuck with me: “there’s a gap between what science knows and what business does.”
For us at Turing, there’s a gap between what we know and what we do. In Year 5 we’re going to close that gap.
We have enough students coming to the door and companies snapping them up on the other side. But what happens in the middle? We are using our knowledge, skill, and understanding to deliver a significantly above average educational experience. If we’re willing to develop our knowledge, refine our skills, and deepen our understanding, then I believe we can build the strongest educational community in the world.
Where are the gaps and how do we close them? I’ll give you one example.
We know that collaboration is a key skill for professional programmers. It’s one of the ways that our graduates dramatically outperform other developers.
As an instructor, collaboration is a real pain. It’s hard to schedule. It’s hard to assess. It’s hard to debug collaborations that start to go wrong — and they always seem to go wrong.
From a strategic perspective, a focus on individual work is the best path to eliminating those problems. But we’ve always said that Turing is a place to make your mistakes. By fighting to eliminate the negative and raise the floor of achievement, we can amputate the highs. We sacrifice the great in service of eliminating the terrible.
Our future cannot be the pursuit of ensuring “above average” results. We will push for excellence.
If collaboration will be a key differentiator then it takes practice. I believe that students are best served by splitting their academic time into thirds:
- One-third working solo
- One-third working in pairs
- One-third working in groups of three or more
Over time we’ve accidentally mutated our two programs to a place where it’s probably 60% solo, 30% pairs, and 10% or even 0% small groups. There’s a gap between what we know and what we do. How do we close it?
As a kid, my grandmother lived near Disneyland in California and I was privileged to go there several times. There’s a ride there, Autopia, that’s been in place since 1955. It’s changed over the years, but the basic plot is that you and a passenger climb into a two-seater car. Then you get to drive. You’re like 7 years old and you’re driving a car.
How? Tracks and limits. The steering wheel allows you to move the car left and right. The track down the middle means that you can wiggle, but you can’t flip around or crash into the bushes. The accelerator allows you to control your speed. But the top speed is pretty meager and, if you’re blocking the car behind you, the car will go for you.
There’s a profound joy in Autopia. You’re in control, but not quite. You have freedom, but not quite. You have safety. You can follow the track straight through. You can wiggle left and right. You can speed up or slow down. But in the end, you’re all going to the same exit and you’re all safe. You’re allowed to have fun.
The simple beauty of Autopia is embracing constraints. I believe Turing can do a better job to build the tracks. We can do better to ensure safety while allowing for the wiggle. We can remove some of the worry and anxiety and allow the space for fun.
Rules & Constraints
I don’t like rules. Much of the time they’re about mitigating danger or problems. But I do like constraints. Constraints provide us with the direction of the track, but we get to figure out the wiggle.
One of the first big experiments we’ll perform is to embrace a set of constraints and try to close our collaboration gap. Before I get into the details, understand that this plan is targeting the 1810 inning. We have time to implement intelligently and thoughtfully, though not perfectly.
We’ll add a set of constraints to our academic work — all eight modules will follow the same work pattern. I believe that when a student understands the pattern and sees the track before them, then their anxiety and worry are decreased. You know where we’re going. You’re able to engage more deeply and enjoy the work. You’re able to find the wiggle.
- Week 1: students come in high on enthusiasm and low on everything else. Week 1 is about individual experimentation. You’re working on a solo, 1-week project that exposes the key themes of the module. The end product gets feedback without impactful numeric assessment. This phase is about experimentation.
- Weeks 2&3: based on data gleaned in the first project, the instructional team groups the students into smart pairings. A high-performing student works with someone in the middle. A middle performer works with someone struggling. The pair is designed to have some overlap in knowledge, skill, and understanding — with the hope that the time together will allow them to practice what they’ve got and absorb what the partner brings. The teams demonstrate a moderate level of competency with the new content of the module. This project is assessed and eventually factors into the promotion decision.
- Weeks 4&5: again informed by the previous project, the instructional team builds work teams of three to four students. They collaborate on a project of significant complexity which allows them to solidify and refine their core knowledge, skill, and understanding while also providing the opportunity to experiment and try new things. The project is assessed with a high degree of scrutiny and represents approximately 25% of the input to the promotion decision.
- Week 6: students complete a one-week project demonstrating their mastery of what they’ve learned. There’s little new here. It’s a short timeline and a lot of ground to cover. Students are demonstrating that across the previous three projects they developed the individual proficiencies that they need to move on.
Projects vs Final Assessment
Over the last year, most of our end-of-module assessments have moved from a performance model (emphasizing live collaboration) to a submission model (do work, turn it in, get graded).
The submission model allows you to cover a lot more material (upwards of 8 hours of work time), serve more students (since grading typically only takes a fraction of the work time), and is easy to schedule because everyone can do the same assignment at the same time.
But submission-based assessments overly emphasize knowledge: do you know all the things you’re supposed to know? But we know that skill and understanding are the durable wins, not knowledge. There’s a gap between what we know and what we do.
The final one-week individual project can serve as the demonstration of module-content mastery. We don’t need assessments to do that job. So what is the role for a final assessment?
After years of helping alumni get hired, we know that there’s a difference between what it takes to do the job and and what it takes to get the job. Our projects are preparing you to do the job. Our final assessment can prepare you to get the job.
When you go into a technical interview you typically are asked to do work that does not, on the surface, seem to reflect the job. The real work is typically about building a web application, but the interview is about balancing a binary tree. Why? Because when a short interview session is done well you can use a technical challenge to assess skill and understanding beyond knowledge.
Over the four-module arc of a Turing program, we can think of the four final assessments as a spiral of increasing complexity. The question coming out of Mod1, in either program, is “can you break down complex problems into smaller problems?” At the close of Mod4, the question is “can you break down complex problems into smaller problems which can be implemented, validated, and fit within constraints?”
The assessment is an opportunity to prove that when you’re in an uncomfortable situation you can apply your skills and understandings to solve the problem. This is what technical interviews look like, and we can prepare students the same way.
Constraints enable creativity. Across these four years we have tried so many ideas and developed eight mods with a ton of variation. Now the big change and the big challenge is to figure out what is truly essential. We’ll rebuild with discipline. We’ll practice with intention. We’ll build our knowledge, skill, and understanding while enabling you, the students, to do the same. Our graduates today are significantly above average. If we can close the gap between what we know and what we do, then our students can realize the heights of their potential.
I’m the founder and Executive Director of the Turing School of Software & Design. During my time away I loved “The Power of Moments”, enjoyed “Masters of Modern Soccer”, rolled my eyes at “Against the Odds: An Autobiography”, got a lot out of “Extreme Ownership”, and finally finished “Tribal Leadership”.