Talks
On Second Acts
Summarized using AI

On Second Acts

by John Barton

In the talk titled "On Second Acts" presented by John Barton at RubyConf AU 2015, the speaker explores the evolution of the Ruby community, discussing its current phase as it transitions into Act Two. He highlights the importance of understanding opinions versus facts and shares his journey from a .NET programmer to a Ruby enthusiast. Barton emphasizes the community's need for growth and leadership while addressing critical supply-demand challenges. Key points include:

  • Narrative Structure: The talk draws parallels between the growth of the Ruby community and a three-act narrative, reflecting on its past and potential future.
  • Community Dynamics: Barton discusses the balance between diversity and monoculture within the startup ecosystem, specifically how the community has been impacted by the dominance of other programming languages like Python.
  • Funding and Community Health: He recounts experiences from his involvement in a tech startup, underscoring the realities of hiring trends and the need for Rubyists in a competitive market.
  • Gender and Diversity Issues: The talk touches on the challenges faced by the Ruby community, including a senior developer trap that affects opportunities for newcomers, particularly women in tech.
  • Rails and Development: Barton discusses the significance of Ruby on Rails in shaping the community, fostering efficient development practices, and promoting a fuller stack of skills among developers.
  • Leadership and Engagement: The speaker calls for more individuals to step into leadership roles within the Ruby community to mentor and promote growth, encouraging current developers to support up-and-coming talent.

Barton concludes with a call to action, urging attendees to take responsibility for the Ruby community's future by recognizing ongoing challenges and actively contributing to its success. By doing so, he hopes to prevent the Ruby community from following a decline similar to that of Perl's once-thriving presence.

00:00:00.520 Welcome to the talk on second acts.
00:00:04.359 Going back to my high school English teacher, Mr. Gasal, he had a thing to say: whenever you're accepting an opinion, you must remember that an opinion is not a fact. This is not data.
00:00:10.519 The first thing is you've got to understand the person giving you that opinion. So, the first step in our play is: who's in it? Hi, I'm John.
00:00:20.039 I'm a former.NET programmer. I joined the Ruby community in the mid-2000s. I have organized a Rails camp on my own and with John Barton at one point.
00:00:29.040 I carpooled with John Barton to the very first Rails camp way back in the day. Shout out to Ben Askins—you're amazing! So yeah, I'm not just Pat; I'm John.
00:00:36.320 But I'm basically 'evil Pat.' If you remember the movie 'Sliding Doors,' it's like Pat and I were Gwyneth Paltrow. Pat continued in his career of programming, being a nice person, and doing awesome community work, while I became a development manager. So, from being a developer, I've gone full dark side.
00:01:00.000 That's the first thing you need to know to understand my point of view: I am post-technical. I currently work at 99design, which is a polyglot shop. I believe that's polite language, because we make all our money on a large PHP application, but we also have a bit of Ruby, a bit of Go, and a bit of PHP in the mix.
00:01:16.680 I feel like I've gained a good perspective on a number of different communities at various phases of their lives. If PHP is in Act 3 and Ruby is in Act 2, this is where we currently stand. Also, how great was CS's talk this morning? This is my side project: it is a web-scale do-nothing web service, born out of frustration with opaque enterprise sales copy and an obsession with microservices. Check it out; it's great.
00:01:59.399 So, Act One: the setup. Traditionally, there are three acts in a narrative. Does anyone remember a time before iPhones? Approximately 50% of all toilets were factory-issued with a book like this, while the other 50% included tedious anecdotes about cricket.
00:02:29.519 Anyway, while I was in my thinking zone reading this, I started weighing up the different programming communities. There are a couple of quotes in here that I really love: 'There are no second acts in American lives.' I think of it as an American programmer's context, and something really started ticking for me.
00:02:53.360 Another quote, from Anton Chekhov, is about if there is a pistol on the wall in the first act, it must go off in the next. That's interesting. If we're in Act Two, what was our pistol in Act One? Let's think about that.
00:03:36.200 I'm going to tell you a true story. A few years ago, I was involved in founding a tech startup. Startup investment means getting funding, and did you know that investors are often rich? It sounds really stupid, but I'm an overthinker—you might be too.
00:04:11.799 I remember the first time I bought a beer for a millionaire after having taken money from him to work on this startup. I thought, should I buy a craft beer to show him I take his money seriously, or is that inappropriate? Mind blown at the business dynamics of this.
00:04:37.360 However, you get to know a lot of business people, people who start startups—non-technical founders who hire engineers. You meet these folks because you tend to move around the same meetups and live events. I was sitting down for coffee with one of these founders; they were paying engineers to do stuff.
00:05:43.829 We talked about his product coming out of MVP. They noticed a need, recognized a market, but were asking for advice on what technology to continue with, whom to hire, and how to best position themselves for the present and future. As someone who loves Ruby—having been programming with it since 2007—I suggested they could consider Python.
00:06:25.680 This was painful for me, as I remember the great Python Wars of the mid-2000s. I didn't like saying it, but you have to look at supply and demand, especially regarding talented experienced engineers, necessary for laying the groundwork for startups.
00:06:46.760 If you're not venture-funded, you can't have Rubyists, and that just doesn't happen. It also hurt to say that the economically rational thing for this founder to do was to continue down the Python path.
00:07:15.680 In narrative structure, there's an incident in Act One, the inciting incident. Now we must consider how disappointing it is that what motivated me to give this talk was realizing that the rational thing to say was not 'Ruby.' This is problematic for a couple of reasons.
00:07:37.760 One reason is that the Australian tech and startup community is relatively small. The health of our ecosystem needs to maintain a very fine balance between diversity and monoculture.
00:08:06.720 Some degree of commercial exploitation requires monoculture, but not so much that it becomes like America with corn. Suddenly, by that startup becoming a Python one, they're cut off from us as Rubyists.
00:08:30.320 As people move between jobs, sharing experiences and learning from one another is vital to lifting all our boats together. But if that connection breaks, you can talk about technology all you want, but it does not make those cross-technology communications happen.
00:09:02.120 The other frustrating aspect is now there is an employer that will never hire a Rails Girls graduate—our community has a structural problem.
00:09:31.680 We can all agree this is true, and don’t need a slide to show it. So, even though our community does great work to help address this problem, new businesses that could be hiring us—hiring graduates, doing something great to push our community aims forward—are gone.
00:10:01.079 We're in a senior developer trap. There are two readings I don't have time to go into deeply, but I have links at the end to some insights.
00:10:31.560 The trap lies in startups relying only on senior engineers. It reinforces structural problems with gender and various issues we face. This is a huge problem because we can only address the issue at the front of the funnel, while most companies are focused on hiring at the other end.
00:11:04.440 Did anyone see the blog post on HN a few weeks ago about the crisis of the modern Perl programmer? It essentially states that Perl was everywhere—it was even a part of us. We could go that way if we don’t have a good growth plan.
00:11:39.360 We could be writing these sad blog posts about the crisis of the modern Ruby developer, and I don't want that for us.
00:12:01.840 Another part of the supply-demand issue we face is that we haven't been the most gracious winners on the supply-demand curve, which is not a good thing.
00:12:21.600 It's likely that many people would be quite glad to knock us off our perch. We've been in a dominant position for a long-time.
00:12:43.359 How do we move forward? Many are thinking about it and working to improve our community, and everyone likes to talk about how nice Matt is.
00:13:18.880 Yes, we are nice, and that’s special. However, it's not what grew our community, nor what made it special. We must want to impress new people and encourage growth.
00:13:54.360 This brings me to Rails—the component that has enabled Matt's amazing attitude to spread throughout the programming world. We're really 'Rails' developers; this is 'Rails Conf,' after all.
00:14:40.480 Let's think about how we translate ourselves. When Rails was invented, it disrupted the framework landscape and was a systemic change, allowing developers to be more efficient.
00:15:07.680 It's about being in the right position with the right leverage and the way that it shaped how we think about development and business models. It should encourage meaningful development instead of getting lost in non-essential tasks.
00:15:48.960 Rails led to a fuller stack of developers than we had seen before, and from there into a realm of devops and multiple roles, which we often mistake for separate skill sets.
00:16:38.440 We can design these systems in ways that they are mutually beneficial, meaning legacy systems can sync with new development methods.
00:17:02.960 With Rails, it also completely reshaped how the business can be structured, allowing for more agile and efficient operations.
00:17:33.119 Now, I challenge us to consider whether we could advance our concept of management similarly with the goal of equality and effective community building.
00:18:03.279 There are great examples of how management styles shift but lack training contributes to an inability to handle interpersonal issues.
00:19:02.720 Some will undoubtedly choose to use emacs against any better advice! That's among the least of our problems, but it encapsulates some of the challenges we face in this community.
00:19:50.880 Ultimately, I hope that at least five or ten of you consider stepping into leadership among your peer developers to help guide this community for growth.
00:20:45.679 To not only push our industry but to help develop what we have on offer, I urge you to allow equal opportunity and growth in this sector.
00:21:06.960 If we can't be manageable by ourselves, we will ultimately see those opportunities filled by others who may not have as clear of perspectives regarding what we matter as a culture.
00:21:44.239 Now, looking back on this—we must ensure the second act of this community is stepping into leadership positions, rather than leaving for other roles.
00:22:22.360 We need leaders that are aware of our ongoing issues. In the end, those challenges shouldn't deter us but instead encourage us to take action and grow.
00:22:53.680 Recognize our place in this community and stand committed to making substantial contributions. Thank you.
00:23:21.760 Join me at the conclusion, stay connected as there will be links and excellent reads discussed further.
00:24:04.400 Together, let's address our Ruby community’s issues and thrive rather than mirror the path that has led to Perl's retreat.
Explore all talks recorded at RubyConf AU 2015
+14