
Ode to RailsConf
RailsConf 2025 will be the final RailsConf. Let's talk and share our experiences from attending RailsConf over the years and being part of the Ruby on Rails community.
Ode to RailsConf
Freedom Dumlao
A journey of technology transformation unfolds as Freedom Dumlao shares his experience migrating from Java to Ruby on Rails amidst the pressure of RailsConf. Highlighting community support, leadership lessons, and the power of practical tech solutions, Freedom offers insights that resonate with developers and leaders alike.
• Freedom talks about his background and career journey
• Discusses the challenges at Flexcar and the decision to switch to Rails
• Recounts the surprising feature in Ira's RailsConf keynote
• Details the overnight migration and launch process
• Emphasizes the significance of community and support in tech
• Reflects on his move to Vestmark and leadership style
• Talks about being elected to the Ruby Central board and giving back to the community
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 Freedom, dumlao Freedom. Would you mind introducing yourself to our listeners?
Speaker 2:Absolutely, david. I'm excited to be on here with you. I am Freedom Dumlao. I am currently the CTO of a company called Vestmark, formerly the CTO of some RailsConf attendees might recall Flexcar. I had a pretty big announcement last year. An interesting time. But yeah, really glad to be here, david.
Speaker 1:Great to have you so since you brought it up and the core original idea for this podcast was fun, interesting stories around RailsConf. Let's talk about that Flexcar story really fast for people who may not have been at that RailsConf. What was that about? What was that story?
Speaker 2:There's a big lead up.
Speaker 2:There's a bigger, bigger story in this. So what happened at Flexcar? We were in one of those sort of pickles where we had a big tech stack. We had 70 Java microservices that we were using to run the company, a huge engineering team that was needed to operate it all, and we knew that wasn't going to be sustainable, and so I had gone on this little quest to find the solution to this problem Like, how are we going to be able to operate the company in a way that was more sustainable? And I actually did a little bake off and in the end, rails won. And I actually did a little bake-off and in the end Rails won, which was kind of a surprise to me. Rails was with me at the beginning of my engineering career and I was kind of thrilled that it was still an amazing choice 20 years later. And so Rails won and, despite some consternation from the engineering team, we started work on that in January of last year with a target to rebuild almost all of those 70 Java microservices in three months, which everyone said that is insane. There's no way you can do that in three months. And they were correct. It took us four months. So pretty impressive, I think. But the crazy thing was, because of the delay, our launch date ended up being the second day of RailsConf, day two.
Speaker 2:Now, at the same time, while we're doing this rebuild in Rails, I'm like trying to re-engage with the Rails and Ruby community and I get reached out to by Ira from Evil Martians in this process, because she saw some of my posts and she was like hey, I want to just do a quick interview. I'm doing a survey of people who are using Rails in their startups. And I said, sure, happy to talk about that. And we had a conversation where I told her what we were doing. She sounded like it was pretty good. She was like cool, I'll include that as part of my presentation. And that was great. And we kind of stayed in touch. She asked me some questions here and there. I thought, cool, she's really interested in us.
Speaker 2:And it was actually the morning of RailsConf day one that she pinged me and she goes hey, do you have a minute, can you come and meet me? And I was like, sure, sure, no problem. And went and sat down and she opened up her laptop and showed me her presentation. She showed me what she was about to do during the opening keynote and there was this big slide all about what we were doing. And I told her, said, hey, we actually are not shipping until tomorrow. And there was this big slide all about what we were doing. And I told her. I said, hey, we actually are not shipping until tomorrow. We didn't ship yet, which changed the tone of the conversation when she went up and got on stage. So I didn't know that we were gonna be featured so prominently at all. That was a huge shock. I thought we would be one of a hundred great stories, but instead we were featured alongside some really incredible companies.
Speaker 2:But she let everyone in that audience know that we were at that evening completing our migration to switch our entire company over from our Java stack to our Rails stack. That night that that was happening, which until that moment, I was not even sure we were going to pull the trigger on it. Now you're committed. Yeah, everybody's looking at us. Everyone turned and looked at us, and so I was there with our head of US engineering guy named John Dusnap, and so we were there and we were like, well, I guess we're doing this tonight. Get back out now.
Speaker 2:Yeah, so that was day one of RailsConf for us and we spent the rest of the day kind of sweating a little bit, but we were like we're okay, it was going to be an overnight launch and we had a lot of work to do overnight to get data migrated and everything moved into the new database and everything set up properly and it took all night. It was literally an all night thing. And when we flipped the switch and turned it back on, when you do a big rewrite and I think Robbie Russell will be the first one to tell you don't do a big rewrite, guys, bad idea, although I'd say, unless you're going from Java to Rails, then totally worth it Then it's fine. Yeah, yeah, every bug that you imagine you get when you do that all emerged all at once for us. We had tons of tests. We were prepared for most of it, but there were some data stuff that was a little weird.
Speaker 2:So we spent the rest of the morning and most of that day fighting with time zone things, things that were really Ruby, things that we didn't really know.
Speaker 2:Like, ruby has a lot of really interesting ways to work with dates and times and we were not very disciplined about that and didn't realize that they weren't all compatible with each other the way we expected, so we had a lot of patching to do with regard to that, and then John and I took a nap and woke up and went to the after event that was happening at RailsConf Day 2. So we missed RailsConf Day 2, all of the sessions that we wanted to go to, but we did make it. There's a little landing there that they had in Detroit that was set up with drinks and food, and John and I went there and got recharged and got to talk to people about our crazy night migrating to Rails, when we very likely, if ERA had not featured us so prominently, we might've postponed that until after the conference. But we felt like we owed it to everyone who turned and looked at us to give them something to you know, that's what everybody's going to ask as soon as they see that that was it.
Speaker 2:And I so badly did not want to let people down. I really wanted it to be a great story for people to feel like oh yeah, this worked and it was a lot of work, but it did work and the payoff was there. It was maybe two weeks. Flex car went from being able to ship a major feature maybe every three to six months to shipping major features every other week. It was an almost overnight transformation. Honestly, as the one guy who was championing this and everyone was telling him he was crazy it felt so good to see that outcome, to be like see, yeah, exactly.
Speaker 2:And it's happening again. In fact, today I was just giving some virtual high fives to my former colleagues over there. They just shipped a big integration. They have a partnership with Sunoco that they just launched. The ability to build that rapidly can be attributed to two things engineers who really care about getting the work done, and they have access to rails to solve the problem. Those two things meant that they were able to get an integration with one of the biggest fuel companies done in a tiny amount of time compared to the amount of work it was so really proud of that group. That's awesome yeah.
Speaker 1:You mentioned that these were former co-workers. Yes, and when we met at RubyConf in November, you mentioned that you started a new job, and they didn't really understand what they were in for quite yet. Take that next detour on the story path.
Speaker 2:Were they in for. In for the same kind of joy that all of my colleagues at Flexcar were able to get access to really proved to me that Rails is not just a great tech platform for solo developers to go and get their idea to IPO on, but that teams that were working on hard problems could use to rapidly build and iterate on those problems. And so when I arrived at my new job, I had that bias in mind and I didn't immediately inflict my bias. I looked at what we were doing here at Vestmark and tried to find where were areas that weren't seeing efficiencies, where a tool like Rails could really save a lot of energy for us. And they have this big group of people, multiple groups of people that were all really focused on building new products and they were all doing it in different ways Engineers, who like building things, also like experimenting with new tools and toys and technologies, and so we certainly saw that here at Vestmark and it's some really cool stuff that was being built by these folks, really cool stuff that was being built by these folks.
Speaker 2:But the challenge tends to be is that you're solving problems that aren't really the important problems of your business when you build that way, right, right, mark's business isn't building a great web application or a great web application framework. Our business is empowering financial advisors and people who are working in the back offices of trading rooms. The business is something completely different. So we should make sure that the web application technology that we're using gets out of our way so we can go focus on the hard problems.
Speaker 2:For that, and it turns out, rails is exactly the right choice for something like this, because it removes the necessity of a lot of the decision making when you're building a web application or anything that has a web application in front of it. It doesn't disempower you from making different decisions if you are so inclined or if you need to, but you don't have to. You can skip past a lot of the decisions and start building and be very productive very quickly, and so we actually started that just a couple of weeks ago. It's funny, it was almost a year to the date after we started the same kind of thing at Flexcar, where we're transitioning to building all of our new products using Rails. Starting with first release will be end of February, our first Rails web application, and we'll be looking at our existing tech stack to see what other applications make sense as a part of this Rails system as well.
Speaker 1:Nice.
Speaker 2:Yeah, if I'm not careful, I'm going to get sort of branded as the convert people to Rails guy, but I think I'd be okay with that. Is that such a bad thing. If that's my legacy, so be it. Awesome.
Speaker 1:So yeah, you kind of dove into the deep end of the pool and took a bunch of people with you that's right yeah well, I knew they had a life raft.
Speaker 2:I knew they were going to be okay. That's the good thing.
Speaker 1:The flex car one was a bit riskier, but seeing that we had that tremendous success gave me a lot of confidence that we were on the right track here again so from the sound of things, it sounded like you were involved in rails in the Rails community a while back and kind of took a break and explored some other things or other technologies.
Speaker 2:Oh yeah. So like a lot of people, I started my software career maybe not intentionally, Right? So I had a job and then on the side I was building web applications and other software for people for money, because it turned out people would pay me for that. I didn't have the traditional computer science background that you typically find, so I was working as a branch manager at a bank and then in the evenings I was building out a content management system and document management system for a large legal organization that was paying me to do that, and so it was sort of this blend of lives. And while I was doing that, it was around the time when I first came across Rails, and so up until then I was building ISAPI filters in C and C++ on Microsoft Foundation classes and stuff like that way back in the day. And I discovered Perl and I built a bunch of CGI apps in Perl and then did I say Common Gateway Interface yeah, CGI.
Speaker 1:I remember doing CGI stuff back in the day.
Speaker 2:And then PHP, of course, emerged as a great way of building this stuff very quickly. What it always felt like to me at the time was I was really just brute forcing solutions. I wasn't thinking about software architecture or how an application should be organized or built. I was literally just starting from the entry point and fleshing out the code to make the thing work. Just starting from the entry point and fleshing out the code to make the thing work. And Rails was the first thing that I saw that made me think about a system in terms of its pieces and in terms of its architecture and how to separate those things. It was through Rails that I discovered the dry principle. It was through Rails that I discovered the ideas of convention over configuration. I'd never even thought of configuration as configuration at that point. I was just thought of it as this is how you tell your application how to behave differently, and the word configuration wasn't even crystal clear. It's funny, because I did have a bunch of config files. I didn't think of the word, and so I built my first forum app with Rails was my first Rails app, and it was amazing how quickly I built something that looked kind of cool and was very useful and I deployed it internally at the bank where I was working on a machine that was under my desk unofficially, so it definitely was not sanctioned to be running but I was able to use that to interact with branch managers from my district and we could share ideas because we didn't have internal chat or anything back then. So it was kind of a cool thing. And then I started using it for some of those contracts and whatnot and I made some good money building Rails apps.
Speaker 2:Then a job opportunity at the bank to work as a software engineer for the bank opened up and I applied and got that job and once I was inside the machine I learned very quickly that, yeah, rails is neat, but we're grownups here and we use NET and so you've got to very quickly convert. And I went into NET kicking and screaming. I think there was a framework at the time I think it was the Castle framework and it had this monorails thing. It was basically an attempt to brute force a Rails-type application framework in NET well before ASPNET, mvc. Wow, yeah, I went through that, and so NET became a big part of my life for a long time. And then, as I moved back into the startup world. Python became a big deal. I built Django stuff. I built Flask stuff. I had a Flask open source library that was popular for a little while, which made Flask work a little bit more like Rails. Interestingly enough, it's a good theme.
Speaker 2:Yeah, I've been through that. I built stuff in Go and had a somewhat popular Go open source library for a little while, and all the time it was funny. If somebody asked me what's your favorite programming language, the answer was always Ruby. It never changed throughout all those years and in fact it was still a tool that I reached for personally frequently, but it had not occurred to me that my career had drifted away from this technology. And it was only in that moment at Flexcar, where we were hitting that inflection point of we've got to be able to operate this business with far fewer resources and we have to be able to transform how our product works fast so we can meet the changing landscape of our business.
Speaker 2:That Rails emerged again as being like well, obviously this is the tool right. There isn't another tool that's literally built for that use case. The way that Rails emerged again as being like well, obviously this is the tool right. There isn't another tool that's literally built for that use case the way that Rails is. There are certainly similar tools. I would give an honorable mention to Laravel, for sure. I think it's certainly in the same vein. But what Laravel lacks, I think, is Ruby as a fundamental underlying language whose sole mission is to make developers really happy that they're writing code using Ruby. Where else do you get that? So that's how we ended up back there.
Speaker 1:Yeah, that's quite the circuitous route, yeah.
Speaker 2:Discovering.
Speaker 1:Ruby to swinging away from it and all the way back into it again.
Speaker 2:Oh yeah, A 20-year hiatus, I think, but it was far too long, but I'm thrilled to be back. Oh yeah, A 20-year hiatus, I think, is far too long, but I'm thrilled to be back. Thanks to this, I've written more code in the last year and a half, I think, than I did in the previous three years combined. So it feels great. Just really enjoy it. I don't have to tell you. I'm sure you have the same experience.
Speaker 1:Yeah, absolutely. That's why I'm still doing this job, but correct me.
Speaker 2:if I'm wrong, your official title is CTO, right, yeah, technically not supposed to be writing code every day at my day job? That was where I was leaning.
Speaker 1:It was like that's unusual for a CTO to be increasing the amount of code they're writing, isn't it? It's fair.
Speaker 2:It's fair. Yeah, it is certainly one of the things I think that Vestmark has been a bit surprised about since I've joined. So I've got this small team of people building our first Ruby app, and on that team we have this great manager named Mandy who is managing the team. And, as we were figuring out, who are the engineers on this team building this first Ruby app going to be all right? Well, I'll be one of those spots. So, like Mandy, as it pertains to this project, you're the boss. I'll be a software engineer on your team helping you to get this thing across the finish line.
Speaker 2:So I've always, in my career, found that the leaders who I am most inspired by are the ones who grab that flag and lead the charge from the front, and I don't know if that's the reason why, but it certainly to me feels like the natural way to lead. I don't expect people to just blindly accept what I'm asking. I would instead expect them to look to me to see what I'm doing and whether or not that's making sense, and then follow me along on that journey. And in this case, I'm doing it again, and selfishly. It means I get to write code.
Speaker 1:So especially in terms of just for normal, everyday kind of organizational leadership, it doesn't feel like that leading from the front would really be necessary. But since you're literally leading them in a new direction with a new tech stack, having that lead from the front mentality, I think is really awesome To me as a person looking at that situation. I was like, oh, if I was an employee there, if I had concerns, I feel like that would make me more comfortable, more likely to go talk to you about them, to see why it is you're so bought into this particular decision, because you're not just mandating that way, you're actually helping us get there too.
Speaker 2:Yeah, I hope that's how folks on the team feel. I mean, of course, inevitably they're going to hear this podcast as well. I hope that's how they're feeling. I tend to make an effort to let folks know that when they're concerned they can raise concerns with me directly, regardless of their role in the organization. Whether you're an associate software engineer or an intern just starting out, or you're our chief architect. Well, of course, our chief architect has no trouble pulling me aside and letting me know how he feels, because he's got the experience to know that. That's totally fine. But I as a leader can't understand how I'm impacting unless I get that kind of feedback. So for me it's really important to give people access, and I love it when people take advantage of that access.
Speaker 1:So, freedom, in addition to your work pushing these organizations to start using Rails and everything, another recent piece of news is that you recently joined the Ruby Central board. Tell us about that. How did that come about and what are you doing on the board?
Speaker 2:It came about. I saw the sort of request for people who would be interested in supporting Ruby Central as a member of the board and I feel personally Ruby and Rails are two technologies that really set me onto this career path that I'm on now. I, without a doubt, would not be doing the job I am doing now. I would not have seen the success I have in my life without having experienced and encountered Rails when I did in my career. To me that means I owe a great debt to the communities that are keeping these technologies alive. So when an opportunity presented itself to be of use to those communities, I thought, okay, well, let me volunteer and see if there is a chance that I can be helpful here, if there is an opportunity for me to give back in some way to this group.
Speaker 2:Interview with Valerie, who is our new president of the board. Congrats to Valerie, and to me that was a great experience just understanding what it is that the board was looking for. When I was selected, I was ecstatic. I knew there must have been some tremendous folks who were interested in being members of the board, and so being selected meant quite a lot to me. And then, in more recent news, david. The board voted for me to serve as treasurer, I think just because I know Excel. I don't know if that's the only requirement yeah.
Speaker 2:I think there's more. I'm certainly comfortable with for-profit organizations, financial information and how that works A nonprofit. There'll be a bit of a learning curve for me here, but that's the work that is the most valuable for Ruby Central. I am all for it. I'm here to provide that support and anything else Ruby Central needs. So if you're out there as a company who is benefiting from our community, I would love to talk to you about ways that company who is benefiting from our community. I would love to talk to you about ways that you can help to support our community by maybe donating to the great work that the Ruby Central is doing, keeping Bundler and Ruby Gems going, as well as keeping these amazing events like the Last Rails Conf and future Ruby conferences alive.
Speaker 1:Thank you so much for joining me today. Freedom, Before we wrap up, I wanted to give you a chance if there's any other kind of stories or experiences from RailsConf that you'd like to share with our listeners before we call it a day.
Speaker 2:David, I'm most looking forward to some new stories and hoping there's another company that's out there maybe that's launching their Rails app at RailsConf this year. So if there's anybody who's doing that, I would love to get a chance to meet you and high five and buy you a beer at this year's RailsConf, and I hope to see you all there, awesome.
Speaker 1:Thank you so much for joining me today. Freedom Thanks.
Speaker 2:David, it's been great.