Software Development

From beginner to expert, and back again

From beginner to expert, and back again

by Michael Toppa

The video titled "From beginner to expert, and back again" presented by Michael Toppa at RubyConf 2022 explores the concept of 'beginner's mind,' as articulated by Zen monk Shunryu Suzuki. The key theme is that individuals tend to close themselves off from further learning as they gain expertise, contrasting this with the open, curious state of a beginner's mind. The talk discusses the benefits of maintaining a beginner's mind and offers techniques to cultivate this mindset in software development.

Key points discussed include:

- Definition of Beginner's Mind: The Japanese term 'shoshin' means beginner's mind, suggesting that with familiarity comes a lack of curiosity and openness.

- Benefits of Beginner's Mind:

- Deeper Gratitude: A fresh perspective can help appreciate what is often taken for granted.

- Increased Creativity: Engaging with problems anew encourages innovative thinking.

- Greater Intention: Slowing down fosters clarity in actions.

- Enhanced Enjoyment: Rediscovering the reasons for pursuing one's work can rekindle enthusiasm.

- Challenges to Cultivating Beginner's Mind:

- Deference to Authority: Hesitance to speak up may inhibit learning; junior developers often communicate indirectly due to fear of chastisement.

- Overwhelmed Beginners: Newcomers may feel intimidated and uncertain, complicating their ability to ask questions.

- Expert Obstacles: Experts can create a culture closed to new ideas, leading to stagnant environments.

- Anecdotes: Toppa shares a narrative from his work life where a new employee identified a long-standing error in a report due to his fresh perspective. Additionally, he references the delayed acceptance of continental drift theory, highlighting how expertise can sometimes hinder progress.

- Strategies for Maintaining a Beginner's Mind: Toppa emphasizes the importance of pair programming, mentorship, and fostering an environment conducive to questioning and creativity. Research indicates that productivity can soar when team members alternate roles, thus retaining a beginner's mindset.

In conclusion, maintaining a beginner's mind is vital for personal and professional growth. By promoting curiosity and openness, both junior and senior developers can enrich their work experience and drive innovation. The key takeaway is that continuous learning and embracing a beginner's perspective can lead to better outcomes in software development and beyond.

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.