RailsConf 2021

Keynote: All the Things I Thought I Couldn't Do

Keynote: All the Things I Thought I Couldn't Do

by Eileen Uchitelle

In the keynote address at RailsConf 2021, Eileen Uchitelle discussed her personal journey in programming and the insights she gained about overcoming self-doubt and internalized fears. She emphasized the struggles many face in their professional lives and the unique ways to tackle these challenges through persistence and gradual progress. The talk is divided into three parts:

  • Personal Journey: Uchitelle shared her initial fear of public speaking and contributions to open-source projects like Rails, detailing her unexpected entry into programming via an Adobe Flash class. She recounted her career path from graphic design to web development, highlighting influential moments such as her first successful public talk, which led her to contribute to Rails.

  • Collaborative Programming: Joining her was guest speaker John Capezi, with whom she discussed the importance of pairing in programming. They provided a deep dive into the technical aspects of connection management in Rails, particularly focusing on granular connection swapping for applications using multiple databases. This segment showcased their ongoing work to improve Rails' scalability and efficiency through collaboration.

  • Overcoming Self-Doubt: Uchitelle's overarching message stressed that the perceived limits we place on ourselves are often untrue. She advocated for challenging these fears by celebrating small successes, seeking help, and measuring progress toward goals. Her narrative encouraged participants to pursue what they believe they cannot do, illustrating that success is a journey of continuous effort rather than a fixed state.

In conclusion, Uchitelle urged attendees to acknowledge their fears, understand them, and take action, sharing that the journey to success requires both time and support from the community. The speech serves as an inspirational reminder that everyone is capable of growth and change, regardless of their past experiences or perceived limitations.

00:00:04.940 Hi everyone. Before we get started, I want to say thank you to everyone at Ruby Central, Confreaks, and all of you working hard behind the scenes to make RailsConf happen this year. It wouldn't be the same without you.
00:00:11.000 I'm so grateful to be keynoting again, and I'm hopeful that next year we'll all get to be together in person.
00:00:24.060 As Penelope mentioned, I'm Eileen Uchitelle. If you want to connect after the conference, you can find me on GitHub and Twitter at Eileen codes. I'll also be on Discord to answer questions after the talk.
00:00:30.240 I'm a principal engineer at GitHub. I've been at GitHub for four years now, and I spent the first couple of years getting us off a custom fork of Rails 3.2. Through that work, we now run the GitHub monolith in production on the Rails main branch. Considering how far behind we were, this is a huge accomplishment.
00:00:42.239 These days, I spend the majority of my time consulting on architecture changes, advising on how to reduce our technical debt, and working to improve Rails and Ruby upstream so they can continue to support our applications for the long haul. My goal in all the work I do is to make Rails and Ruby more scalable, user-friendly, and stable for us at GitHub and the entire Ruby community.
00:01:12.060 I'm also a member of the Rails core team, which is a group of 12 people who drive the future of the framework. We decide what features should be in the next release, what behavior we should deprecate, and we are responsible for the stability, security, and functionality in every single release.
00:01:25.200 I've been contributing to Rails since 2014 and have been on the Rails core team since 2017. My talk today is quite different from talks I have given in the past; it is a lot more personal and less technical.
00:01:37.140 In the first part of this talk, I'm going to tell you my story: how I started programming, how I got here, and along the way, I'm going to tell you about all the things I thought I couldn't do. We all struggle with self-doubt, and while it might not be obvious now, I used to be terrified of public speaking and contributing to Rails.
00:01:59.880 In the second part of this talk, a guest speaker is going to join me, John Capizzi, known online as See John Run. We're going to talk about how we started working together and how pairing is a great way to get unstuck when working on hard problems. We're also going to do a deep dive into connection swapping code that we wrote for Rails because it wouldn't be an Eileen codes talk without some technical content.
00:02:25.800 In the third part of this talk, we're going to look at ways that you can work through the things that you think you can't do and overcome your own self-doubt and fears. As I said before, I'll be on Discord after the talk to answer questions.
00:02:31.140 I got into programming almost accidentally. From 2005 to 2009, I attended the State University of New York at New Paltz. I've always loved creating art, so when I got accepted to New Paltz, I knew that I wanted to pursue a photography degree. However, I had some pressure from my parents to pick something more stable, like teaching, because they didn't think a Bachelor of Fine Arts was going to bring me financial security.
00:03:40.440 I obliged for a hot second but quickly realized that while I have a lot of respect for educators, it just wasn't the right path for me. I changed my major to a Bachelor of Fine Arts in photography before my first day of freshman year. Throughout college, I didn't have a clear idea of what exactly I wanted to do once I graduated. While I love photography, the default careers like wedding photography and portrait photography just didn't interest me.
00:04:21.420 I enjoyed planning scenes and editing my photos but ultimately wasn't sure it was actually a career that I wanted to pursue. To help me figure out what I wanted to do, I took a lot of other classes offered by the art department. I figured if I could do everything from painting to design, I could eventually find a job that I enjoyed, fit my skills, and provided stability.
00:05:06.720 In addition to my courses, I held various jobs and internships, all with the goal of figuring out what I wanted to do after I graduated. I worked at Sears Portrait Studio, which taught me that I don't like corporations or child portrait photography. I worked as an assistant for an editorial photographer, which taught me how important organizing your finances was, but ultimately that I didn't want to work in someone's shadow waiting to make it big.
00:05:38.220 I worked as a design intern at a local arts magazine, which taught me that print was a dying industry but gave me some connections that helped me get a job later on. In the fall of 2008, I registered for a printmaking class because it was the perfect blend of painting, photography, and design. Unfortunately, the school decided not to allow any printmaking majors to join the class, so I had to find a new one that fit into my schedule.
00:06:24.060 The only class that worked for me was an Adobe Flash class. I signed up for this class because I figured I could at least learn how to make a portfolio website to find a job after graduation. I laugh at this now because Flash has totally gone from the web, but at the time, it was a popular choice for advertising on websites. I also think it's funny that DHH mentions Flash in his keynote yesterday.
00:07:04.620 I'm no longer sure if this is a RailsConf for a Flash comp. Realistically, though, I probably wouldn't have gotten into programming if it weren't for Adobe Flash. I quickly became enamored with Flash and programming during this class. I remember our instructor very specifically did not want us to build a website for our final project because he said it was too hard and we didn't have time.
00:07:53.280 Well, anyone who knows me at all knows that if you tell me something can't be done, I'm going to go do it. So, of course, for my final project, I built a portfolio website to showcase my photography and design work. The next semester, in the spring of 2009, I signed up for an HTML and CSS class with the graphic design department. In this class, I was building relatively basic websites with tables, no less.
00:08:32.760 I'm not even sure that anyone who's learning HTML and CSS today even learns how to make table websites, but even so, I fell completely in love with web design and development. I asked the instructor how I could learn more about programming languages like Python because it started to feel like a career that I wanted to pursue. I could have stability and be creative.
00:09:18.060 The professor of the class asked me why I'd want to do that because then I'm a programmer, not a designer, like it was a bad thing. I think he had this idea that programming lacked creativity and that by learning back-end languages, I was somehow giving up on design.
00:09:35.520 I wasn't even a design major; what did he care? I'm glad I didn't listen to this professor and kept striving to learn more because I probably wouldn't be here today if I had listened to him.
00:09:58.920 After I graduated from college, I applied to literally any programming, photography, and design job within a hundred-mile radius of where I lived in Upstate New York. I had loans to pay, and I wasn't going to be allowed to stay on my parents' health insurance for much longer, so I had to find a job quickly. I was willing to do any job remotely related to my degree. In late summer of 2009, I was hired part-time at a dentist's office marketing department.
00:10:51.060 Yes, dentist office marketing. The setup was somewhat unique; the front of the building was the dentist's office, and in the back was the marketing and design department. My role at this company was web development and social media. The first thing they had me do was set up all the social accounts on Twitter, Facebook, Myspace—you all remember Myspace—and other social media sites that no one ever used and no longer exists, like Bebo. Why does a dentist's office need to be on Bebo?