00:00:00.000
Ready for takeoff.
00:00:16.920
Hello, my name is Mike Toppa, and I'll tell you a bit more about myself in a minute. But first, I want to make a comment directed to the RubyConf attendees who are not in the room right now and are watching the recording of this talk later.
00:00:26.220
I don't blame you for going to Aaron Patterson's talk instead of mine. Aaron has been one of the most popular RubyConf speakers over the years, and when I saw the schedule, I said, 'Oh no, we're at the same time.' But I appreciate you watching the recording later.
00:00:37.140
For everyone here in the room now, I appreciate you being here with me today. My talk is called 'From Beginner to Expert, and Back Again.' I'll give you a quick overview so you can decide if you want to stay for the whole thing.
00:00:51.059
The Japanese term shoshin translates as 'beginner's mind' and refers to a paradox: the more you know about a subject, the more likely you are to close your mind to further learning. The teachings of Zen monk Shunryu Suzuki are collected in the book 'Zen Mind, Beginner's Mind.' The most well-known quote from it is, 'In the beginner's mind, there are many possibilities. In the expert's mind, there are few.'
00:01:07.979
He goes on to say that once we decide we know everything, we shut down opportunities to learn. In contrast, the beginner state of mind is judgment-free; it's open, curious, available, and present. Suzuki describes it as being like a small child full of curiosity, wonder, and amazement.
00:01:30.780
The beginner's mind embodies emotional qualities such as enthusiasm, creativity, and optimism. These qualities are important for creative problem solving and for innovation. I'll share a simple example of beginner's mind from a previous work experience.
00:01:53.700
We had a scheduled job that ran nightly, doing a variety of financial transactions. Every morning, an automatic summary was sent to a Slack channel, which included various statistics. This summary report had been in place for years, and we routinely checked it every morning. However, a little while after we hired a new team member, he pointed out that one of these numbers wasn't right.
00:02:25.020
We took a look, and sure enough, the math was pretty obviously wrong for an important part of the report. It took a new person to notice this fairly obvious problem. The rest of us never noticed it because it was familiar and had been around for a long time, so we were confident in it and no longer curious about it or questioned it; we had an expert's mind.
00:02:48.900
However, he saw the error because he was new, and everything was unfamiliar to him. This made him curious and unafraid to ask questions; he had a beginner's mind.
00:03:01.680
That's the end of my initial example, but I'm just kidding—there's a lot more to talk about. We are going to discuss the benefits of having a beginner's mind and the pitfalls of sustaining it as we gain expertise.
00:03:28.099
We'll look at some examples outside the world of software development, such as how it took decades for an entire generation of expert geologists to die before the theory of continental drift was taken seriously and why plane crashes happen more often when the senior pilot is flying, not the junior pilot.
00:03:53.640
After that, we'll draw lessons from this for our work in software development, particularly how you can apply specific strategies with pair programming to sustain a beginner's mind in your work.
00:04:05.640
So, that should give you a general sense of where we're going. I'm a believer in what's called the law of two feet at conferences. It's perfectly okay to head to another talk if this one isn't for you.
00:04:24.920
As I just mentioned, I will be discussing plane crashes as part of the talk. Nothing too intense, but I want to mention it in case it's a topic that might not be comfortable for anyone.
00:04:39.180
Before we dive in, I'll say a little bit more about me. This picture is from my childhood copy of Dr. Seuss's 'My Book About Me,' and to dispel any confusion, I did not grow up to be a policeman like it says here.
00:05:00.120
Instead, I've been developing for the web for over 25 years, since the days when the first web pages were painted on cave walls. Over the years, I've worked at Ask Jeeves, E-Trade, ActBlue, Stanford University, Georgetown, the University of Pennsylvania, and others. Currently, I'm a senior engineering manager at On Boo Labs, a small software agency that helps enterprises build and scale products designed for growth. We're best known for our fast Ruby on Rails upgrade service.
00:05:31.740
Here are some links where you can find me online, as well as links to the slides. I'll share these links again at the end of the talk.
00:05:45.300
Now, let's look at the benefits of a beginner's mind. One benefit is deeper gratitude. It's easy to lose sight of the many good things in life that lift you up. By seeing your life from a fresh perspective, you can appreciate what you might otherwise take for granted.
00:06:04.680
Another benefit is more creativity. As a developer, you see a similar set of problems repeatedly, and habits of thinking can become ingrained. But deliberately experiencing a problem with the mind of a beginner can provide a fresh perspective on existing challenges. You might also explore opportunities that you didn't previously consider.
00:06:28.860
A third benefit is greater intention. When you're familiar with something, it's easy to go into autopilot. Beginner's mind helps you slow down to see what you're doing with greater clarity and avoid the drawbacks of mindlessly going through the motions.
00:06:49.560
Finally, having a beginner's mind makes your work more fun. It helps you reacquaint yourself with the interesting aspects of everything you do. It can remind you of the reasons why you wanted to be a developer in the first place.
00:07:10.740
So how do we cultivate a beginner's mind? One way is to let go of preconceptions about how things are going to work and what will happen. Starting with curiosity rather than assumptions can help you understand things more deeply.
00:07:29.220
Open yourself to new possibilities and ask simple questions. Children are natural at these things because they are always beginners at something. But as you get older, it's easy to lose touch with these qualities that once came so naturally.
00:07:46.560
Let's dig deeper by looking at some obstacles that beginners face in cultivating a beginner's mind. The first topic we'll discuss is deference to authority. You may be hesitant to speak up with a concern or an idea with your boss or someone more senior than you.
00:08:09.360
There's a relevant chapter on this in Malcolm Gladwell's book 'Outliers: The Story of Success.' A key theme of the book is that outcomes we often attribute to the abilities or mistakes of individual people are often better explained by looking at systemic or environmental factors.
00:08:22.140
Before going further, consider that you may have one of three reactions to hearing Gladwell's name. If you haven't heard of him, you might just be curious to learn more. If you know his work and like it, then you're probably intrigued that I mentioned him. Or, if you're familiar with some critiques of his work, you may be rolling your eyes.
00:08:43.680
Those critiques are important, and I promise I'll come back to them later in the talk. But for now, getting back to the book, Gladwell examines why planes crash. There are many possible reasons, but he focuses on poor communication among the cockpit crew.
00:09:17.220
There’s typically a captain and a first officer (the co-pilot). During a flight, the first officer is usually flying the plane, and sometimes the captain is flying it. The captain typically has more experience, and a common communication problem arises when the two pilots have different levels of seniority.
00:09:39.300
The junior pilot may use what's called mitigated speech when addressing the senior pilot. The junior pilot is often being deferential to the authority of the senior pilot. This same situation occurs with developers, where junior team members tend to communicate using hints when they think the senior person is making an error.
00:10:00.180
They worry that a more direct approach may be perceived as confrontational or insubordinate, or that they could embarrass themselves if they are wrong. The problem, however, is that this kind of subtle communication is the hardest to decode and the easiest to refuse.
00:10:27.000
Let’s look at an example from the book: in the 1982 crash of Air Florida Flight 90, the plane had a serious problem with wing ice before takeoff. This issue can affect the lift force of the wings and lead to a loss of control of the plane.
00:10:52.080
The quoted dialogue shown in the book comes from the Black Box recordings recovered after the crash. The first officer does not speak directly to the captain, who is serving as the pilot for takeoff, instead implying he observes a serious problem with ice on the wings.
00:11:15.720
This was a life-and-death situation, yet he did not say something direct like, 'I strongly advise against takeoff. I'm concerned the wing ice will make us lose control and crash.' Instead, he dropped hints. Right after takeoff, the plane crashed into Washington, D.C.'s 14th Street Bridge and fell into the Potomac River.
00:11:42.240
Gladwell presents numerous examples of junior pilots and other crew members noticing serious problems but failing to communicate them clearly and directly to the captain, which ultimately leads to crashes.
00:12:02.520
Crashes are always thoroughly investigated, and findings show that pilot errors are more common when the captain is flying, which may seem counterintuitive. Planes are often safer when the least experienced pilot is flying because the more experienced co-pilot is likely to feel free to speak up.
00:12:19.680
For senior developers, the lesson is to counteract this problem by becoming good mentors. When working with junior developers, you can ask them to drive in pair programming sessions, allowing them to learn while you provide guidance.
00:12:35.520
I realize the words on the slide may sound like platitudes. If you attended Kelly Ryan's talk this morning on pair programming, you'll know she provided specific advice on how to act on these intentions. I recommend checking out her recording when it's available.
00:12:50.700
Now, the lesson for juniors is that you have an asset no one else has: the beginner's mind. When you see something that looks like a problem in the code or in your workflow, I encourage you to communicate clearly and politely.
00:13:31.320
It can be intimidating to speak up for reasons I just mentioned, but as a new person in an organization, you haven’t yet been acculturated into the mindset of, 'This is how we've always done things.' This mindset can cause senior people to develop blind spots.
00:13:58.740
You may notice problems no one else sees or have insights others may not reach. While this all sounds good in theory, speaking up when you see a problem or asking simple questions is often easier said than done.
00:14:20.880
You may worry that your question sounds dumb or perceive this concern as deference to authority. Personally, I can feel comfortable speaking up and asking seemingly dumb questions, which is more a reflection of my privilege than anything else.
00:14:48.420
Another challenge is how hard it can be when you're just starting out. In a blog post titled 'What Beginner's Mind is Really Like,' Robert Heaton offers valid critiques of the beginner's mind concept. He states that beginners often feel overwhelmed, with thoughts like, 'I have no idea what to do next,' or 'I need to be good by tomorrow at the latest, but I'm not good yet.'
00:15:13.680
The earlier example of a new coworker pointing out a reporting problem involved someone who was new to the organization, but he had the experience and confidence to speak up. What if instead this is your first job and you see the problem, but worry there may be more to the situation than you know?
00:15:37.620
In that case, you might hesitate to voice your concerns. The only solution here is that if you're starting a job and are uncertain about what to do, how to ask for help, or how you will know if you're doing well, that's not your fault.
00:15:56.640
It indicates a poor onboarding process, which also suggests you may not have a capable mentor as described earlier. Data shows that dedicated and happy employees tend to have a better onboarding experience.
00:16:24.020
As a beginner, you need a supportive environment with clear and achievable goals to succeed—this always benefits both you and your employer.
00:16:48.660
Now, let's consider the obstacles that experts present to cultivating a beginner's mind. Experts are responsible for your onboarding experience and for shaping the organization's culture.
00:17:10.020
A business leader who fosters a culture that is unsupportive and hostile to inquisitiveness or alternative points of view may lead a business that won't last long. Eric Dietrich, a strategy consultant, refers to these leaders as 'expert beginners.'
00:17:30.780
They mistakenly believe their success in one area translates to other fields. For instance, Elon Musk might think his accomplishments in one type of business will apply to another.
00:17:51.300
Dietrich highlights that stagnant or toxic work culture often stems from individuals in power who are unaware of what they don't know and presume that everything they don't understand isn't worth knowing.
00:18:13.080
The geological community's rejection of Alfred Wegener's theory of continental drift serves as an illustrative example. Geologists are scientists expected to examine evidence logically, but like anyone, they are susceptible to pride and ego.
00:18:37.740
A key trap of expertise is becoming stuck in a particular way of thinking and failing to remain open to new perspectives. While Wegener wasn't a geologist, his innovative views made strides because he looked at evidence beyond traditional divisions within scientific disciplines.
00:19:01.920
He illustrated how geological formations often dropped off on one side of an ocean and reemerged on another, and he documented similarities between plants and animals across oceans.
00:19:22.800
His theory was met with aggressive criticism, labeled as pseudoscience. His hypothesis demanded a move away from everything learned in the previous decades, which many were reluctant to embrace.
00:19:46.440
Wegener responded to criticism by refining his theory, presenting ideas that were only validated decades later, as the older generation of geologists passed away.
00:20:19.620
So think about that for a moment: a whole generation of experts had to die for science to advance. While earlier criticisms of Wegener were valid due to insufficient evidence for his theory, the problem was that the scientific community was largely closed off to innovative ideas.
00:20:40.620
Though the beginner's mind allows for creativity and critical thinking, it is critical to find a balance. Earlier, I referenced Malcolm Gladwell and criticisms surrounding his work.
00:21:02.500
While his book, 'Outliers,' enjoyed immense popularity, a critical perspective reveals that its reasoning is often flawed. The anecdotes Gladwell presents can be too selective, as highlighted in critiques that label the work as pseudoscience.
00:21:25.800
Gladwell's chapter on plane crashes focuses specifically on Korean airlines and routes, addressing how cultural aspects influence communication in high-pressure environments.
00:21:47.940
However, his analyses sometimes ignore crucial details and context, which undermines his arguments. An example from a crash transcript illustrates that evidence highlighting the first officer's concerns was left out.
00:22:11.460
While his arguments may spark discussions, they must be critically assessed. In contrast, Wegener faced valid critiques but engaged with them scientifically.
00:22:31.680
Gladwell is a thinker who embraces innovative perspectives, but it is essential that we engage critically with all arguments presented. Ultimately, fostering open-mindedness while ensuring rigorous analysis forms essential discussions.
00:22:51.780
Whether you're navigating conversations about design patterns or debating political views, knowledge and experience will intersect dynamically. We must be receptive to new information without falling for unsupported ideas.
00:23:11.520
Always seek evidence to substantiate new ideas, questioning their validity through critical analysis.
00:23:31.920
With that in mind, let's explore evidence-based strategies to harness the benefits of a beginner's mind in software engineering. Research conducted by Alobel focused on pair programming experiments.
00:23:52.620
The team analyzed different methods of pairing in a stable product-development environment, discovering how task variation contributed to their learning and overall productivity.
00:24:08.100
The most effective productivity came from a team-based approach that emphasized a 'pull-based' system, where the team collectively decided which tasks to tackle next.
00:24:30.060
Notably, they found that productivity improved as they frequently swapped pairs during tasks, encouraging continuous learning.
00:24:44.460
This was particularly beneficial because as participants maintained a beginner's mind through continuous changes, they were more inclined to learn quickly and creatively.
00:25:05.520
The dynamism of pairing shaped perspectives and facilitated knowledge transfer, leading to improved individual and collective performance.
00:25:26.760
Even if team members initially felt overwhelmed by the rapid pace, over time, they recognized that learning and productivity increased in comparison to previous experiences.
00:25:47.040
Ultimately, the outcome was considered a career high point for the team members involved. From my own experiences, I’ve found empathy and compassion to be essential aspects of maintaining a beginner's mind.
00:26:06.600
Understanding each individual's strengths and weaknesses fosters a collaborative environment where everyone can thrive, experience growth, and explore the vast possibilities inherent in a beginner's mind.
00:26:29.340
Thank you.
00:26:39.060
Here are those links again, showing how you can find me online and access the slides. I'm available for questions if you'd like to come up after the talk, or you can find me around the conference today or tomorrow. I also have some swag here with me, including fast Ruby bottle opener keychains. Thank you again.