Welcome to Once a Maintainer, where we interview open source maintainers and tell their story.
This week we’re talking to Jeremy Smith, co-host of the IndieRails podcast, organizer of the BlueRidge Ruby conference, and enthusiastic member of the Ruby and Rails communities.
Once a Maintainer is written by the team at Infield, a platform that helps companies upgrade their open source software without breaking things.
How did you get into programming?
So I distinctly remember seeing my first website when I was a teenager, probably 1995-96, something like that. I had dial up access to my dad's university Internet service because he was getting his PhD, so he had it as part of his program. I remember dialing in and logging on to the university website. It was the first website I'd ever seen. And I was immediately like, in love. But I thought, I've got to learn how to do that. I have to learn how to make these. And I spent the rest of high school learning how to build websites.
Then I went to college, and I was actually in a systems analysis program which is like computer science without the electrical engineering. And I got my first D on a midterm in a data structures class, and I thought, I can't be a programmer. I don’t know how to do this. It was a lot of C++ and obscure problems that felt very foreign and different from the websites I was building. So I dropped out of that program.
I ended up backing into an interdisciplinary studies program which essentially let me make my own major, where I took some computer science, some writing, design, media production. That has been beneficial in some ways to me and not in others.
How did you get that first job building websites for other people?
It was the summer after I graduated, I don’t know really, I made contact with someone at the environmental, health and safety department. At the time, it was easier. If you were anyone who knew anything about computers, people would be like, yeah, we’ve got computer stuff for you to do. And it was all sort of lumped together under IT. Handling printers and setting up people’s desktops and building websites, it was all together. So I did that for a bit.
Then my wife and I got married, and my parents moved to south Florida. And my dad found this company that sold palm trees. It was totally Florida. He said they have an opening for a web developer. And so we moved down there and I worked for this company. Essentially they dealt with a certain kind of palm tree called a date palm. It’s like a nicer, higher end palm tree. And there was enough money in this for them to hire a few web developers to build out what’s essentially an app for landscapers and people to browse through the inventory of palm trees and select them. And then he would deliver them, install them and maintain them. So these really rich people on Palm Beach Island would go to this website and pick out 12 foot palm trees. And I designed the app and I also ended up doing a bunch of other design work for them, making trade show banners and things like that. I kept working for small companies for a long time, because I’ve always wanted a high level of ownership and being able to get into all the details of a thing.
What was your first exposure to Rails?
I think it was in 2008 or thereabouts. I was working for a small nonprofit and we were building applications in ASP Classic. And I knew that we had a lot of product development ahead of us and I needed to pick a new framework. And at that time I'd done a bunch of research and the ones I knew were Rails, Django, and I think it was CodeIgniter in PHP. That was from what I could tell the best PHP framework at the time.
And I evaluated them on a number of criteria, including sort of the look and feel, the framework itself, the number of libraries, how substantial the libraries were for each, how large the community was. But what especially impressed me about Rails was how large the community was in comparison to the others, how vocal they were, how many resources there were in comparison to the others. And so I knew that if I picked Rails, I felt really confident that I was going to have enough resources to tap into to help me whenever I got stuck.
Sometimes people call that a community of practice. The idea that it's not just for fun, it's not just for association, but people are on a journey of learning together sharing their practices. I think the programming world is like that in general, but even more so I felt that with Rails specifically, and still do.
How has that feeling evolved over time?
By 2015-2016, I was really getting worried about the Rails ecosystem. There was still plenty for me to learn from, but it was a feeling more like what's the longevity of this? I knew a bunch of people were leaving, or at least talking about leaving to go to Clojure. There was sort of a wave to Clojure and then a wave to Elixir. And that was a little nerve wracking for me, because I’m a more product focused developer. So I’m depending on the foundation underneath me to stay stable. And if I see that foundation shifting, it made me a bit nervous.
We see this a lot in the Rails community, like the “Is Rails dead?” post every few months or so. What pulled you out of that feeling?
Well during that period, one person that really helped me was Jason Charnes. He didn’t help me directly, but the way he talked about Rails, the way he turned that “Rails is dead” into a joke and almost like, who cares? This is what I love. This is where I belong. I'm a ride or die here, you know. And then I got to a place in my life where my kids were getting older, and I actually had some discretionary time again. So I decided suddenly that I was going to start investing a lot more of my time into Ruby and Rails.
At this point I'm freelancing consulting, I'm completely invested in Rails. So it aligns really well with the work that I'm doing. I've learned so much from the Ruby and Rails community, I felt an obligation to do like something to help others to pay it back. And there was a sense of maybe looking around and thinking there was an opportunity to step into the community and take care of it.
Is this what led to the Indie Rails podcast?
Yeah. For a while, I had the idea that it’d be fun to do a podcast. And then on Twitter, my co-host Jess Brown reached out to me. He said, hey, I've got this IndieRails domain and I'm wondering what it could be. Maybe it should be like a mastermind group or something like that. And I was like, this should be a podcast. Definitely. He wasn’t so sure at first but that was a thing where I had always tried to do everything on my own, and I wasn’t great at collaborating. And I know if it wasn’t for Jess or Paul our editor, I wouldn’t have made it to a year. Knowing that someone has my back and has an expectation for me has been really, really valuable. It’s really opened my eyes to the fact that I probably should have done much more collaboration earlier in my life and I should look for more ways to do that in the future.
Who has been a guest on your podcast or what kind of topic did you cover that you think back on as like, wow, this was so cool. I'm so glad I got to have this conversation.
This is tough. This is tough to narrow down. There’s a quote that’s something like the impact that people have on other people is not so much who they are, but what they represent. Like, what does Andy Croll represent to me? What does Allan Branch represent to me? We’ve got this diverse collection of people that are doing really interesting things in different ways. Whether it's going deep into building their own library, going deep into database performance, going to deep into building their own business with Rails or building community, all these different facets, but all together in this community.
When I was trying to organize BlueRidge Ruby last year, Andy was someone who gave me a lot of time and helped me think through a lot of the conference stuff. He was incredibly encouraging to me, and sent me a handwritten note beforehand saying “you’ve got this, you’re going to do great.” It was incredibly touching. And so Andy represents to me the kind of person I want to be in the Rails community.
Who are some people you’re following right now that are doing something really interesting?
One person is Bhumi Shah. She is doing a fantastic job of writing just deep, thoughtful pieces on Ruby, and I've learned a lot from her and her newsletter in the past year. Her newsletter One Ruby Question is really good.
Matt Swanson is a pretty well known Rails dev and CTO of Arrows, and he writes a lot on Twitter. His blog Boring Rails is one of the best resources I've found for doing Rails in the style that I end up doing a lot with my client work, which is usually on small teams. I've learned a lot from Matt.
There's a guy that people aren't talking about enough who I think is doing an amazing job of writing deep dives in Rails right now, his name is Akshay Mohite. He’s very consistent and his writing on some Rails topics is fantastic.
The last person who's very well known is Vladimir Dementyev. He works for Evil Martians. He's a prolific open source contributor, writes a lot of Ruby gems, is the maintainer of AnyCable, and his book Layered Design for Ruby on Rails is my favorite Rails book at this point. That'd be my top recommendation for people getting started learning Rails.
To suggest a maintainer, write to Allison at allison@infield.ai.
To learn more about keeping your open source software up to date using Infield, write to us at founders@infield.ai.