DAVID HILL Happy Wednesday, and welcome to the show. This is the Ruby on Rails podcast, and I'm your host, David Hill. And joining me today is Obi Fernandez. Hey, OBIE FERNANDEZ how's it going? Welcome to the podcast. DAVID HILL it going? Welcome to the podcast. OBIE FERNANDEZ Thank you very much. I've seen you around a lot over the years at various conferences, DAVID HILL seen you around a lot over the years at various conferences, so it's fun to actually be across the table from me for once. OBIE FERNANDEZ That's cool. Yeah, I recognize your name. I've been looking forward to meeting you. Awesome. DAVID HILL So here we are at Rails World at the Buzzsprout booth, and there's a lot of the conversations I've been having today with various people. There's a lot of kind of concern over what's next for Ruby, what's next for Rails. Yeah. What do you think? What's going on? OBIE FERNANDEZ I think there's a sense that David may have taken his eyes off the road a little bit as far as the Rails community is going. And I had a conversation with him about it. And one of the things that stood out is that I think he's okay. And to a certain degree, I'll say I'm okay as well with this bit of chaos at the moment to see what comes out of it. It's very interesting to see what comes out of it. I like to imagine us as the cartoon. Character that just ran off a cliff and still has some inertia is now hanging in the air. Right. So I am an optimist by nature. And I think that the next stage is that we grow wings. That would be nice. And fly off instead of plummeting to our death. So there's a very valuable community that has coalesced over decades now. DAVID HILL very interesting DAVID HILL It's one of the things that's kind of kept me here is the community around the language and the framework, not necessarily just those tools themselves. OBIE FERNANDEZ What I'm finding amazing, I was there at the beginning, right? Arguably one of the first people doing any sort of paid Rails work in the world. And the initial burst of excitement around Rails magic was around convention over configuration. That's the root of the key idea. And because of the power that AI agent... give us an agentic development I feel like one useful frame the situation that we're in is that the amount of configuration settings that you have is approaching infinity right basically every single deployment every single developer working on any piece of software has an infinite amount of configuration at hand Even worse, it is hidden configuration because it is driven by English unstructured language prompts into literally whatever the model decides to spit out. DAVID HILL right? OBIE FERNANDEZ With more or less guardrails depending on how disciplined you are about the way that you generate code. DAVID HILL the way that OBIE FERNANDEZ Vibe coding would be the undisciplined side where you literally may not even know what's being output. I had to work with code generated by business people who literally do not know Python from a hole in the wall. And they generated an app and it was useful. And then we turned that into something we could maintain. DAVID HILL Because those are two very different benchmarks. OBIE FERNANDEZ But it had business value. It had business value as a prototype to help clarify what it is that we wanted. It had business value once we rewrote it into something maintainable that became a part of the app ecosystem internally. yeah at my employer but where we will really start to see tangible and meaningful positive movement and positive attitudes as a result is when there is some sort of comprehensive next phase that emerges that people can start associating themselves with again and i have an idea of what that will be DAVID HILL Can you share? Because I would definitely love to hear some opinions about what we could look for next. OBIE FERNANDEZ There's this idea that you need to give your agents guardrails. OBIE FERNANDEZ And a metaphor that I heard that I really liked about how to think about guardrails is when you go to a bowling alley with kids. Right. And you put up the bumpers. The bumpers, yeah. Yeah, so that when they throw the ball down the lane, it doesn't just end up in the gutter every time because it's more fun to knock down pins. Right. DAVID HILL The bumpers, yeah. Yeah, so OBIE FERNANDEZ In this case, the pins are business value and rolling the ball down the lane is what your agent does, right? And if you wanted to stay in the lane, you'd put up the bumpers. So then what's happening right now is that we're in this Cambrian explosion of all people trying different ways to put up the bumpers. I don't know that there's a ton of people focusing on this particular aspect of the problem per se. There are some people perhaps working on spec -driven development kind of approaches and stuff like that. And I have discussed even with David himself a little bit, some of this solution space might be similar to like structured analysis from back in the day. I was talking to someone else and they said, hey, some of this sounds like control theory. Yeah, sure. There's elements of all those sorts of things involved. When I was at ThoughtWorks back in the day, we worked. with this illustrious billing i forget his name but it's the guy who wrote most of excel originally okay and invented hungarian notation he was like one of the founders or something at microsoft okay yeah charles simoni okay so charles simoni is an illustrious figure in software and he championed the movement called intentional software and i think that was the name of his company and but which was helping him and i got exposed to some of that they were trying to do something which i think DAVID HILL okay and DAVID HILL yeah charles OBIE FERNANDEZ were trying to do something which i think is now the time, they're essentially like 20 years early on this thing. It's what are the constraints on a given piece of software that dictate what it needs to do and how do you express that in a way that it's maintainable? Right. And people go, oh, well, you're just talking about requirements, documents or whatever, right? They go, no, requirements is part of the story, right? Like a feature list or whatever. What I'm talking about is the series of decisions that get made over the software development lifecycle of a given piece of software on an everyday basis that guide the changes that are made to that software get encoded in the source code. Okay. And we accept because it would have been too laborious before to keep an accurate accounting. of the where's, why's, what's, how's, all of those changes. We accept that that is encoded in a lossy way into the source code. And some of those things are not even obvious. So there's things that are obvious in that you read the source code and you say, oh, it works this way. DAVID HILL But inevitably there's like a code change that happened that you find a bug years later and you're just like, why is this even here? OBIE FERNANDEZ That's referred to as code archaeology. Yeah. Right? where you have to go in and try to figure out why something is a certain way. And one of my favorite terms is Chesterton's fence. I haven't heard that one before. DAVID HILL Yeah. DAVID HILL haven't heard that one before. You haven't heard it? That's a super cool one. OBIE FERNANDEZ haven't heard that one before. You haven't heard it? That's a super cool one. It's like, apparently there was some dude named Chesterton who bought a farm and there was a fence across the road, a road inside of his farm. Okay. And it was blocking the road. I guess he wanted to tear it down or something, but there was a good reason for the fence to be there because the bowl was going to leave the farm. I don't know. I don't know the ins and outs of the origin of the story. I just know that Chesterton's fence means, if you ever find a fence across the road, don't just tear it down automatically. There's probably a good reason. Figure out why it was there first. Figure out why it was put there, right? That's the whole Chesterton's fence. DAVID HILL I don't know. DAVID HILL good reason. Figure out why it was there first. Figure out why it was put there, right? That's the whole Chesterton's fence. Got it. OBIE FERNANDEZ But there's a bunch of knowledge that's encoded into any given piece of source code. And the more critical that piece of source code is, the more important it is to understand the reasons why. But we don't make a habit of documenting or maintaining artifacts that maintain a record of that because they're normally not needed. They're not needed in the same way that your migrations of your Rails app are normally not really needed. DAVID HILL You generally run them once and you never touch them again. That's it. OBIE FERNANDEZ and you never touch them again. That's it. You never touch them again and you probably don't refer to them. You look at SchemaRB. However, those constitute like a changelog of the schema. So imagine that you took into account all of the contract of a particular component of your system with the outside world. So that's input, output, behavior, side effects. And then it starts to include other things that are not entirely obvious. And an example that would be, how fast does it need to run? So you can imagine that there's some critical part of your system, let's say that has a mean time of execution of 100 milliseconds. And there's something else in the system. that depends on that component, and that has a timeout of 150 milliseconds, and then I'll error out. And then someone comes along and innocently refactors the component that used to take 100 milliseconds, and now it takes a mean time of 152 milliseconds. DAVID HILL Now we've got a problem. Now you've got a problem. OBIE FERNANDEZ we've got a problem. Now you've got a problem. You have something that's going to intermittently time out, but you don't necessarily know why. So there's a contract. That component that was rewritten needs to adhere to, and that needs to be written down somewhere if you're going to have order. Right now we're in this Cambrian explosion thing where everyone's like trying everything, but the principles of discipline software engineering did not just magically go out the window. There is still such a thing as non -functional requirements. There is still such a thing as software has to work. There's still such a thing as we have to be able to collaborate on software. Not everything is, Rails may be the one person framework and I love that. But everyone who pays for software is not going to magically just turn into a one person software shop. DAVID HILL Right. OBIE FERNANDEZ Because in fact, most people that have a lot of money to pay for software projects are not interested in being programmers. DAVID HILL Imagine that. OBIE FERNANDEZ Yeah. So I think what comes next is to come full circle and this is why i find it so compelling in a way because history doesn't repeat it rhymes we are now approaching infinite configuration and people are suffering as a result there's a lot of confusion there's a lot of lost opportunity to actually push through to i what i see is the next level of sophistication and efficiency in team -based project development. DAVID HILL a lot of OBIE FERNANDEZ So I happen to have a laboratory for this sort of thing because I'm CTO at a well -funded startup. DAVID HILL Oh, that's nice. OBIE FERNANDEZ And we have a cool product at Czar that's being used by tons and tons of people in places like Bangladesh and Pakistan and Ghana and Nigeria, et cetera, et cetera. We give them access to dollars and debit cards and the ability to buy stocks and gold and things like that. But it's real business problems and real software development. right and we're a financial institution so we have rigorous demands on our software engineering it's not like doing a blog sort of thing like we have to write high quality software there's a certain amount of rigor required oh there's a ton of rigor required because you know otherwise you lose people's money right and you expose yourself to liabilities that you don't want to do or you lose trust DAVID HILL a certain amount of rigor required oh there's a OBIE FERNANDEZ there's a ton of rigor required because you know otherwise you lose people's money right and you expose yourself to liabilities that you don't want to do or DAVID HILL you lose trust DAVID HILL So where do you find the adequate point? OBIE FERNANDEZ the adequate point? Where do you find the equilibrium between this magical acceleration and all the cool things you can do with AI and how much creativity you can express? And I have a shop full of people who are very creative and who are using Cloud Code, sometimes 10 sessions at a time and like driving a lot of software into production. Where do you find the equilibrium that they can do that safely? Where they can do that? And some of us involved say, yes, put your foot on the gas and go. Go faster. And we'll figure it out. Yeah. DAVID HILL faster. And we'll figure it out. Yeah. OBIE FERNANDEZ And some of us involved look at that situation and go slam on the brakes, go slower. And this is happening industry wide. I mean, I've been talking to people here for the last couple of days and everyone is facing some. DAVID HILL I've been talking to OBIE FERNANDEZ is facing some. variation of this thing where they have to make judgment calls on what they're going to review or not right and common trope is the oh i've stopped looking at my code i just generate whatever and i trust it and i admittedly fall in the camp of the like i want to go faster i want to not look at the code anymore i want to treat ruby source code rail source code The same way that I treat intermediate language or machine code, I want to think about it the same way I think about, you know, the common trope about, well, assembly language programmers also went through this at some point. And I wonder if they went through arguments where their bosses were telling them, no, you still have to look at every line of assembler that was generated by that compiler or whatever the case may be. But that's clearly not the future. And everyone, all the leaning thinkers and DHH said in there, you're not going to be looking at the code. And I tweeted it. This year, the question is who still writes code by hand. Next year, the question is going to be who still looks at code. And I expect that very, very few people will say that they look at code. I want to get there as quickly as possible. But that doesn't mean that there's no longer programmers. Right. The death of programming as a career has been declared during my career. DAVID HILL A couple of times now, I think. OBIE FERNANDEZ Yeah, a couple of times. I started programming professionally in 95. I remember the 3GL to 4GL, like when Visual Basic and Power Builder stuff came out, they were like, oh, well, you won't need programmers anymore because business people will just build the apps that they need. And I remember Lotus Notes, for instance, since people built the things that they need. But I also remember that there were Lotus Notes developers who just did Lotus Notes all day. These things happen. Where the programming, quote unquote, takes place, where the software engineering takes place, moves up a level of abstraction. And this has happened before and it is happening again. And because AI is so magical and so astounding and it's changing so fast, I think people get blind to the fact that this is in fact history repeating itself. It's literally the level of abstraction is going up and we have useful tools for collaborating on representations of abstractions. It's called... text files in git right so to think that this time it is different and this time there will be no more rules and no more artifacts and no more git and we just write everything in english which is in fact the position that's being taken by significant people in this community is i think misguided and it is what is causing us to now be up in the air right So I mentioned in the beginning, I think I see a vision of what's next. And what's next is, in fact, an extraction of what's working as guardrails in a real system. Kind of how like Rails was extracted from Basecamp. DAVID HILL Right. OBIE FERNANDEZ You take a significant production -worthy set of guardrails, of artifacts, of the approach. to how you maintain a production system at speed for real. And you extract it into a system, into a framework, if you will. And you say, this is how you do it. And then you do something very, very, very critically important, which is you take that system and you put a brand on it. You put a name. I happen to think that this is like maybe the fifth. time this has happened so like maybe we'll call it five or something like that or maybe it's rails next i don't know what you call it but you throw a brand on it and then as people start to adopt that system they say i'm a rails next developer right they start to attach themselves to it yeah because people want identity and they want to be able to collaborate more easily DAVID HILL you call it but OBIE FERNANDEZ a rails next developer right they start to attach themselves to it yeah because people want identity and they want to be able to collaborate more easily and like share the vibe and help identify other people who are working on similar problems exactly so that they can more properly collaborate and the fact that we have these magical tools i think is besides the point the magical tools are what enable us to continue doing super cool right with our programming look at the people who are most excited like we're writing gems every day like we're jumping on the new technology we're doing cool things DAVID HILL help identify other people who are working on similar problems exactly so OBIE FERNANDEZ so that they can more properly collaborate and the fact that we have these magical tools i think is besides the point the magical tools are what enable us to continue doing super cool right with our programming look at the people who are most excited like we're writing gems every day like we're jumping on the new technology we're doing cool things almost every day years ago i would not have time to create three gems in one day like i did last week last week yeah yeah i created a cool gem called feelings that was one of three jeb related gems that i created that day wow i would have never had time to do that right but i'm so excited by the fact that we have tools to do that but to me they really are just tools the tools that allow me to do my job as a software maker better yeah faster DAVID HILL week yeah OBIE FERNANDEZ would have never had time to do that right but i'm so excited by the fact that we have tools to do that but to me they really are just tools the tools that allow me to do my job as a software maker better yeah faster and with more fun that's why i'm excited the people i see and you know and i wrote about this in an article that went viral on x called you're already a meat proxy and i apologize for the term i didn't make it up but i thought it was i've seen it several places already yeah you know i thought it was really useful but the friend that i wrote that about who is in fact a real person and claude did not write that article i wrote it about my friend who's a real person and i sent it to him and he messaged me back on what's up and he said hey man i read the article DAVID HILL was i've seen it several places already yeah you OBIE FERNANDEZ you know i thought it was really useful but the friend that i wrote that about who is in fact a real person and claude did not write that article i wrote it about my friend who's a real person and i sent it to him and he messaged me back on what's up and he said hey man i read the article I want royalties. And I said, no, I don't think you know that's not how it works. I'm not getting money. He goes, okay, whatever. But he goes, hey, I have to admit something, which is that I think my heart has never been into this career. And I was like, whoa. Believe it or not, that was insightful to me. That was very, very insightful. And that really changed the way I thought about things quite a bit. Because this is someone who's got over 15 years of experience. plenty of rails experience staff engineer at a company that you would recognize the name of and he says his heart's not really into it and i was thinking to myself if your heart's not really into it then you should be really really enjoying the fact that now you can just tell claude what to do hit enter and go play with your kids or play video games or whatever right and just keep hitting enter and you're good What's wrong with that? And I thought a little more about it. I said, of course, I know what's wrong with that is you're going to be really worried if that's all you're doing because you know that's not going to last. DAVID HILL was very, DAVID HILL Right. OBIE FERNANDEZ Eventually, people are going to figure out that that's all you're doing. And they're going to say, why are we paying you a six -figure salary to do that? We don't need you anymore. Right. And that's got to be very demoralizing, right? DAVID HILL It definitely is. A lot of people I've been talking with have been thinking along those similar lines that the nature of our job, the nature of how we're interacting with the tools. We need to bring that up to, like you were talking about, a higher level of abstraction. We need to move it up to a kind of a different level of thinking and process that we're working through so that we're not just hitting the enter the key all the time. So this is why I think it's critical for those of us that want to step up to the occasion right now while we're midair and we need somewhere to land or sprout some wings. OBIE FERNANDEZ the time. So this is why I think it's critical for those of us that want to step up to the occasion right now while we're midair and we need somewhere to land or sprout some wings. Or something to grab onto. DAVID HILL we need DAVID HILL something to grab onto. Something to grab onto. OBIE FERNANDEZ onto. Something to grab onto. What's going to engage our brain again in that programming way? Right. Because just sitting there and writing prompts is not it. Right. It just isn't. DAVID HILL As magical as they are, and as many guardrails as you put up for them, they are generally going to do the thing that you ask them to do, which may not be right. You may not have communicated it well. Like there's still room for error in all of these processes. And it's not writing requirements either. OBIE FERNANDEZ And it's not writing requirements either. Right. Because we're not product managers. Yeah. If we wanted to be product managers. We would be product managers. We're not. We're programmers. DAVID HILL Yeah. OBIE FERNANDEZ I think the days of writing code are literally over. There's very few people I've met that are like, no, I still want to write code. Even some of the most ardently doomer and or AI slowed the fuck down. Yeah. Even some of the people who want to slow AI down the most still use Claude to type their code. Right. DAVID HILL Yeah. OBIE FERNANDEZ So I don't think that. part of the job is coming back but the artifacts that we carefully craft i think are no longer object -oriented code and scripts and infrastructure configurations and things like that i think the parts of the code that we carefully craft is this textual representation of what the code needs to do that is really really precise and really really detailed DAVID HILL I'm admittedly a little bit late to the agentic development game. It's like I just started playing with it in the last couple of weeks. It's really been impressive to me how quickly and how easily I was able to get something from zero to, oh, I have a little mini application here that's showing me some of the information that I wanted to see, that I wanted to extract from this external data. It's really phenomenal. It's just like, okay, I think I'm coming on board of doing this now. The things you can accomplish are phenomenal. OBIE FERNANDEZ It's like OBIE FERNANDEZ things you can accomplish are phenomenal. Anything that you imagine. Even if you've never done it before, even if you've never even heard it before, you could be at lunch and overhear a conversation about lean verification and you're like, oh, what's that? DAVID HILL what's that? Yeah, exactly. OBIE FERNANDEZ And then an hour later, implement that in your code base, you know, because you told Chloe, hey, teach me about lean and I want to try to use it. DAVID HILL Yep. OBIE FERNANDEZ Yep. That's magic. That's super cool. That's one of the things to be excited about if you enjoy learning. I guess there's some people that don't. DAVID HILL super cool. That's OBIE FERNANDEZ But whatever, let's leave those off the table and say, if you enjoy learning, then that's a super cool aspect of the job. So how do we make sure that you get some job security to go along with all that excitement? DAVID HILL if you OBIE FERNANDEZ And the way to do that, I think, is to engage in a new type of thing that you craft. You can't lose the craft. I think people are confusing the magic of using AI to generate software. and they're calling it slop and they're calling vibe coding and things like that and they're going there's no craft left the craft is dead yeah no screw that the craft is not dead right who said the craft had to be dead we can take the talent that we have the experience that we have as programmers as software engineers for decades in some of our cases and apply it to the new problems to be solved which is DAVID HILL Because there will be new problems. OBIE FERNANDEZ Of course there's new problems. The guardrails thing is a new problem. It's a very clear problem. This is my biggest frustration with some of the people that I've had to interact with who complain about the lack of guardrails. DAVID HILL It's a very OBIE FERNANDEZ I've had to interact with who complain about the lack of guardrails. I'm like, you're an experienced fucking programmer. Work on the guardrails. It is software. The guardrail is software as well. It involves programming as well. To write the guardrails is programming. and that requires careful crafting let's work on that together and be happy as we do so because that unlocks the next level right you kind of alluded to this before like that's what rails was rails exactly emerged as a set of guardrails and conventions that we all kind of like yeah that's a good idea and then i don't have to think about why it's called rails this is a really interesting just kind of DAVID HILL kind of alluded to this before like that's what rails was rails exactly emerged as a set of guardrails and conventions that we all kind of like yeah that's a good idea and then i don't have to think about why OBIE FERNANDEZ why it's called rails this DAVID HILL a really interesting just kind of line of thought you've brought me down. It's kind of like, okay, I've been getting on board with the agentic development trade and now I'm starting to think more and more, okay, what's the agentic framework that is Rails for AI? OBIE FERNANDEZ It is in fact Rails, I believe. It is Rails. It is Rails because it is what we've been preparing for for 21 years is this moment in time. It is the biggest shift, no doubt, in computing. Yeah. Without a doubt. And yet the original reason that Rails existed, the reason that it's called Rails and that convention over configuration spirit has never been as important as it is now. DAVID HILL I believe. It is Rails. It is DAVID HILL Yeah. OBIE FERNANDEZ it is now. It is now. DAVID HILL now. OBIE FERNANDEZ My calendar is open for keynote opportunities if any conference organizers are out there. DAVID HILL Drop your email address in there or something. They know how to reach me. They know how to reach you. Okay. OBIE FERNANDEZ know how to reach DAVID HILL Thank you so much for joining me on the podcast today. You're welcome. I will admit that. OBIE FERNANDEZ You're welcome. I will DAVID HILL admit that. DHH's keynote, I had mixed feelings about it. I was along for the ride and aligned for a lot of it. And then there was a point in the keynote where I soured on it quite a bit. This conversation has done a lot to kind of like help me kind of gauge what bothered me about it and how to kind of adjust my perspective on it. So thank you for joining me today. OBIE FERNANDEZ You're welcome. Yeah. I hope I don't sound too full of myself, but I wish they had invited me to give a keynote. I would have said exactly what I said right here. And people could have thought about that angle of it as well. Because I've been talking to people here in the hallway track and people find this genuinely inspiring. And I don't have all the answers. I'm working on them. I'm looking for people to collaborate with. I'm not saying that I have personally the exact recipe for it. In fact, I think the person that's come closest to laying the cornerstone for this is chad feller because he's working on something called regenerative software he referred to it as phoenix architecture before yeah but it's this idea that if you have a good enough set of descriptions around the contract for a particular module of software then you can delete that module and regenerate it hence regenerative software interesting And the interesting part is that if you are able to do that, then you can regenerate in Ruby or Rust or whatever you want. Right. And any time that you want to change the architecture or the performance characteristics or you just got a wild hair, you can regenerate it. And it's okay. That's cool. But the other thing it does is that if you're able to regenerate code at that level, the Ruby code, then people realize, oh, that's disposable. Yeah. So that shifts their focus, right? They don't feel attachment to that part anymore because you don't get attached to things that are disposable. It shifts your attachment to the higher level of abstraction artifacts, which are the non -disposable parts. DAVID HILL Yeah. OBIE FERNANDEZ And then we can begin the cycle. And that makes sense. DAVID HILL And that makes sense. And at the same time, I feel like a lot of us are here because we had an attachment to Ruby and to Rails. And so being told we need to be ready to... Well, let's write those up maybe. But we probably don't even have to do that. OBIE FERNANDEZ let's write those up maybe. But we probably don't even have to do that. You could write that higher abstraction layer in Ruby DSL if you want to. It's true. There's no hard and fast rules to this thing. Once people catch on to this concept, there's probably going to be 50 competing viable things for a little while before one or two or whatever emerge as the next thing. DAVID HILL We could be kind of heading into a Wild West type situation for a little bit, maybe. Yeah, but to think that there isn't going to be a next thing is just stupid. OBIE FERNANDEZ maybe. Yeah, but to think that there isn't going to be a next thing is just stupid. There will be a next thing. DAVID HILL Cool. Well, thank you for joining me on the podcast today, Obi. Thanks, OBIE FERNANDEZ Thanks, David. Appreciate it.