Ode to RailsConf

Aaron Patterson

David Hill Season 1 Episode 25

Send us a text

This episode captures the spirit of RailsConf through personal stories and reflections shared by Aaron Patterson and the host. They discuss memorable experiences, the impact of community connections on personal growth, and the blend of humor and technical insight in Aaron's keynotes. 

• Overview of RailsConf's cultural significance 
• Aaron's journey to his first RailsConf 
• The mix of technical and personal elements in keynotes 
• Addressing shyness and introversion in networking 
• The joy of learning from fellow developers 
• Humor as a central theme in presentations 
• How RailsConf fosters a sense of community 
• Reflections on evolving conference experiences 
• Emphasizing the importance of personal connections 
• An invitation to share favorite RailsConf memories

David Hill:

Shout out to GoRails for sponsoring Ode to RailsConf. If you or your team wants to learn the latest Ruby on Rails features Hotwire Ruby and more check out GoRailscom. Use code ODE2RAILSCONF at checkout to get 10% off. You're listening to the Ode to RailsConf podcast where we reminisce about our experiences at RailsConf over the years. I'm your host, david Hill, and joining me today is Aaron Patterson. Aaron for those who might live under a rock but somehow still know Ruby, could you introduce yourself?

Aaron Patterson:

Sure, thanks for having me on. Yes, my name is Aaron Patterson. I'm also known online as Tenderlove. I've been in the Ruby and Rails community for a very long time. I think my very first gem release was in like 2006, but I've been gainfully employed as a Rails developer since 2008. So I've been around for a while. I'm on the Ruby core team as well as the Rails core team and yeah, I do development on Ruby and Rails.

David Hill:

Yes, you do very deep technical development in Ruby on Rails. Let's be very clear here.

Aaron Patterson:

Yes, that's true. So I used to do application development in Rails, but I got to admit like lately I don't do quite as much. My current team is like we're mainly tech support for Rails developers. Basically Right, so folks come to us when they have problems and need their Rails apps to be faster, better, blah, blah, blah. So mostly working on Rails internals themselves.

David Hill:

So yeah, my first kind of exposure to you was at a talk that Ernie Miller gave at RailsConf years ago where he was talking about some active record internals of like callbacks and things. And he brings up a section of code and he says who here knows what this does? And one hand goes up and he says Aaron, I know that's you, put your hand down.

Aaron Patterson:

Yes, I remember that. I remember that talk. I don't remember what the code was specifically, but yeah, I absolutely remember that that's funny.

David Hill:

That was my introduction to. Oh, that's the kind of guy Aaron is.

Aaron Patterson:

I mean, I did know what it did. I don't know what am I supposed to do.

David Hill:

I'm not saying you did anything wrong. I was entertained, as I think many other people in the room were.

Aaron Patterson:

Yes, yes, I think so, I think you're right. But yeah, I mean, I didn't know what to do. I know, I know, pick me.

David Hill:

Speaking of RailsConf. Let's talk about RailsConf.

Aaron Patterson:

Yes, let us talk about RailsConf. When was your first RailsConf? When was your first RailsConf? Oh my gosh, you know when we were going to have this talk. Like I knew we were going to do this interview and I did zero homework. I don't remember why. I don't remember what my first one?

David Hill:

was. Well, we don't have to talk specifically about the first one If any particularly memorable moments or stories from RailsConf that you've attended that's a perfectly acceptable track of conversation.

Aaron Patterson:

Sure, when I started doing Ruby on Rails as my job, it was in 2008. And the company that I worked for they wouldn't send me to any conferences. So, to be honest, the very, very first time I went to RailsConf, I keynoted at RailsConf Actually, that's not true. I did one talk before that. And then, I think, the second RailsConf I went to RailsConf. I keynoted at RailsConf Actually, that's not true. I did one talk before that. And then I think, the second RailsConf I went to I keynoted. The very first RailsConf I went to was not even a RailsConf, it was Canada on Rails.

David Hill:

Right. Several people have told me about that one. That one was like the unofficial first RailsConf, just not with the name.

Aaron Patterson:

Yes, I think that's the case. I went to that and it was up in Vancouver, so it was pretty close to me. So we went on a road trip and went to the conference and it was really, really great. But yeah, I think, boy, I want to say, my first one was in like 2010 or 2011, something like that. I'm not sure. I'm not sure 100%. I think I've keynoted at RailsConf for over 10 years, so it's been a while.

David Hill:

Yeah, you were one of those fixtures to the keynote scene at RailsConf. Yes, I've been going to RailsConf. I haven't been every year, but I started attending in 2012 or 13. And yeah, after that first year I was like oh, I can't wait to see what Aaron does next year.

Aaron Patterson:

So I guess the very first time I ever keynoted at a conference was I believe it was in Boulder, colorado. Rocky Mountain Ruby was the very first conference I ever keynoted, and I think the second conference I ever keynoted was RailsConf. Basically, I was at Rocky Mountain Ruby, I keynoted there and then Chad Fowler was there and I told him hey, this is my very first keynote. And he's like you've never keynoted RailsConf. I was like no, never. And he was like okay, you're going to keynote in RailsConf. And I was like, okay, but it was so scary because RailsConf was a huge, like huge conference and you go out and there's like a thousand people in the audience and you're just like what? It was very, very nerve-wracking, like I didn't know what to do, but I found that a thing that resonated with audiences was making fun of David.

David Hill:

So I heard you did that a lot at RailsWorld.

Aaron Patterson:

Yeah, I did. Yes, I did. So I figured well, if the formula works, let's not mess with it too much. But it's like attention there, I suppose because I am a very technical person. I love technical content, I love programming, love doing that stuff, and I want to present that type of stuff at RubyConf or at RailsConf.

Aaron Patterson:

I say RubyConf because the very first time I went to a Ruby conference it was like the very first conference I had been to where they gave technical talks of stuff that I could do at home, and I've always wanted to do that in any conferences. Be able to say like, hey, here's some cool programming stuff that you could do at home, and I've always wanted to do that in any conferences. Be able to say like, hey, here's some cool programming stuff that you can do at home. In a previous life I was a J2EE developer and if you go to like a J2EE conference at the time, anyway, they talk about a bunch of stuff, but it's like you got to buy whatever J2E software they're selling or whatever. It's like, okay, cool, you told me all this stuff, but then you're like, what do I do with it? So the tension is making fun of David versus giving the audience some actual content. You have a fixed amount of time.

David Hill:

Yeah, I have noticed that you have a pretty regular pattern to your keynotes.

Aaron Patterson:

Yes, yes, I don't know. I just got to figure out how much making fun versus how much. I have noticed that you have a pretty regular pattern to your keynotes. Yes, yes, I don't know, I just got to figure out how much making fun versus how much actual technical content. But yeah, railsconf is, I mean, a great conference. I love RailsConf. I remember one year was the first year that Chad couldn't come to RailsConf, so we made I might have a photo of this, I'm not sure If I don't have it, hopefully somebody in the audience does there was a cardboard cutout. Somebody had made a cardboard cutout of chat and brought it to the conference. Yeah, so he was just like there as a full-size cutout. It was very funny. He was there in spirit. Yes, he was there in spirit, for sure.

David Hill:

Nice I already kind of talked about that my first exposure to you. I don't know if you'll remember this or not, but my second experience with you is, as part of your keynote, you usually mention that you're a bit on the shyer, introverted side, and so inviting people to come talk to you. I am also on the shy, introverted side of things and it's like every year you make that invitation and I'm like this year I'm going to do it, and then I look and I see a crowd of people that just congregates around you and it's just like nope, I can't do that.

Aaron Patterson:

Well, now we're doing a podcast.

David Hill:

It's great. That's part of the reason I was like I'm going to do this podcast thing is this gives me a very targeted reason to start a conversation with people like you that I've wanted to talk with for a long time. Yes, but all that aside, the one talk I've given at RailsConf we were in like the two or three minutes before the track manager was going to get up and introduce me and I saw you walk in and sit down. I went, oh no, but then, you know, got up and gave the talk and I wound up in like a small group conversation with you afterwards and you were so nice and so gracious about everything and it was just like, oh okay, I didn't completely embarrass myself in front of Aaron.

Aaron Patterson:

It's unfortunate. I've had that feedback before where, like I mean, I love watching people's presentations and then people be like, come up to me and be like I was so nervous, you were in the audience and I'm like I wanted to watch.

David Hill:

I don't know. There's nothing wrong with you being in the audience, it's just. It's one of those things where, like you, are one of those people that you're so visible inside of the community.

Aaron Patterson:

It's a lot of pressure.

David Hill:

Yeah, it's out of the realm of reality to say a lot of people look up to you and admire you for the work that you do and the contributions you make to the community and to the open source technology that we're all using. And so, yeah, I was just like, oh my gosh, Aaron just sat down to watch my talk about React versus Hotwire what is happening right now?

Aaron Patterson:

Oh boy, I mean, I do really like watching people's presentations. Actually, I remember your talk and I need to make a confession. The reason I wanted to see your talk was because I don't know anything about Hotwire.

David Hill:

I think you even said something along those lines at the time that you weren't really familiar with Hotwire and you really weren't familiar with React and the development environment stuff that React developers have to do. I remember you saying that and so I was just like oh, it's like one of those kind of reality check moments where it was like you're on this pedestal and I realized, oh wait, he doesn't know everything. He's really good at what he does, but he's not this all-knowing divine being.

Aaron Patterson:

Yes, very true.

David Hill:

That was a fun, cool experience for me after the fact just being like, oh, he's a person, he doesn't know everything, that's cool. He came to my talk because he wanted to see some things about stuff that he doesn't work with every day, that's cool.

Aaron Patterson:

He wanted to see some things about stuff that he doesn't work with every day. That's cool. So usually the way I pick the talks that I go to is it's either someone I know or it's a topic that I'm interested in, and the topics I'm usually interested in are ones that I don't know anything about. If I already know about it, I don't know why I need to go see this.

David Hill:

I mean you were in Ernie Miller's talk that one time, that's true.

Aaron Patterson:

So he fits the other category. I remember one talk I gave at RailsConf. I'd done a lot of work that year on improving the performance of ActiveRecord and I did a whole bunch of stuff on it, but I called it AdequateRecord. I remember this one. Yeah, there's no difference between active record and adequate record. I was just saying like, oh, it's a four because I'm going to do all this stuff. And then I gave a presentation about adequate record and all of the performance improvements that I did. And then I asked the audience hey, should I merge this in to active record? And everyone's, of course, yes, everyone's had to active record. And everyone's, of course, yes, everyone's had. Yes, you should.

Aaron Patterson:

So I did it live. But that wasn't true. I had actually pre-recorded the whole thing and I was like I pretended I was typing it out on stage and at one point like I walked away from the computer and it's still it's. I remember that it's still like typing it out. But there were some people like, of course, there were some people who like didn't know, they didn't realize. It was very funny. I like doing that stuff in my talks, I remember watching you when you did that.

David Hill:

It was just one of those things where, like I did, like a double or triple take, because it's hard to watch you and the screen at the same time, yes, and so it's like wait he walked away and it's hard to watch you and the screen at the same time, and so it's kind of like wait he walked away and it's still going, oh, okay.

Aaron Patterson:

Yes, that was very fun. One of my other favorite ones was Kemp Beck came to RailsConf and he gave a talk. So Kemp Beck famous for XP like extreme programming and stuff. So when I opened my talk I pretended that I was on Windows. I made a joke about it. I was like, okay, we all have to be extreme programmers. That's why I use Windows XP. I show the screen and then I had it crash. Of course it's all fake. I'm using my Mac. Right, it's all fake. It was very funny. I had to give the AV folks a heads up because I'm like it's gonna look like my computer is crashing. It is not crashing, this is all planned. I enjoyed that.

David Hill:

Railsconf is a good time yeah, it's one of those experiences, like for my very introverted nature. For a long time I just went there for the technical side of things, for the talks and the presentations. I think I'm correct in saying that it was that year where I gave that Hotwire versus React talk. That was where the more social side of it I started to realize the value of having that more community social side of it, whereas actually connecting with other people who are also in love with this language and this framework and getting to know people and trying to talk to these people like Aaron Patterson and Chris Oliver, getting to know these people that I really admire in the community and I don't know, just like that very kind of community driven side of it. For a long time I wanted to be a programmer because it was like I'm an introvert, I'm shy, I feel uncomfortable in new social situations.

David Hill:

So, programmer is great, I just do code. But then as I matured in the profession, I was like, yeah, but there's still people involved in the code because you have coworkers, you have the end user who's ultimately using your code, and if you haven't figured out how they want to do something or what they need to do, then you're solving their problem. And so, like this, the whole people side of it has started to mean a whole lot more to me, and RailsConf has been so important for me in figuring that out.

Aaron Patterson:

That's definitely true. I am definitely a very shy person. So most of the time going to RailsConf, I'm speaking there, so I have to be like social. So people as people come up and say hi to me and stuff, as a shy person, I prefer it from this side because it's I don't have to do anything. Yes, they come into me and say stuff to me and I'm like, yes, I don't have to do anything, Because if it were up to me, I'd just be like not talk to anybody.

David Hill:

Yeah, that was the thing that really amazed me after the talk I gave at RailsConf was like people started coming up to me and talking to me about Hotwire and React and front-end stuff. I was like, oh, that's the trick. If I can just give talks more regularly, I don't have to wrestle with my social anxiety because they'll just come to me.

Aaron Patterson:

One of my other tricks was I made stickers of my cat and I said, hey, if you're afraid to talk, because, like, people will come talk to you. But then there are some people who are just shy, like they're afraid to come say hello. So I was like, well, you know, if you want to come say hi, but you don't have anything to say, I'll give you a sticker. That went really really well. It went really well, it was a good thing. My wife made the stickers like she designed them and made them, but the sticker of our cat. But then he died and so then I was like, is it appropriate to pass out stickers of her deceased cat? Like I'm not sure. And also, yeah, so I stopped doing it, but we got a new cat, so maybe we'll do new stickers. New stickers, new cat. Yeah, yes.

Aaron Patterson:

Yeah, I'm trying to think of other memorable stuff at RailsConf. I mean, there's just so much. I've been so many years and you meet so many different people. It was just one of my favorite conferences for sure. Just so good.

David Hill:

I feel the same way. The RailsConf itself, the years where I was not able to go for one reason or another, always made me very sad, because I always looked forward to just everything about it. The technical side of it, the presentations, learning about cool things that people are doing with Rails and with Ruby but also the people side of it just started to be so much more interesting of being able to meet and interact with these people.

Aaron Patterson:

So one of my favorite things for sure is just finding out what kind of applications people are working on. You never know.

Aaron Patterson:

People do some weird stuff with Rails and the thing is like to them it's normal, like it's just like their business, and you find out that Ruby and Rails are in so many different businesses doing so many different things. And that's just one of my favorite aspects is like it's especially rewarding working on Ruby and Rails because I know that I'm able to make this impact for I don't know folks just to build businesses and stuff Right when I first started doing Ruby programming I feel this is so cliche, but I mean I guess if it's true, why not say it? It's the first like programming language I fell in love with. I was a programmer for years before I was a Ruby programmer, but I basically just did it for money pretty much, and it wasn't until I found Ruby and Rails specifically that I became passionate about it. I was like, oh my gosh, being able to build a website so fast and being able to get the problems done so quickly was just a breath of fresh air.

Aaron Patterson:

As I said, I worked in a j2e environment before that and it's so silly. You'd make a change to maybe like a view or something and it takes you like 10 minutes of compiling just to see like the view render and being able to do this in rails and just hit refresh and it's there. You're like, do this in Rails and just hit refresh and it's there. You're like just huge. So I fell in love with it and I was like I need this. So, first off, I need businesses to succeed with this, because I want a job doing it right. Second, I want other people in the world to feel the same joy that I feel when building a Rails app, so it's got to be successful in both of those aspects. So that's actually what drove me to get involved with the project is make sure that people could feel the same joy I feel when putting together a web app.

David Hill:

It's really funny that you consider that a cliche, because my programming history is very similar. Or, like, fresh out of college, they taught us mostly java and c++. So, like out of college, I got a job in a government contractor it's a j2e website and with all of the nightmare that entails and alongside of that I taught myself php while I was doing the formal college stuff, as I was like both of those. It's kind of like yeah, I can make a job doing either of these, but whatever. And then I got a job. I was working at this government contractor and it wasn't gelling for me. I wasn't enjoying it. So I found a recruiter who got me a job at a marketing agency to do Java stuff.

David Hill:

I was like okay maybe this environment will be better. On day one I walked in and they were like we don't actually have anything for you to work on in Java. We're going to put you on this different team. Go learn this thing called Ruby on Rails, oh wow. So I picked up a book on the way home from Barnes Noble and I was like, oh, this is so much better than Java and PHP. I never want to go back to those.

Aaron Patterson:

I want to stick with this. Yeah, when I first discovered Rails, I was working as a J2E developer, but the problem was like nobody was hiring Rails developers at the time. I mean, literally, David had just made the blog in five minutes video or whatever, and I don't remember how long it took some amount of minutes. So there were no businesses really using this. And I had a couple colleagues at the company where I was working. They quit and decided to start a startup and they decided to use Rails and this was the very first company I'd heard of in Seattle that was using Rails. So I was like I got to get a job with them, so I was able to do that. To be honest, those days were not so great.

David Hill:

I mean, it was a different era at that point.

Aaron Patterson:

Yes, 2008 is the middle of the financial crisis, so it's like, oh, is taking a job at a startup like a great idea, right?

David Hill:

Yeah, that was not a good year for anybody. I don't think.

Aaron Patterson:

No, I don't think so. It seemed to work out pretty well for me in the end. Before I was a Java programmer, I was a pearl programmer. When I was doing pearl programming, I was actually working at the same company. They went from pearl ported their app to java. Okay, yeah, it's a choice by a bad choice, but upper management.

Aaron Patterson:

I guess, yes, yes it, yes, it was upper management. It was so funny. Upper management was like we really want this port to Java to be a grassroots effort and I was like what, if you're telling us that it needs to be grassroots, that's like not it. It is the opposite of what you want. Yes, yes.

Aaron Patterson:

It was very funny. But anyway, while we were doing Perl development, the, while we were doing Perl development, the website that we were building had the same, actually had similar features to Rails, like we could just code in a feature and hit refresh and it would work. So there was like no big deal there, but it didn't have like testing culture like Ruby and Rails had right. And then we went to Java and, to be honest, my life got way worse as a Java developer. Because as a Java developer you're like at the time I think it was Java 1.4, they didn't have generics.

Aaron Patterson:

So if you're looping over anything, it was always like so imagine writing map in Ruby. If you want to do the same thing in Java, you have to create an iterator, you have to get the next item out of the iterator, you got to cast the thing that's in the iterator and then finally you can do the thing. You got to do all this paperwork just to end up seeing a compilation error because you made a typo and you didn't know. And then, yep, fix the typo.

David Hill:

I remember those days.

Aaron Patterson:

Fix the typo, recompile all this stuff and you're like I'm waiting forever to make this tiny change that I was able to make when I was a Perl programmer, so to go from Java to Ruby and Rails and see basically all the features that I used to have plus testing and really great OO.

Aaron Patterson:

I was like I have to do this and it was so depressing in my day-to-day job because I'm like writing all this crap, thinking if this was Ruby and Rails I would be done in two minutes, I would be done. Why am I spending eight hours doing this dumb thing that I know I could finish in like a couple minutes and honestly, that was kind of a depressing time for me at work. So being able to go join a startup and do it like even though it was a very risky thing to do, it was like I have to do this for myself, basically. But anyway, I want to bring that passion or that's the type of passion I want to bring to folks in the ruby and rails ecosystem and I think that's hopefully the feeling people get or got attending rails conf it's definitely a feeling that I had and in particular, it was so easy to watch one of your keynotes and to just that feeling, that passion for the language and for the framework.

David Hill:

You present it so very well and so very clearly. It's very hard to come away from one of those keynotes and not be excited about this programming world that we're living in.

Aaron Patterson:

Well, thank you, I appreciate it. That's like the thing I'm going for. I'm afraid I'll run out of ideas, though eventually I need to like I mean, you've been going for what more than a decade? Strong. Yes, I gotta come up with more ideas. It's so hard to come up with ideas, though. Just each year I'm like I gotta outdo what I did last year I don't know that you need to outdo yourself every year?

Aaron Patterson:

Well, not outdo it, but what is something new? What is something I mean, I don't know. And then you don't want to tell the same jokes every year. No, I can't tell the same jokes every year and I have to think of new jokes. And then also, I have to watch David's talk so that I can make fun of him effectively. That's not easy. Your background research, actually, I think I've been giving the final keynote at rails conf for a while for quite a while, yes, but I don't actually like giving the last keynote because I feel so nervous for the entire like, yeah, like yeah.

Aaron Patterson:

The entire time I'm just like okay, I need to practice what's in my slides, how am I doing? Because I practice so much and then I'm basically just always practicing and tweaking until I actually give the talk. So it's very difficult for me to focus on enjoying the actual conference, yeah, enjoying the actual conference itself. So I didn't actually like giving the final keynote and I remember like I mean after maybe probably four or five times doing it, maybe fewer times, I don't remember exactly when but evan phoenix, who was on the ruby central board at the time, he's like we'd talk after the conference. They're like what did you think? I'm like, well, I really hate giving the last talk. And I tell them the whole thing, like because I have to prepare, and blah, blah, blah, blah, like I can't focus on anything. I have to be clear. If I'm asked to give the final talk, I will do it. I'm not mad about it or anything, right, I would just prefer to enjoy the conference, but periodically, can I not give the last talk, the last one? Yeah, so evan, when you're evan was like okay, this year you're not going to give the final keynote, you'll give, like the.

Aaron Patterson:

I think it was like second day opening or something like that. Right, yeah, and I don't know what happened exactly, but they had a different keynote speaker, had to shuffle around their schedule and the only way that they could fit in this other keynote speaker was to do it in my slot. And they're like this is so funny. Evan sends me an email. He's not really sorry to do this, but do you think you'd be okay actually switching to the last key? And I'm like like, yes, it's fine, oh, feels bad. Every other organizer or Ruby Central board, they always, you know, when new people come on, they always ask me like how do you feel about this? And I always give them the same like complaint. I'm like I hate being last because I can't focus on a thing, but I've been doing it for so many years.

David Hill:

It's like get out of it, Got to do it. It's almost a fixture in the RailsConf setup at this point.

Aaron Patterson:

Yes, I was like you know what, let's give up. I don't like it, but like it's fine On the plus side, since I have to come up with making fun of David's slides, it gives me time, right? If I had to give a talk right after him, it would be impossible, so that was funny when that happened.

David Hill:

Well, thank you for joining me today, Aaron, to share some stories and memories about RailsConf and all of the jokes and fun to be had therein.

Aaron Patterson:

Thank you for having me on. I really appreciate it. It was really really great to talk about RailsConf and I appreciate that you're putting together this podcast about it. Thank you.

People on this episode