Software Developer

How 10 years of RailsConfs can inform the next 10 years of your career - The Proposal

Description ๐Ÿ”—

RailsConf has played an important role in my professional and personal life. I’ve learned about technology in ways I wouldn’t have otherwise at RailsConf. I’ve learned about myself in ways I wouldn’t have otherwise thanks to RailsConf. I’ve met people that changed the course of my career thanks to RailsConf. I’ve met others who have become dear friends thanks to RailsConf. I’ve done things I’ve never done before thanks to RailsConf.

The same may be true for you. We should celebrate and reflect on that. Where do we go from here? Let’s talk about it together.

Session Format ๐Ÿ”—

Talk

Level ๐Ÿ”—

Introductory & Overview

Details ๐Ÿ”—

This talk shares my experiences with RailsConf. It highlights the importance of the event, to myself and the community. Thanks to RailsConf, I became a speaker and a Program Committee member. Thanks for RailsConf Iโ€™ve heard about, and joined, new companies. Thanks to RailsConf I found community. Thanks to RailsConf Iโ€™ve made friends that have a monumental impact on my life. The stories share and reinforce actions the audience can apply. These lessons apply both in this RailsConf and beyond.

The talk will leave the audience feeling like a part of a meaningful event. It ends with a call to action for us all. We’re collectively responsible for continuing those benefits without RailsConf.

I intend to structure this talk in the same paradigm as Rails: weโ€™ll model our initial actions, view the results, and control the future. Iโ€™ll have code samples related to the different sections to demonstrate my points with code.

Joining The Community (Model) ๐Ÿ”—

In 2014, I was the only developer in a larger company maintaining a Ruby on Rails application. My manager bet me that I could ship a new app more quickly using Rails than with our standard tools. My initial reaction was, “what’s Rails?” He gave me the resources, and cover, to explore and deliver that application. And he was probably right about that bet. Thanks, Ari.

However, I wanted to learn from other people. I wanted to hear how they were using Ruby in their work. I wanted to know if there were different ways I should be writing or thinking about my code. And I didn’t have anyone at work I could talk about that with. So, I found a conference: RailsConf. And I convinced my manager (and their managers) to send me.

Attending that conference changed my relationship with Ruby. It changed my connection with my work. I had never seen so many people together all interested in something like a programming framework. Instantly, I wasn’t alone, even though I showed up by myself not knowing a single other person.

Remember that seminal talk Sandi Metz gave, doing the Gilded Rose kata? I’m glad you do - I don’t. I wasn’t there. I was in another talk at the same time. I had no idea who Sandi was. I learned pretty quickly. Like immediately after in the hallway from everyone spilling out of her session. But it was a little late at that point. For the record, I remember the talk I was in instead. They did a good job. But I only became familiar with these people, and their work, from what I picked up at the conference.

Audience Takeaway: Advocate for yourself. At the time, my company was willing to reimburse my costs to attend the conference. It was something they called “professional development”. But only after I did the work to identify the opportunity and build a business case for it.

As I mentioned, I was there alone. Didn’t know a single person. Also, I’m terrible at meeting people. But I did know one thing - the Bruins were playing a playoff hockey game while I was there. Maybe one other person liked hockey, and we could watch it together at a bar. Now, I wasn’t going to just start asking people. That would take courage. I did the next best thing. I sheepishly mentioned it on social media. At the time, there was this site called Twitter. You could share small (140 character) messages publicly. And if you added a hashtag, maybe other people searching for that would see it. #RailsConf

I did find one other interested person. But our schedules got crossed, and we didn’t even catch the game together. We did agree to meet for breakfast the next morning.

Earlier that day, I casually read the giant jobs board. Not because I was looking for a new job. Because I was curious what other companies were using this thing that I was doing on my own. I found a company there that said they were in Boston - close to me.

I figured a person from the company must have put that message on the board, but I had no idea who. So being the personable individual I am, I resolved not to ask a single real person about it. Instead, I messaged the company on Twitter.

They got back to me, tagging a list of people who were at the conference. They had done the job of introducing me to these people without me having to do it! Technology is truly magical sometimes. Except, they didn’t introduce me to all those people. I already had breakfast with one of them earlier that day. The same person I failed to watch the hockey game with.

I spent the rest of the conference joining their group. Like I said, I’m not adventurous. And I’m very fortunate they let me tag along. One of them even performed later in the conference. No, they didn’t give a talk. They gave a performance.

As I mentioned, I found out about them from the jobs board. I wasn’t looking for a job, but…this seemed like a good match. They were all really nice. The company used Rails. I wanted to get better at using Rails by working with others who knew more about it. I filled out the job application, and completed their code challenge, on the plane ride home. In 2015 I attended my second RailsConf - this time as an employee of that new company.

Audience Takeaway: Extend yourself in ways that are unfamiliar, but not harmful to you. I am not good at meeting people, especially on my own. But here I was in a giant room full of like-minded people. And I was craving knowing more about how they work. So, I did the smallest thing that was still uncomfortable but brought me closer to that goal. And thanks to that, after the conference, things changed for me. I transitioned from having a job as a developer to having a career as a Rubyist. What are the ways you can safely extend yourself? Is it asking a friend to introduce you to someone new? Being interviewed by a podcast? Starting a podcast?!? Asking to interview someone for a podcast? Posting an open invitation to dinner, not know who might respond?

Expanding My Impact (View) ๐Ÿ”—

Seeing all those people on stage, sharing their knowledge and experience, inspired me. I wanted to do that. I felt like I had something to say…I just didn’t know what that was. It seemed like a good way to have people come talk to me, so I didn’t need to introduce myself to them. It became a good professional milestone.

One problem: I had no idea how to achieve it. Forget the talk delivery part. I had no idea how people got on stage. Were they personally asked? Was there a secret underground network of people trading slideshows? Did they rush the stage, getting there before anyone else could, laptop in hand?

Turns out, many conferences have public Calls for Proposals, or CFPs. Write a pitch about what you want to talk about, and they’ll consider it for their conference. So I did. And failed. For years. But I kept trying. I tweaked proposals to send in again the next year. I submitted different ones. I learned from other people who have had proposals accepted in the past. In 2019, I received the familiar email that my RailsConf talk was not accepted. I was used to that, so it was fine. But something else made that email easier to read.

I already heard from RailsConf ten days earlier. They accepted a different proposal I also submitted!

Audience Takeaway: A no isn’t forever. And a no doesn’t mean what you’re offering is bad. Good talks, even great ones, get turned down every year. They’re not the right mix for the program. There were 12 other proposals on the same topic. They ran out of space. There are so many reasons that talks don’t get accepted. It’s the same way with many other pursuits. If it’s valuable to you, continue striving towards it. In this case, Iโ€™m discussing a talk proposal. But this applies in many situations, like applying for jobs or making community connections.

I had experience writing a proposal, but now I needed to translate that into a talk on stage. I have given presentations before, but to me, nothing on this scale. That talk (and truthfully, every other one that has followed it too) took immense time and effort to deliver. I didn’t want to disappoint the audience. They were choosing my session over other very worthy choices. I didn’t want to disappoint the Program Committee. They had put their faith in me, and I didn’t want to let them down. I didn’t want to disappoint myself. I had waited years for this moment.

Speaking was the cheat code that I hoped it would be at a conference. You got to meet the other speakers beforehand. You had a different badge, so people could ask what you were talking about. After your session, people might come up to ask a question. They might give their perspective. Some might offer an encouraging word. A topic of conversation, without even having to try!

More important was how I felt afterwards. Sure, it was satisfying in the way that achieving a goal you had set years before should. But, it felt even better thinking that it may have benefited others. I was so focused on what it meant for me, I hadn’t even considered it until after the fact.

After that, helping others to improve the community became a bigger driver for me. I started by doing what I knew: trying to speak at conferences. But, I started other things too. I wrote blog posts. I read other people’s CFP submissions. I listened to early editions of presentations and gave them feedback. I made (small) commits to Ruby itself, based on conference talks I’ve given. I guested on podcasts. I had the chance to serve on the Program Committee, ten years after my first RailsConf experience. It all had a selfish component, for sure. But what I got the most charge out of was hearing from other people. I relished hearing about what they learned, and what they enjoyed, about what I shared.

Audience Takeaway: Appreciate the second-order benefits that come from your achievements. You may find they end up being much more valuable than your original goal. Find the ways that you can contribute to improve things for yourself and the world around you. Experiment with different media, or approaches. Keep what works for you and your group, and let go of what doesn’t.

Building My Support System ๐Ÿ”—

#RubyFriends isn’t just a hashtag, though it is a good one. It’s a joyous public demonstration of the strength of the bonds in this community. I’ve been able to meet a lot of people at RailsConf. I’ve met a lot of people because of RailsConf. I’ve met people in person whom I’ve known (or at least known of) for some time for the first time at RailsConf.

Some of them live (near) my neighborhood. Some are across the world. But RailsConf literally brought us together. I’ve already demonstrated that I’ve met future coworkers and employers at RailsConf. My professional network has definitely expanded thanks to RailsConf.

I’ve also met lifelong friends. I’ve attended weddings of people I met at RailsConf, filling a table of other people I also met at RailsConf. I’ve learned about my work and myself through the fellowship I have with these people. I’m forever grateful for their company.

Audience Takeaway: Take advantage of this time that we are together. Ask the person next to you at lunch what talks they saw today. Thank that maintainer for the work they do. Ask the volunteers and program staff if there’s any help they need. It could change your life.

Continuing The Benefits (Controller) ๐Ÿ”—

With RailsConf as an event coming to a close, are we losing these opportunities? In some ways, the answer is yes. We’re losing one chance for people to experience exactly these benefits I have. But, that doesn’t mean it’s over. For you, for me, or the community. We may need to work harder. We may need to create some of these chances to learn, to grow, to meet others, ourselves. Most importantly, I’m saying we. It’s up to you - but not individually. Collectively. We all have a role to play. For ourselves. For each other.

You can strengthen this community at home. It can be as small as a sentence or a few clicks. Tell the person who wrote the article you just read what you liked about it. Tell the person who recorded the podcast that accompanied your commute that you appreciated the conversation. Tell the person who compiles the newsletter you use to stay informed how it helps. Tell the person who uploaded the video that taught you that new thing how you’re going to use it. And don’t forget to like, subscribe, and ring that notification bell. Tell them all how meaningful their work and contribution was to you. Give them the encouragement to continue.

Look for online communities to build sustainable relationships. If you want to venture outside the home, look for a local meetup to join.

However, I know we don’t need to go about this on our own. Ruby Central will still be a guiding force in the community, though their role may shift. I need feedback from Ruby Central to improve this section. I’d like guidance about particular directives that Ruby Central will support. The obvious one is RubyConf. I’ve also seen efforts to collect information about local meetups. How, if at all, will they support the development or execution of other Ruby conferences or events? What opportunities will there be for others to learn from other Rubyists? How can we work together to grow the community? What tangible actions do we want to highlight here? Iโ€™ll also likely highlight other community groups, such as wnb.rb.

Pitch ๐Ÿ”—

I owe a tremendous debt to RailsConf and Ruby Central. My hope is to publicly celebrate and evangelize the good work they’ve done. For myself and our community. Itโ€™s premature to eulogize an event still going on, but I want to pay respect to the past that Iโ€™ve been a part of. At the same time, I want the audience to leave not feeling like they missed out, but that thereโ€™s still opportunity to engage going forward.

I’ve attended many RailsConfs. I’ve spoken at in-person and virtual RailsConfs. I’ve done CFP coaching sessions for multiple RailsConfs. I’ve served on a RailsConf Program Committee.

Thank you Ruby Central. Thank you for RailsConf. Thanks to everyone who ever attended a RailsConf. You made it all worth it. Now it’s up to us all to keep the momentum of the community going.

Additional Notes ๐Ÿ”—

Speaker ๐Ÿ”—

Kevin Murphy

Software Developer @ Pubmark

Kevin lives near Boston, Massachusetts, US where he is a Software Developer at Pubmark. He’s attended 7 RailsConfs in some capacity. He wishes that number was higher.