Interview with Farrah Bostic on The Difference Engine and keynote perspective at RailsConf 2014

Interviewee: Farrah Bostic
Topic: The Difference Engine and keynote perspective
Conference: RailsConf 2014
★ Transcript Available Jump to transcript
Description: Interview with Farrah Bostic at RailsConf 2014 on The Difference Engine and keynote perspective. This recording captures practical lessons and perspective for software teams and technical communities.
Published: May 13, 2022

Transcript

Hi, it’s Mike with Ucastic. I’m here at RailsConf 2014, and I’m standing here with Farah Bostic, who gave the end-of-the-day keynote on our first day of conference. Farah, thank you for taking the time to speak with me. This is take two, I apologize about that. So, Farah, can you tell us about what the keynote was about, the subject? Sure , the title of the talk was “What happens to everyone when everyone learns to code?” And I’m a beginner coder myself, I’ve built a few things, I use Rails as the framework for doing that. But the thing that I was thinking a lot about is what happens when more people start to be kind of like me, where we have a kind of conversational understanding of code, and how does that impact how we all can work together, techs and tech and dev people and non-tech and dev people. And really, it kind of came down to, a little bit of storytelling about my path into Rails and into the community, as well as some ideas that I’ve been thinking a lot about in terms of, we need non-technical people, need the technical people to be part of the strategy of a product and to be part of the real high-level decision-making about the business and the user experience, and really what kind of problem we’re trying to solve. And so that means we need to understand a little bit more of code, and we’re going to have fluent conversations, and we’re going to be able to do that. And we’re going to have conversations with our dev partners, and our dev partners need to have more sort of investment and understanding of the decisions that have to be made at the business level and at the user experience level. And you’re not the first person I’ve heard of that is a business person who came into Rails. What is it about, then you come into programming through Rails, what was it about Rails in particular that, how did you even find out about it? Right, it was a combination of things. I had been a little bit familiar with PHP from a while back. I actually started out as a copywriter in advertising, but the thing about being a copywriter in advertising is not a lot of agencies need junior copyw riters. So I went to work for a web design shop. And so you had to kind of learn how to make things on the internet. It was too small of a business to have specialists, really. So I knew a little bit about PHP, hadn’t done anything with it in a really long time. And a friend of mine, Noah Breyer, who founded Percolate, he kind of reintroduced me to PHP and to kind of application. Right. And so I played around a little bit with PHP. I went to a startup weekend in New York in like October 2010 and was talking to lots of people about wanting to take that a little bit farther and learning to code and asking for advice on how to do that. And just about every developer I talked to at startup weekend said Rails was probably the most friendly framework for getting into coding at the application level because it’s bit pseudo-code that runs, right? Right. So it’s like, it’s as close to plain language as you’re going to get. And so it was kind of hard to get. That was the take in 2010 at least. And then that got layered on with picking up Chris Pine’s book, Learning to Program, and that ‘s Ruby-based, so then I started to get a little bit of an understanding of the underlying framework. And then my boyfriend is Stuart Echols, who’s a Rails guy, so he sort of got layered on with more help. Okay. So there was some… Yes. Because I’ve heard recently that Rails is… There’s concern in the Rails community that it’s becoming much harder to… Much harder to get started. So I was curious as to when… You said 2010 was around the time that you got started. I just would like to go a little further and ask, have you continued to use Rails since then, or…? Yeah. Yeah, I have. And in fact, I sort of just started playing around at the playing around level. And then I used Rails to build from the ground up my own website for my business. And I did that at least, we’ll say twice… Right. Like, shipped versions of the site. But of course it was more like 10,000 times, it seems like. Right. But both times, for both major designs of it, I did it all myself, I did it all in Rails. And so I kind of just keep coming back to that, because I now have a kind of comfort level with it. I know where things are. And so I can kind of drop back in any time. But I’m really curious, have you felt the changes in the ecosystem? I’m like, “Really, what’s this CoffeeScript thing?” I thought I just needed to know JavaScript, too. Right. Well, so that was also part of my talk yesterday, is that I think about as far as I’ve got with the actual application side really is Rails. And so I don’t understand anything about Java or Coffee or any of the rest of it. I drink coffee. Yeah. But so the thing for me winds up being a heavy dependency on Rails developers who translated a piece of script in another language into a gem that I can just go ahead and implement. Okay. And then every once in a while I have to ask for help when it really shouldn’t be done that way, or can’t yet be done that way. So I’ve noticed the changes, I’ve noticed these CoffeeScript files, and I’ve noticed those things. But I’m still pretty intimidated by going too far under the hood. So I live in model views and controllers and routes, and I kind of leave it as much as possible at that. That is the most pleasant area. Yes. The question I have is for other people who might be looking at learning to code, or at least they have a product idea or something they’d like to do. Is the ecosystem so friendly to that, from your perspective? I think so. I think there’s a couple of reasons why it still strikes me as incredibly friendly. And one is that Rails seems to be sort of the default framework for most of the code schools, or at least the preferred framework. So I ‘ve taken some classes through the Flatiron School in New York and Codecademy and other kinds of things. I still find it’s basically pretty intuitive. As far as I’m going to be intuitive for someone who’s never coded before. And I think it’s still a great place to relatively rapidly be able to make something that works. And just as an example of that, I was at a conference a couple of years ago where we were sort of doing brainstorming sessions around business people getting kind of creatively stuck. And everyone had the same kind of pieces of advice about how to get unstuck. And so we made little paper fortune tellers. Right. And we made basically a Rails app that does the same thing, just a randomizer. Right. And so like three hours later we had a working, very basic app. And Rails was a really friendly thing to do that in, because you could tell really quickly whether it worked. Yeah. Because someone else had already kind of worked out the basic mechanism of what’s basically a magic eight ball. Yeah. So, yeah. And as a developer myself, it’s fascinating to hear this. With the conversation this morning with, I was, I’m sorry, yesterday morning with DHH, there’s been so much, I don’t know how long at all, on Twitter, kerfuffle over whether or not TDD is dead or alive or is it on, but what do these say? You know, is it good or bad? And we obsess over these kind of details, but when DHH was talking, he was talking about letting go of this astronaut stuff. But then here are people who are not necessarily a developer background, are able to come into these tools and do something productive and rate and make money. Right. And pay the bills using these tools. Right. I mean, does that strike you as kind of bizarre, when you hear us obsessing over, like, whether or not we should do things a certain way, and you’re like, “I just took it, and I did it, and it’s great.” Right. There it is. Well, not at all. In fact, you know, my background being in marketing and market research, we have the same obsessions. We’re obsessing about the best way to buy media. We’re obsessing about programmatic ad buying. We’re obsessing about the most sciency ways of doing market research. And having spent 15 years working in those industries and kind of taking a step back and peeling back a lot of the trappings of that stuff, I think what I find sort of encouraging is every industry and every community is arguing about things that matter to them, whether they should matter or not. And that there is this kind of inevitable ebb and flow that seems to happen between obsessing about details or testing frameworks or making things easy or what really makes a coder versus not a coder. And those sort of existential debates are necessary to these communities. And then inevitably, somebody has to be the one who sort of drops a bomb and says, “Actually, those things don ‘t matter, or they don’t matter as much as we say they do.” So, DHH’s talk yesterday, I was , like, jotting notes going, “Well, a lot of market research is also pseudoscience, and it’s the same kind of idea of test-driven development, but in communications.” Right. And that’s something that I’ve kind of gone… This beginner’s mind thing works pretty well for me in building stuff in Rails. It works pretty well for me in the way I do the work I do now as a product strategist, which is everything’s a bit rough and ready, and that’s the point, is we have to make decisions quickly. Things have to shift. We don’t have time to worry about, you know, the kind of metaphorical equivalent of four lines of test code for every one line of working code. And I really appreciate that whole, “Sometimes it just has to be good enough.” I wouldn’t have these interviews if it wasn’t… Eventually, just having to let go and be like, “Okay.” Exactly. And a lot of people come into the interviews and they say, “Well, what if I make a mistake or I stutter or, you know, what if I can’t think of an answer?” And I’m like, “I can’t think of questions.” It happens. But, you know, it’s all just… As long as you’re making something, eventually you can… Well, that’s the other thing I really responded to with his talk yesterday morning was this idea of, you know, the engineer metaphor, the science metaphor, and all those things were uncomfortable for him, that the truth is that coders are software writers. And because I started out as a writer as well and still do write, writing practice is writing practice, whether you’re writing a new gem or a new project or you’re writing an article or an essay or a short story. You have to sit down and write. And kind of the first thing you have to do is put ink on the page. And whatever format that looks like. Because the worst thing is a blank page, right? The worst moment for you right now is before you hit the record button because, “Oh, my God, what’s going to happen?” Or, likewise, when I hit Rails New and I’m trying to even think about what I should name the project. Yes, exactly. What should I name it, you know? I’m talking about obsessing over the wrong things. Right. And then you kind of forget the flexibility and the opportunity to edit. And, like, I don’t have to know what every field in my database is going to be when I raise the scaffold. At a certain point, I can just sort of – I can add things to it later. It’s minimal. Yeah, exactly. And so I really reacted to that as, like, yes, that I think is what I like about learning this language and this framework is that it’s a new way to think and to write. And I like both of those things. Well, great. Well, thank you very much for taking the time to speak. Thank you. Appreciate it. Yes, very much so. User groups with lots to say. Interviews and more. No way. Sharing great ideas in the chat. Sharing great ideas in the tech community. Fascinating conversations. A plethora of information. Find out for yourself today at ucdastic.com.