RailsConf 2019

We Don't Code Alone: Building Learning Communities

We Don't Code Alone: Building Learning Communities

by William Horton

The video titled "RubyConf 2019 - We Don't Code Alone: Building Learning Communities" presented by William Horton explores the importance of building inclusive learning communities in the tech space. Horton emphasizes that his career has significantly benefited from collaborative learning experiences, inspired by his journey from a social sciences background into software engineering. He discusses the relationship between communities and education, highlighting how social science theories can enhance understanding of tech communities.

Key points discussed in the video include:

- The Importance of Community: Horton examines the nature of communities, distinguishing between traditional forms (Gemeinschaft and Gesellschaft) and their relevance today. He suggests that tech communities blend personal kinship with rational goals, creating a unique environment for learning.

- Elements of a Thriving Community: Drawing from contemporary research, Horton identifies four key elements essential for community building: membership, influence, integration, and shared emotional connections. Each element contributes to creating a welcoming culture that promotes learning.

- Learning as a Social Process: Citing educational theorists like John Dewey, he emphasizes how learning is enhanced in collaborative environments. He argues for hands-on learning experiences that integrate learners into the whole process rather than isolating them through traditional methods.

- Practical Strategies for Community Building: Horton provides actionable insights on fostering online communities. He suggests creating spaces for newcomers, encouraging interaction, and facilitating a mix of personal and professional interests to enhance engagement.

- Inclusivity and Diversity: The speaker addresses the need for diversity in learning communities, advocating for explicit values and codes of conduct to ensure all members feel safe and welcome to participate without fear of exclusion.

Through his detailed exploration of these themes, Horton concludes that building effective learning communities is an intentional process that requires ongoing discussion and adaptation. He highlights that the foundations of these communities must be based on principles of inclusivity and shared goals, ensuring they cater to diverse backgrounds and learning needs. The talk ultimately seeks to inspire a collaborative approach to program development and community engagement within the tech industry.

00:00:20.810 All right, hello everyone! I'm William Horton, and this talk is titled "We Don't Code Alone: Building Learning Communities."
00:00:26.390 The main question I want to answer in this talk is: how can we build communities that learn together?
00:00:38.850 This is a question I am really passionate about, and the reason for my passion is simple: I owe my career to being able to learn.
00:00:45.180 Not only to learn, but to learn with other people and to be a part of communities that helped me grow as an engineer. To start off, let me tell you a little bit about myself.
00:00:56.070 I am currently a Senior Software Engineer at Compass, a real estate technology company based in New York City. There, I work mostly on data pipelines and ingestion.
00:01:07.619 We're bringing in data about real estate listings, and my team is working to process millions of real estate listing updates efficiently, making them available to other applications.
00:01:20.369 But this talk isn't only about me; it's also informed by my experience from four years ago.
00:01:32.280 Back then, I was a Senior in college working on my BA in Social Studies. The only thing I truly cared about at that time was efficiently processing all the readings I had to complete each week.
00:01:45.569 You can see from the photo that I did a good job balancing my studies. I had a lot more hair back then! So, as I mentioned, I earned my BA in Social Studies.
00:01:59.610 You might wonder what that means; that's a fair question since, according to the Stack Overflow survey, it's not a common area of study among people in our field. It comes in at about 1.8%.
00:02:10.590 In essence, the degree aimed to take both classical and contemporary social theories and apply them to problems or questions that exist today.
00:02:27.840 That's kind of what the degree was founded to do, and I hope to share a little bit of what I learned from that with you today.
00:02:40.319 The degree culminated in a thesis, and this is the title page of my thesis which was about religion and democracy in Latin America. I am happy to share a copy if anybody's interested in this topic.
00:02:57.180 You would be the first to read it alongside my graders and my mom! However, if you're not interested in that topic, you might wonder about the relevance of religion and politics in the tech world.
00:03:08.850 I thought about that, and it hit me that in tech, we have evangelists and even dictators for life that we're hopeful are benevolent. We also have an affinity for interpreting ancient texts, and in our case, that refers to legacy code.
00:03:23.940 We gather to hear explanations about how to understand things that were written a long time ago.
00:03:30.810 This aside, I'd like to convey that social studies and the social sciences are not just for studying large groups such as religion and politics, but also to apply these theories to interests you have.
00:03:42.840 When studying in college, I took these debates and discussions that have been around for centuries and applied them to modern topics. Some of my classmates wrote about unique subjects, such as the history of actuarial science or the use of pig dissection in the medical field.
00:03:56.640 Their theories can inform anything you're passionate about, and today, we will focus on learning communities. In tech, we often refer to "the [blank] community." For instance, we are here as part of the Rails community or the Ruby community.
00:04:12.900 I wanted to investigate the concept of community and how it applies to the spaces we've created. In my experience, I've been part of many communities, starting with the Ruby community.
00:04:26.010 I came into this community through a boot camp, which was a formative experience. It was my first time writing code every day. Ruby was the first language I truly learned, and Rails was the first framework I became familiar with.
00:04:37.469 As I did more full-stack work, I also got involved with the React community and currently, the Deep Learning community.
00:04:41.909 These communities are not only formed around people but also around ideas and technologies that those people are interested in. This is where the intersection of learning and community exists.
00:04:58.320 The real question is: how do we make this work well? This is the question I am most passionate about, and it can take many forms, such as an open-source project, a company, a local meetup, or a remote study group.
00:05:10.050 There are many ways we come together, communicate, and congregate around the desire to know more. It's crucial to learn lessons from those who have thought about these ideas before us.
00:05:25.460 The summary of this talk is this: if I were to apply the lens of my undergraduate studies to my past four years working in tech, what insights can I draw from that?
00:05:39.840 To outline what I want to discuss, there are three main parts. The first will focus on community, examining classic and contemporary theories. The second will explore learning: how to develop effective educational strategies and how that ties into community.
00:05:56.670 Finally, we will put it all together, discussing communities that learn together and the questions that arise when we consider these ideas.
00:06:07.440 To start, we will dive into classic theories of community, beginning with some foundational thinkers in sociology. Ferdinand Tönnies wrote about "Gemeinschaft" and "Gesellschaft." My German is not the best, as I did not study it in college.
00:06:25.920 Another prominent thinker was Émile Durkheim, who wrote "The Division of Labor in Society." At the dawn of sociology as a field, they were interested in understanding different types of communities and how they change.
00:06:38.250 To discuss Tönnies, these German words translate to community and society. In his worldview, these were two distinct ways people gather: Gemeinschaft based on kinship or proximity, and Gesellschaft based on rational interests.
00:06:55.080 The latter includes things like business exchanges, trade, and formal law. These are ideal types in his system, indicating that groups contain both elements. Durkheim’s work centers on mechanical versus organic solidarity.
00:07:07.750 Mechanical solidarity stems from shared similarities in homogeneous societies, while organic solidarity arises as societal roles differentiate, increasing the need for laws and governance.
00:07:18.949 So to apply both of these concepts to our context today, we can ask what lessons we can draw. One takeaway is categorization; tech communities often cross usual boundaries.
00:07:31.180 They exist both in-person and online, crossing national borders, and may encompass personal or professional interests, potentially complicating their categorization.
00:07:46.799 Additionally, they can be founded by paid staff or volunteers, making it difficult to draw distinctions between them. Another important idea, running through both Tönnies and Durkheim, is the balance of personal versus rational interests.
00:08:03.870 In these communities, we desire kinship; we want to feel connected to others, especially when attending conferences and hearing talks. There's comfort in realizing that others share similar struggles.
00:08:17.119 However, we also have rational motivations, such as a desire to improve our jobs or overcome challenges, like lengthy migrations. This combination is prevalent when we come together.
00:08:27.699 The communities we inhabit today form amidst great social and technological changes, paralleling the context in which Tönnies and Durkheim wrote about community.
00:08:43.330 To make the discussion more contemporary, one significant paper sought to define community elements: membership, influence, integration, fulfillment of needs, and shared emotional connections.
00:09:00.349 I’ll discuss how these relate to the Rails community. Membership can be broken down into crucial elements, one of which is emotional safety; truly vital to any community's health.
00:09:14.820 People want to feel safe and comfortable, meaning we must establish boundaries without excluding others, which is a challenging balance.
00:09:28.380 The second element, influence, is paradoxical, as individuals want to feel they can influence the group, but the group's norms also influence them. This dynamic is essential for community cohesion.
00:09:39.480 An illustration of this is DHH's essay "Rails is Omakase," where he points out that while some elements of Rails are pre-selected, there's still room for individuals to express their unique opinions.
00:09:55.750 Integration and fulfillment of needs involves coming together around shared values. In the Rails community, there are values explicitly laid out, which helps newcomers understand what the group stands for.
00:10:08.350 Finally, shared emotional connections are rooted in a shared history, illustrated by experiences like memorable videos or Git commits that record our journey.
00:10:20.200 The last source I want to address is building successful online communities, highlighting the importance of social science in creating thriving online spaces.
00:10:37.780 This paper outlines strategies for starting a community, encouraging commitment, contribution, behavior regulation, and dealing with newcomers—key components of healthy communities.
00:10:51.400 They note that having friendly interactions with new members as they join is crucial for their long-term retention. Additionally, allowing newcomers to experiment without repercussions can help cultivate an inclusive environment.
00:11:03.540 Now onto learning. Having understood ways to think about community, how can we connect that with learning? Many people come to Rails to learn how to meet their needs, just as they do with Ruby and other technologies.
00:11:26.470 A key thinker in this area is John Dewey, who was an American public intellectual. He emphasized progressive education and the importance of learning by doing.
00:11:38.320 In his book "Democracy and Education," Dewey discusses how social groups play a vital role in sustaining education and ultimately democracy. The group can't survive without mature members aiding the educational growth of newcomers.
00:11:51.820 Important too is the emphasis on activity. Dewey illustrates this concept by explaining that we learn best through concrete experiences, rather than just reading about concepts.
00:12:02.780 Another powerful concept comes from the book "Making Learning Whole." The author presents several principles such as playing the whole game, making the game worth playing, and working on the hard parts.
00:12:15.740 One principle, "Play the Whole Game," argues that students should engage in the entire system, not just learn isolated elements, which is often how traditional education operates.
00:12:29.070 For example, in baseball, people should enjoy playing, running bases, and hitting balls. Dewey believes teaching should introduce the whole system rather than focusing on core basics beforehand.
00:12:43.829 Rails exemplifies this well. Early on, I used a book that let me build a full application, integrating numerous elements without isolating any single aspect.
00:12:55.960 Many experience a threshold when they finally grasp a concept, such as seeing a live Rails application serve data.
00:13:07.070 Another principle emphasizes learning from teams and others. Dewey argues that we rarely learn in isolation; we are connected through various inputs.
00:13:19.850 Pair programming demonstrates that learning in collaboration yields significant benefits. Meanwhile, Dewey points to the value of cross-age tutoring, which has parallels in the tech community.
00:13:31.840 We tend to consider knowledge transfer as a one-way street, but learning can occur in both directions. Newcomers can bring invaluable insights and experiences as well.
00:13:44.890 The last point he emphasizes is learning the game of learning. The key takeaway in our rapidly evolving technology environment is that we need to learn how to learn.
00:13:58.140 Rather than mastering one specific technology, it's crucial to build adaptable learning skills—skills that will evolve as the technology does.
00:14:10.830 In the context of programming, we should say that promoting self-directed learning helps future growth. This means empowering others to navigate their paths rather than dictating them.
00:14:23.020 Wrapping everything up, we’re discussing theories of community and education, and how they relate to our learning communities.
00:14:36.190 In practices of inclusive learning, I highly recommend Peer Henson’s book on social architecture. His focus on social architecture parallels the vital role of software architects.
00:14:51.300 He emphasizes the importance of being intentional about creating community spaces—designing clear entry points so that people feel welcome and safe.
00:15:05.000 The question of whether we should even design communities arises; some argue for organic growth, while others highlight the innate norms and values present.
00:15:19.060 Given that we spend so much time in these groups, it’s essential to not leave their structure to chance. Norms will arise regardless, so it benefits everyone to clarify those values.
00:15:33.080 Another essential aspect of our learning communities is ensuring they are inclusive. We must strive to make the spaces feel welcoming for all individuals, particularly considering societal biases.
00:15:48.320 Traditional educational paths remain unequal, with underrepresented minorities often lacking access to tech classes, impacting their opportunities in the field.
00:16:03.390 As we create learning communities, we must consciously design plans to welcome people from all walks of life. The Ruby on Rails community has embraced a code of conduct to help define the expected behavior.
00:16:15.960 Ensuring that these explicit values exist helps newcomers feel like they belong. Similarly, companies like Recurse Center emphasize crucial social rules that foster inclusivity.
00:16:29.650 In summary, we want to foster belonging in learning communities. We cannot effectively learn or teach if there's behavior or ideas that make others feel unwelcome.
00:16:43.360 We want to take ownership of our learning; as facilitators of communities, we should give people opportunities to engage actively.
00:16:57.250 Finally, we need to understand the bigger picture; learners shouldn't become restricted to any path that doesn't connect to overall goals.
00:17:11.840 This importance drives the conversation today because we need to seize these ideas as we shape our communal experiences.
00:17:24.870 As a conclusion, this talk is just the start of a conversation. I wrote a thesis that took nearly two years; this talk comes from a few months of research.
00:17:36.490 The goal is to ignite discussion around applying these concepts in this setting. To close, I'd like to share a quote from a community studies paper.
00:17:48.060 "Somehow we must find a way to build communities based on faith, hope, and tolerance, rather than fear, hatred, and rigidity. We must learn to use our sense of community as a tool for fostering understanding and cooperation.
00:18:05.990 We hope that research on this topic will provide a base to facilitate free, open, and accepting communities. Let's work together to build the world we've been dreaming about."
00:18:18.170 Thank you!
00:18:30.800 And we have a couple of minutes for Q&A.
00:18:34.400 That's a good question. When we think about online communities, what sites come to mind?
00:18:38.670 For me, like a lot of programmers I interact with, it's Twitter, where there's an active community sharing ideas.
00:18:46.470 Definitely the Rails community and React as well; I spend quite a bit of time engaging with those.
00:18:54.550 There are also platforms like Hacker News, although they would require a separate discussion.
00:19:03.890 Thank you!
00:19:18.670 [END]