The Changelog: Software Development, Open Source - Ruby off Rails (Interview)

Episode Date: July 22, 2013

Adam Stacoviak and guest co-host Tim Smith talk with Jesse Wolgamott about learning Ruby, his course and mentorship Ruby off Rails, and more!...

Transcript
Discussion (0)
Starting point is 00:00:00 Welcome back, everyone. This is The Change Log, where I remember to support a blog and podcast that covers what's fresh and what's new in open source. You can check out the blog at thechangelog.com and the past shows at 5by5.tv slash changelog. The show is hosted by myself, Adam Stachowiak, and as I mentioned in the preamble, if you're listening live, I've got a special co-host on the show today, Tim Smith. Tim, say hello. Hello. Hello to you, yes. If you're a long-time listener of the show, you know that you can tune in live every Tuesday at 5 Central Standard Time.
Starting point is 00:00:41 However, today we are broadcasting a little tiny bit early because of some post-show quickness that I got to do. But this is episode number 96, and we're joined today by Jesse Wagemott. He is a fellow Rubyist and runs this very cool mentorship slash teaching slash course for Rubyists. It's called Ruby Off Rails. How awesome of a name is that? But Jesse, welcome to the show, my friend. Hi, thanks for having me. Yeah, man. Let's see, where do we begin with your story? So let's talk about, I guess, the quickest and most easiest thing is to do maybe a better introduction than I can do for yourself. Maybe tell the listeners who you are for those who may not know who you are. Sure. So I'm a freelance programmer consultant.
Starting point is 00:01:28 I live in Texas, and I've been working with Ruby and Rails since 2007. And I went full time on it in 2009 and have just been crazy happy. So what I wanted to do with Ruby Off Rails was bring that happiness to everybody. And so it was like, okay, how can I do that in a way that makes everybody happy, right? Right. And so, yeah, so that's the concept of Ruby off Rails is to just focus on the Ruby side of Rails. Rails brings the people, but to really become an expert in Rails, you really need to learn the language in addition to the framework.
Starting point is 00:02:20 That's something that especially people that are just beginning to learn, let's say their first year or two years of working with Ruby or trying to get into a web developer space where they're developing Rails applications. And they hear these buzzwords and they want to kind of join this, I guess, clan, so to speak, of crazy programmers. They get to have some fun. They're like, I've got to learn this thing called Rails. And they forget that it's actually Ruby on Rails, meaning that Ruby is the framework and it's built on – sorry, Rails is – I got that backwards. See? I bet you everyone's confused.
Starting point is 00:03:02 Exactly. You've got Rails rails and that's the framework and it's built on top of a language called ruby which is a beautiful elegant uh very expressive language which you know to me that's one of the funnest things about programming in ruby and and maybe you can speak to some of your history because you're also a c sharp developer done some cgi stuff god forbid, PHP, you know, and other things. I mean, programming in Ruby is much different, right?
Starting point is 00:03:30 I mean, in comparison to those languages. Yeah, absolutely. I mean, I started doing web design in college, like back in the late 90s, right? And that was PHP and CGI and that was php and cgi and pearl uh and you know that really wasn't wasn't very much fun right like they hadn't ironed out most of the kinks and then the at least at the time in texas all of the paying gigs gigs were microsoft-based. And so I spent a fair amount from 2000 to 2007
Starting point is 00:04:10 working on straight .NET applications. And so the experience of developing a.NET app is much different than developing a Rails app. And so with...
Starting point is 00:04:27 So yeah, I mean, so seeing all of the different ways that you can develop these web systems, some systems try and hide everything from you, and then Rails doesn't really. I mean, you can do so many things, and what powers almost all of that is the power of Ruby, right?
Starting point is 00:04:48 Being able to change stuff at runtime and pass code around using blocks. All of those things build together to give you the ability for what everybody's been able to write with Rails. Yeah, blocks are a super powerful thing in Ruby for sure. I did want to mention also, because it just dawned on me as we were talking there that I hadn't really properly introduced my
Starting point is 00:05:15 co-host, the special guest co-host either, because I kind of did it in the preamble and I said I would do it in the show, but Tim, you're on the show too. And I think the cool thing is that having you on the show today as a co-host is kind of neat because Jesse is a teacher you're doing some stuff with Tim Lace to teach so I guess you would call yourself a teacher right Tim I guess but I mean I don't need any introduction the show's not about me it's about I want people to know who you are I don't you to just like to sit here and not get introduced properly.
Starting point is 00:05:47 I mean Tim Smith, the East Wing. That's very nice of you. Thank you. Yeah. Well, yeah. I'm a nice guy. Plus you're also learning Ruby too, right? Yeah, and this is the reason why I was so excited to be on this particular show because, Jesse, I want to commend you, first of all, for venturing off into teaching people things because I think that's a very good thing.
Starting point is 00:06:14 And especially as the education landscape changes over time, we're going to need more things like this where you can just learn online and and and support a person like you that is teaching these things on your own um and second of all i i i'm very very impressed with the design of the site i think it's very very nice and very simple um so i i'm looking to learn more about what you're doing oh awesome awesome i mean thank you for both of those. That's fantastic. Thanks. Yeah, the education space is really just exploding right now with different opportunities for how things can, like how people can learn. intensive come just for six or 12 weeks in person. And then there's the massive open enrollment systems like through Stanford and Coursera and stuff like that. So I mean, the range there of all intensive, somebody with you, you know, 10 hours a day to nobody with you at all. It's so great to have that wide range of choices about what you can afford, both on a monetary and a time schedule,
Starting point is 00:07:34 and what really fits with how you want to spend your time. So, I mean, I'm really excited to just be a part of it. Well, since we're, I guess we're teeing off, we were talking a bit there about the expressiveness of Ruby and I guess the joys of programming in Ruby versus C Sharp or PHP or CGI. And these are all, I mean, I've done some stuff in PHP, but not in C Sharp or CGI. I think I looked at CGI early enough in Ruby's days
Starting point is 00:08:03 to know that that was somewhere in there. And now I think Ruby kind of extracts that from from me having to ever look at it again but um i i personally have never programmed in cgi but um we're talking i guess more so about i guess your primary is this your primary thing you do now ruby off rails so i i spend about half my time on it and the other half i spend on consulting with with various people right so so um like i'll help people either upgrade rails apps or or work on a ruby app or something like that um and and so i spend a fair amount of my time on Ruby Off Rails. The curriculum is pretty much set at this point. A couple times a month I may update a lesson, but the majority of the time I'm spending with students. So students come and they submit, like, pull requests based on the episode and then we talk it over and and really try and develop a relationship
Starting point is 00:09:07 with each other so that we can help and say hey did you know that there's this cool thing called map in ruby and we go over and a lot of it's spent like learning by doing um and then seeing like what else is possible so that's kind kind of how the time is spent. Yeah, I remember talking to you before about the mentorship side of this, and I have to see that there's a brand new section on your homepage now called Mentorship. Yeah, when we talked, you said, hey, that didn't really pop, that mentorship was a really big part of the of the offering so i said oh that's so that's so ridiculous that i that i um didn't focus on it and
Starting point is 00:09:53 so yeah it's probably it i did i added a big section on it sort of going over sample homework that people get and then um sort of a sample pull request that shows like the back and forth and back and forth that you take, which is, I should say that I don't think I could do this course without like GitHub's pull requests. I think that was just a fantastic way to visualize code and be able to comment on it. I just, I can't get over how. It's amazing though. Right. I mean, even not just in this particular space of being able to volley back and forth different comments about the code and comment down to a line item and even
Starting point is 00:10:35 include Morse code samples in that. You know, that's, that's really new. But it's how it's also works in the open source landscape. And I guess is most of this stuff that you're doing in mentorship, is it private? Is it in private repos you've made? Or is it your students kind of making their own repos and you're commenting on them? Yeah, so it's not private repos. So any of the code is just MIT license. And I don't hide it, but I don't publicize it either except for right now I guess
Starting point is 00:11:06 right? Everybody knows now right but there's a Ruby off rails organization on GitHub and like all the code's just there so students just go to the episode after watching it and fork it to their repository and then
Starting point is 00:11:21 submit a pull request with their changes and then we comment on that pull and then we just never merge a pull request with their changes, and then we comment on that pull. And then we just never merge the pull request, right? But, yeah, so it's all out there. And then what I like about this is student A can go see what student B did, and I've seen collaboration between the two of them also. So, like, I never thought about that, and it's happening, and I think it's very cool.
Starting point is 00:11:49 That student A collaborating with student B was, or at least seeing some of their code and what they've done beforehand, maybe not so much, I don't know if, I didn't, whenever it happened to me, I guess in this scenario, I was working on one of the things from Jumpstart Lab. They had – I think it was the – I'm trying to recall which tutorial it was that they had done. It was microblogger. I was doing some stuff with it.
Starting point is 00:12:21 I'm still learning to be a bit more proficient in things. I know a number of different methods you can do, but I hadn't really thought about doing it quite the way this other person had done so i'd seen in the repo there's other students who had submitted their work and you can see what they've done and i was like oh that's really neat and i kind of like gleaned forward a little bit but learned enough from their code so that whenever i was later on a lesson i didn't have to go back and like do the copy paste kind of sort of thing it was more like I had read it and learned it and was able to reapply it from memory without having to, to, to kind of go back to, but it was nice to kind of peel back the curtain a little bit and see it, see a little further ahead in the lesson basically.
Starting point is 00:12:57 Yeah, for sure. Um, you know, there, there's always that, um, that inclination to just look at the correct answer. And so people have to be – not do that right. But the real answer is that there's no right answer in programming. There's a zillion ways you could do it. Yeah, exactly. I guess what is the most efficient way to do something isn't always the best way. It's sometimes the most expressive way. Like the most efficient might read really weird, but a more expressive single line versus three lines method, for example, could be a lot more expressive.
Starting point is 00:13:42 Yeah, I just had an example today that I was commenting on somebody's work and they had created a hash that had like all of the days of the week, like one and Monday, two and Tuesday, and so on. And then later on, they were writing out like one Tuesday, two. So it wasn't quote unquote dry. And so I wrote like a way to show them how you could keep it dry.
Starting point is 00:14:15 And I looked back at it and I said, this is just, this is a little bit crazy to keep it like this. Like future you is going to come and read this and not have any idea what it is at first glance yeah um and so it was a good lesson uh to me to hopefully to to the student in like um just following the rules sometimes doesn't make a lot of sense like you should understand them and then know when to break them right so this this thing you're doing is obviously called ruby off rails and i think that before i introduced him and i kind of derailed us for a second there because i wanted to make sure everybody knew who tim was tim you got introduced right yes yes all right everybody knows
Starting point is 00:14:59 tim that's good um sorry about that tim but can i Can I ask a quick question before we move on here? Only if it's super quick. Of course, yeah. One of the things that I find so fascinating, like Adam pointed out, was the mentorship aspect of your teaching. And I think that that is a huge differentiator, right? Because, I mean, if you look at the other people that are the big players that are teaching Ruby or Rails, you look at someone like Code School or you look at someone like Treehouse, there really isn't any personal interaction between the teachers and the students. And that's an experience that if you learn online, you kind of miss out on if you were to learn in person. My question would be, what motivated you to decide to take the time to mentor the students? Because that does take time and that does take money on your part, I guess, to take that time and dedicate it to them.
Starting point is 00:16:08 Yeah, right on. So I started Ruby Off Rails because before I was doing one-on-one trainings with people. So I help with the Houston Ruby group now and people would come and say, I want to learn. Can we do some trainings? And so we'd, you know, like a set of 10 or something trainings. And, and I'd, uh, so, so that was my, um, point of view from it. Right. I was looking at it as me training somebody and being able to give like one-on-one feedback to how they were learning Because each of them would learn differently.
Starting point is 00:16:48 And so it was more of like a tutoring relationship. So we'd come and just start from scratch and write code, and we'd talk about it. And so I had a couple people that didn't like the Ruby part. They would be like, dude, I just want my Rails. Right? But they say it like, dude, I just want my Rails. Right? But they sailed like that too? Yeah. They were surfers. And
Starting point is 00:17:12 so after a couple of months, it was really predictable about who was going to have success and who was going to reach a point where their Rails was really more like copying code out of Stack Overflow or Railscasts or whatever, right? Like, it never got there for them.
Starting point is 00:17:35 And so I was looking, and I was like, you know, Rails is like this dialect of Ruby. So it's its own thing, and you can stay totally with the Rails, and you can be fantastically productive. But if you really want to learn, like, if you want to take that expert level, right, and really become proficient, I think that you have to learn the Ruby part. And so that's what I was seeing. The people that learned Ruby could excel at Rails at a much faster pace, and they weren't frustrated by Rails. And since they learned TDD throughout the whole process, they were positive about testing in Rails, whereas the Rails people just never wanted to test at all. And so I was able to see that happen enough where I was like, okay, I think this is, this is a thing. Um, and so that's why I, I started looking and I was like, I don't just want to put content out there and not see anything.
Starting point is 00:18:36 I think there needs to be tests. And so I iterated over it and I said, well, it could just be, they submit tests and if I've got, if I've got tests and they pass, then okay, they get a green light and everybody's happy. But I sort of felt that it was missing that personal touch, so to speak, right? It was missing that opportunity to have someone ask questions and really say, hey, I see what you're doing here, but you should really be doing it this way. Which is what you do when you're sitting there together, like this is where it came from. So sitting down with people from the Houston Ruby group or friends you meet that want to learn Ruby, and they're like, hey, Jesse, can you teach me or show me the ropes? So that's kind of where Ruby off-rails came from was – and this idea of how you can build it was from this sort of hands-on approach from the get-go.
Starting point is 00:19:29 Yeah, exactly. That's exactly right. And so that's what I took it from. And so it just always seemed that that made a lot of sense. It wasn't until later that I discovered, hey, you're tying the total income you can make with the total students that you have. Right. Right. And I said, you know what?
Starting point is 00:19:52 That's great. It's more of a premium class, so to speak. You know, we really teach the intermediate level stuff. And so we've recently added like beginner classes. But the main course is we're building applications in Ruby. And so the people that complete it and do everything, they go on and they're really happy. And so I'm happy to have this personal touch on it. It's called Ruby Off-Rail.
Starting point is 00:20:32 So, Tim, I'm really glad you asked the question you did because it kind of prefaced. And I think, Jesse, you even answered my question kind of within Tim's question, which basically was to try to, for those that are listening that may just be stumbling on Ruby or have been hearing about Rails and they're not really sure what it is, or maybe they're really, you know, they've been using Ruby for a while and they just never dove in and truly learned the language, like what the point is of Ruby off Rails. So if you plan to do Rails applications or develop something with Rails,
Starting point is 00:21:04 what is the point of, you know of the Ruby part or learning Ruby, not so much before, but really being proficient in Ruby versus just learning the Rails way? Yeah, so I think that that's a great question. And like why, right? And it comes down to I think you really need to learn your tools if you want to take that next step. So I don't think that it's enough that you just learn how Rails does JavaScript to really know JavaScript. And it's the same with testing.
Starting point is 00:21:39 It's the same with, say, object-oriented design and creating really maintainable software, I think that the Rails way makes sense in most sort of base camp type systems. And where the people that I've consulted with have trouble is that there can only be one base camp. So if you deviate too far from that, some of the techniques that the Rails way stop making sense. And at that point, you really are programming. You're not just plugging stuff into Rails. And that's not to say that Rails is bad at all, right? I love it.
Starting point is 00:22:23 But I do think that if you understand more the theory and you understand, say, what a module is and, you know, what the difference are in your Ruby methods and how to effectively use metaprogramming, I think that that type of stuff really has a benefit because suddenly you can start writing your own gems, right? That's not this magical secret. Like you can start writing individual little services. And so I think that that is the reason why, is so that you can do more with your Rails than just what rails can do out of the box. I think you bring up an amazingly good point with that because it's – I guess it goes back to that old saying,
Starting point is 00:23:16 teach a man how to fish and he'll eat forever. But if you get a fish, he'll eat for a day. I know that I totally butchered that saying. of how to think within Ruby and therefore can, can do, you know, wonders with rails and who knows, maybe even other frameworks that are built on Ruby. Yeah, for sure. I, I absolutely agree.
Starting point is 00:23:54 And I think, I think the quote that you're looking for is, goes something like, if you fix somebody's pro program, they were only mad for a day, but if you teach them how to program they're mad for the rest of their life um that's true yeah um but no like uh i i do think that suddenly you can write little one-off ruby scripts whereas before you're you know you know just clicking
Starting point is 00:24:20 around all the time and then you can you can bring up quick little Sinatra apps. And so I do think that it really does help. And I don't think you're going to get all you can out of Ruby on Rails unless you learn Ruby. I remember when we launched, and I got so much feedback from people that were saying, I didn't even know there were people that didn't know Ruby. And then there were a bunch of other people that were saying, yes, this is how you're supposed to – I wish that I really enjoyed the concept of Ruby Off-Rails because that's – like so you mentioned when the show started how long you've been working in Ruby. And honestly, I've been designing, developing different things in the Ruby landscape for many, many years. I bet you the first thing I did with Ruby was back in 2006, 2007.
Starting point is 00:25:27 But I hadn't really done a lot of programming in Ruby. I've done various things here and there, but nothing major. But I've kind of been learning, I guess, along the way. And what I really appreciated about, I guess, just this concept of learning Ruby in order to learn Rails better, was that it just totally makes sense to, you know,
Starting point is 00:25:49 why would you want to learn, like, I guess in a lot of cases, you might think of the Rails way as a shortcut, right? Because there's a lot of magic, you know, in air quotes, magic in Rails, that's there for a good reason. Like you said, it's a good thing because once you're a proficient enough developer, anything that you do often enough, you want to learn how to automate within reason, obviously. And that's what a lot of what Rails does with various things that it does with different methods that are only available in Rails and different idioms that are only in Rails.
Starting point is 00:26:20 They're not like Ruby things, they're Rails things. But I thought I want to learn Ruby and learn the depths of Ruby and really learn to appreciate the language for what it is before I learn something that has been built on it to better learn, like you said, you know, launch something simple with Sinatra or, you know, anything else. And Timothy, you mentioned being able to work with another framework that's been written in Ruby to not just be isolated to Rails, you know, to kind of get that full breadth of knowledge from the Ruby world. Yeah, right on. I started around the same time. I remember seeing Rails, and I went out, and I was like, wow.
Starting point is 00:27:06 And my wow moment was when I saw find by username, right? Where I was like, wait, you didn't write that method. And they're like, I know, that's the thing. And I'm like, whoa. The username at the end there is the magic part. Yeah. Yeah, and so I remember that moment where I was like, oh, so that's how it works when you finally saw that it's method missing and stuff like that, right? And then you're like, whoa.
Starting point is 00:27:33 And I remember the same person that told me, like showed me Rails was like, a lot of people come for the Rails, but they stay for the Ruby. And I had no idea what that meant. But I think it's absolutely true um so yeah so so i went out and i bought like agile web development and rails uh and built like a social network um that that was my uh that was my first thing and it's still running um what's it called oh we eat so and as as the is the style of the time there are two t's so it's w-e-e-A-T-T, which is horrible for search engine optimization. But it's there. And so if you need to share your recipes with friends and family, you can.
Starting point is 00:28:17 You can have private recipes, protected recipes that share with your family. I mean, this whole idea is ridiculous, right? Nice. But I was like yes and i had a spreadsheet uh that that showed that i was going to be the next dig um oh is that right yeah so if it grows at this and i can get why dollars i'm gonna be awesome um how'd that work out but uh okay well i outlasted dig. So, I mean, they're back, obviously. But, yeah, so it's still running. Upgraded it a couple different times. But, you know, I barely look at it, right? But we've got all our recipes there.
Starting point is 00:29:00 And so whenever we want to make our pizza or, or like the fajitas like we pull it up and say oh okay so um it so yeah being able just to create little stuff like that and host it on heroku it's uh it's crazy if as you compare to what it took to get a site online in 2002 so when you look at the i guess the learning we talked a little bit earlier in the show about um others that do learning and the depth that they do or do not go into holding the student's hand you know when you just when you look at the the landscape of learning programming not just ruby but learning programming um how do you see that shifting as someone that's been doing Ruby off rails for a while and been personally mentoring people how do you see the shift from let's say someone who you know I meet people sometimes that are like oh I want to get into web development so I've got to go to school to get my CSS my CS
Starting point is 00:29:56 degree I almost said CSS because it's just a habit but um I want to get my CS degree and I'm like well I don't think you have to do that to learn how to build stuff on the web. I think that there's – that's one path. But is that the right path for you? There's a lot of different paths out there. And you mentioned some that are really in-depth, some that hold your hand, some that don't hold your hand, some that – what is the right path? I mean how does someone begin to – if they're wanting to learn, where do they begin to go? How do you begin to identify what best fits? That's such a good question.
Starting point is 00:30:27 I mean, I remember I first saw programming in college, and it wasn't even a CS degree. It was in business school, and they just made you take a programming class. And I remember that point at which it clicked, and I was like, wow, right? I think a lot of people do that. Most of the programmers that I meet that have been doing it for a while, it's almost like the profession chooses them than like just as a job, what do you guys think about that? I'm curious. People can, but is this profession for just people that just want a job?
Starting point is 00:31:17 Yes. I think it is for people. It can be for people who just want a job because we're getting into psychology here. But if you're an introvert versus an extrovert, you can be very introverted as a programmer, right? You don't have to be social and code on GitHub. You don't have to do those things. But you can get a job, a cozy job that you're really proficient at and just kind of just chill there and do that thing. Get paid whatever, get benefits and just go into work 9 to five program fix you know whatever the case might be and then you have you
Starting point is 00:31:49 know you're you're out of the box people i'm not even sure i can give as an example that just want to learn every language they touch uh maybe i don't know who would be a good example of somebody who can't just do that but i mean yeah i think the the gamut is wide open for marco arment sam sofas all those people that make me sick that make you sick okay i can i can buy that absolutely um so so i guess uh after my little tangent there uh the question was you know how does all of this end up shaping um the the education landscape I think that to be a web developer, right, and soon probably a mobile developer, that college in the traditional sense
Starting point is 00:32:39 doesn't prepare you for that, I don't think. I think that if you go to school right a university and you learn computer science and you graduate with cs degree that's prepared you to really think about hard problems in programming not necessarily how to run rails right not how to get node up and running or look at go or anything like that. I don't think it touches on much of that. It just teaches you more of how to really be able to do programming languages. So it's sort of do you want to use or do you want to create programming languages?
Starting point is 00:33:22 So most of the mass amount of programmers out there use frameworks, right? And so for them, I think it absolutely makes sense to, you know, whether you learn by books or whether you learn like face-to-face, to not necessarily do college for that degree. There are reasons to go to college, but I don't think college to web developer is a direct line. And so for those people, you can look at the suite of programs that are out there, learning how to program, and really start there. And once you get the logic down, and then you get a little bit of design, and you get some of the, some JavaScript and HTML, and you learn Ruby and Rails, and then you can
Starting point is 00:34:17 start to learn some of the foundations of programming, right, and can sort of iterate over that and become better over time. So you can start that process at 13, right, and then just be creating. And then being able to see the code of open source projects is such a differentiator from working with open source and not. Being able just to open up Rails and see how they implemented some link to function is so great as compared to a closed source system. I think that, like, being able to look at this and see how people are
Starting point is 00:35:01 implementing stuff gives you ideas for how you can implement stuff. It really is a cycle. So I think that it all just plays together of people being able to learn on their own and then work with other people and help other people learn. You see, and it's for those reasons that I don't feel that this is necessarily a job for people that want to do just 9 to 5. I don't think you can be a good programmer and not love it. Well, I guess that's subjective, though, because your love versus someone else's love could be – it's all relative, right? There's no black and white on that one.
Starting point is 00:35:48 Yeah, I can understand that there are people that straight 9 to 5 don't read about programming, don't think about programming outside of their time at work. I can understand that there are people like that. I cannot imagine being like that. Yeah, exactly. That's a definitely good point. There we go. Yeah. That's a good way of putting it.
Starting point is 00:36:12 I think Ruby on Rails is certainly for somebody who's looking to be better, someone who's looking to really show their passion for learning programming or learning Ruby specifically or being mentored. Because I don't know how many students you have, but truth be told, we live in the same city. We've probably only seen each other a small handful of times, Jesse, but you know what I mean? And I heard about Ruby off-rails through just like indirect channels we probably share together. And I can't imagine that you have like 20,000 students, for example, right? I mean it's not crazy big, but it's definitely getting a lot of traction.
Starting point is 00:36:54 And someone who is going to choose to go and become a student of Ruby Off-Rails, become – let you be their coach and you can mentor them there it's somebody who really wants to enjoy programming somebody who wants to up their game a bit somebody and even as some of the things you say here on your home page is like to add more dollars to their salary to become worth more because the more skills you gain the more proficient you are you know the the more value you can provide to somebody whether it's you doing consulting you running your own company or you working for somebody yeah absolutely right like i think that the the the person that like the student that ends up signing up and and really just nailing the whole course is someone who's driven um and someone that can sit down and devote,
Starting point is 00:37:45 like whatever schedule works for them, say like once a week, like, okay, I'm going to watch this hour-long episode, and then I'm going to like really tackle the homework at whatever level they feel comfortable at. So it's that person that really wants to get um, to, to get better, right. Is, is really driven, I think. So, so I guess what I was going to mention is that, um, that about halfway through, so, so I've been doing it for a year. Uh, I started a scholarship for women and student developers. And so this was around, I was saying that there is a gender gap in our industry, right? And we've seen a lot of good in the last year, but we've still got a long way to go. And so the scholarship is like 80% off the course. And so it really helps to encourage women and students to join and to really nail it.
Starting point is 00:38:57 And so that's been pretty successful in the, in the last year. Um, but so as far as like how many students, I think we just crossed 150, um, over the, the full year. Um, and so, so yeah, so, so a lot of people have taken, taken me up on it. And so I've, I've liked, um, you know, getting to know everybody and, uh, and seeing everybody make my code better. Yeah, I wanted to ask you about that because, I mean, that's definitely been a hot topic for the past few years, just between diversity and, you know, you got the term, I think it's been mentioned a couple times here.
Starting point is 00:39:38 We try to, I guess, not so much avoid drama on the show. We just try to focus on the things that are positive. But that doesn't mean that we want to not talk about touchy subjects because we just try to be i guess the straight line down the middle and not try to be opinionated but more so shine the spotlight on the people that are doing really cool things in open source and software development and extract what we can but you wrote a post on this actually you know it was called the one where i have to explain why i want diversity in our field and i think that this is something that's been talked about quite a bit um and you'd mentioned it's a fan of the show ash dryden
Starting point is 00:40:14 she was treated horribly sarah parmenter uh somebody you hadn't even spoken to was treated horribly and then this is what spawned the desire to do this. Was this post way before this scholarship that you opened up, or is it just before? I think it was the—I think the scholarship was available for maybe a month or two before. Okay. So it wasn't—that post did not say, hey, I should do the scholarship, right? I've been seeing those things around, and I've just been thinking like, hey, I can do something. What can I do? And so this was before Rails Girls existed.
Starting point is 00:40:59 And so I was like, well, I have this thing. And if people learn Ruby, they can make more money. And if they can make more money, then they can make more decisions about their life. And so I said, all right, so what I'll do is we'll have some people that can do it for free and then others give a big discount. And so we kept going with the discount and to try and and encourage behavior just to try and make people feel more welcome i like the way you said that though like what can i do right and i think that um just to be as openly and honestly as possible about the i guess the topic really is that it's obviously uh gender-sledded where it's more of a male-dominant industry. There's many of us who really, really want to make that more diverse. But being able to,
Starting point is 00:41:52 like, for example, here at The Change Law, I've been looking for ways that we can do that a bit more. We have one woman writer on our, and we've talked about her plenty. I work with her at Pure Charity. She's super awesome awesome woman awesome programmer awesome everything her name is beverly nelson but you know sometimes i feel like um you can kind of get in this deer in the headlights kind of stance to the subject because you don't want to fall on the wrong side accidentally you know it's it i don't know if that's an easy way to put it, but indirectly somehow you do something that offends, not because you really try to, but just something didn't come out right.
Starting point is 00:42:34 Or you said something that, for example, a formality might be to say, hey guys, when you don't really mean hey hey, guys, you mean, hey, guys and gals. It's funny because Wynn and I, we used to do this course at Lone Star Ruby Conference called Design Eye for the Dev Guy and Gal. And we actually had and gal, and it was kind of cool because it's kind of a Texas thing, right? And gal. Right.
Starting point is 00:43:01 But, you know, it's a very touchy line. But I like the idea of what you said, which is, you know, what can I do? And I think more people can stand up and say that, what can I do to show, you know, show that I want diversity or to help enhance it or to do whatever I can personally do to make that a priority for, you know, our community. Yeah, right on. I totally, I totally agree with that. Because there's a huge difference between noticing that something should be done and, you know, taking the stance that you have where it's like, you know, let me actually do something instead of just tweet about it.
Starting point is 00:43:43 You know what I mean? Yeah. Let me actually do something instead of just tweet about it. You know what I mean? Because there are countless people that will talk about it on Twitter. And because it is an important issue and it is a hot issue more recently, maybe because we just barely noticed. I don't know. But, I mean, it's something completely different when you say, look, I'm going to do something proactive and try to make a change. 100%. On one of your posts, I'm just curious if you still honor this,
Starting point is 00:44:19 because you said it's 80%. And here it says, TLDR, I am offering 100 100 scholarship to the six-week ruby off rails class for up to five women software developers apply here are you still if someone applies to that are you honoring the hundred percent just curious so i right now i don't know how to make it happen with the year-round sign-up anytime you want scholarship. So what I mean by that is when it started, it was once a quarter. Ah, okay. And so it made sense that each time that I did it,
Starting point is 00:44:52 I could pick five students that, you know, have them apply and pick five students that would get a full scholarship. And we didn't have the 80% off at that point. And so we added the 80% off, I think, or I did, the next quarter. And then in the last, so what would have started in June would have been another course, right? Another episode. And I changed it to available anytime. Start when you want. Do it at your own pace. You're not limited to 12 weeks anymore. And the downside of that, at least that I've seen, is I didn't quite know how to do the full scholarship. And so I've been playing with some ideas there.
Starting point is 00:45:36 But, yeah, I think if anybody emailed me, right, so if anybody wants to email me, like, we'll talk and we can make it happen. But I don't have the mechanics down there yet of how to do that gotcha um it could be as simple as just ask for it um and we can see right um but i don't know i don't know yet so on the topic of of this scholarship both for students as well as women what has been you, give us some success stories from this or even, you know, fail stories. I don't know. A good story from how you've seen you being able to do something and what the impact has been. I've seen, let's see, some of the, what, for the, I've seen more success with people that pay 20% than I have with the full scholarship.
Starting point is 00:46:28 Wow. And I don't quite know if I can draw conclusions to that other than maybe if I got something for totally free, I wouldn't put much value in it. But if I pay for it, even if it's just a little bit, then I value it a little bit more. But I've seen that. But I – let's see. Otherwise, I've seen some of the women students take and like at a higher rate than the men finish the course and like totally knock it out. So – and then I've seen some of them go on to work at other places. And so I'm excited about that, about seeing success like playing a small part in their success.
Starting point is 00:47:22 And so I tend to follow and talk to them on Twitter and stuff like that. And so, yay, students. That kind of brings up, I guess, the backfill of that question, which is placement. If you are a teacher and you have many students, it would make sense that others who are employers would come to potentially you to see who are the next candidates coming out of your most recent courses that would be great applicants for these positions I have open. Yeah, absolutely. And so a couple times in the past, people have done that.
Starting point is 00:48:00 Like, hey, I'm looking for people, especially people that know and like Ruby, you know, what can we do? And so, you know, you make instructions and ask people if they're interested. You know, like most of the conversations that go that way, the number of people that are looking for jobs is much less than the number of people that are looking for jobs is much less than the number of people that are hiring for jobs. So that, that seems to be one constant. Well, that's a good thing, right? Yeah, absolutely.
Starting point is 00:48:33 I think it is a good thing. Yeah. Cause I, cause I remember certainly what it was like in 2002 and three, right. Or, um, where them be rough times. Yeah, them. Yeah. So on that note then of helping people get placed, for those who are listening that are fans of the changelog in this show and they happen to be running a company, they have some positions open, and let's say they have some Ruby positions or Rails positions open, how would they reach out to you?
Starting point is 00:49:04 What is the process of getting on the proverbial list to to be notified of like new applicants and is this something that you're going to be formally introducing as like i imagine this has got to be a revenue opportunity for you as well that's interesting i um right now it's totally informal um so i may change that like you're're suggesting, to something else. I'd like to be able to do something like Jeff Casimir is doing with their G-School program, where you see they have, at the end of their course, they can bring companies in and show off and really show off the projects and the students and say, hey, you should hire these people, right?
Starting point is 00:49:48 I think that would be so fantastic. And so probably what I need to do a better job of is getting the word out there more about Ruby Off-Rails and then sort of completing that cycle. But let's say that right now there are people that want to hire people. Email me at j at, uh, Jesse, J E S S E at rubyoffrails.com. And, um, and I'll hook you up. Yeah. I think that's an important thing because I mean, it kind of completes the cycle, right? I mean, one, you got into it because you have a heart for teaching and mentoring and you kind of got, uh, uh, you iterated, I guess, into it because you were doing it so well for a number of years. And it came to a point where you're like, let's actually make this into a course that scales a little better.
Starting point is 00:50:35 And now you're kind of at that point. And it would even be as a value add for me to take – like you had mentioned, your most premium course. And I want to go back and look at what that is actually before. Which I think you have what, a Ruby, sort of the applied Ruby theory, which is like your mainline course. And you probably get sticker shock from this sometimes, at least whenever I first looked at it, I was like, whoa. But then again, like I said, I didn't that uh mentorship was such a huge component of it so you've got your your premium course which is like almost well almost 500 bucks but uh you know if you're a
Starting point is 00:51:15 student or a woman you can apply for a little bit less um but i guess the point there is is that you know you kind of iterated to get to that point, but a value add of me saying, okay, well, I'll shell out $500, get you as a great mentor, be able to go through all these different courses and get homework and really focus on this. But out the other side, I know Jesse has also not only helped me learn the Ruby and Rails ways, but I'm also learning how – or I'm also getting an opportunity at the end of potentially just walking into a good opportunity. I'm still having to obviously do what I got to do, but you know, you've kind of teed up some opportunities. Yeah. I think that's a great idea. I'd definitely take that down. So we have two common questions and I kind of miss Andrew on this one because Tim, you don't know the questions, but normally on the show we wrap things up by asking for a call to arms. You've got a wide landscape of programmers out there, newbie programmers, well-to-fit programmers.
Starting point is 00:52:14 But in what way, with Ruby off-rails or any other open source program or project you're working on, how can people lift up what you're doing? How can people take part in or do more with whatever you're doing? So it's interesting. I wrote down here what I – when you told me about the call to arms with open source and stuff like that. And so what I wrote was that I recommend that everybody either join a Rails Girls. So this is a local organization that goes out and does free workshops to teach both women and, you know, but mostly women, but men can come too if they bring somebody that wants to learn. And so these workshops are free and they're great. So join one or start one, are free and they're great.
Starting point is 00:53:09 So join one or start one, find one and coach at one, or just donate to one. So, like, I'll find if I hear about one and I'll ask, like, hey, how are you doing? And then, you know, like, donate, like, buy breakfast for everybody or something. And so that works with me for, hey, these people obviously have, you know, an interest in Ruby. So then, you know, we do a coupon or, you know, stuff like that. So I
Starting point is 00:53:32 recommend everybody, you know, go to one or look at what tutorials they have and learn and submit and help with that. So along that is try and create like just getting started tutorials for people and then have them and then, you know, blog about them. I know that a lot of times we like to write posts that are, you know, 10,000 words long and are treatises about the intricacies of – Dissertations, theses. Yeah. Theses. But if you're – like what works great, Adam, you mentioned it earlier,
Starting point is 00:54:14 is the Jumpstart Labs tutorials. Those are fantastic, I think. Those are really, really good. I love the pace that Jeff teases up with. I don't know if Jeff is the sole maker of those. I know he's got Steve Klabnick also part of the changelog here. He's a teacher at G-School. So I don't know if other teachers at Jumpstart take part or G-School take part, but I love the pace that those are.
Starting point is 00:54:40 Those are really great. Yeah, so fantastic. And so create stuff like that that helps yeah you know and and say what they are you know are is this for beginners or is this for intermediate or the expert i think that that's some of what's missing um about that that's out there um okay so that's that's mine that's yours I also want to add something to that because you mentioned Rails Girls. And for those who are fans of the changelog here in Houston, for one, if you see me around, say hi. Two, Rails Girls is coming to Houston July 26th to 27th.
Starting point is 00:55:24 So you can actually go to railsgirls.com slash Houston, of course, and RSVP on Facebook to do that. As Jesse mentioned, you're welcome if you're a man, but you've got to bring a woman. Who wants to code? So I think that's a prerequisite, right? Something like that. Yep, that's exactly right. Yeah, and I think the other cool question we get to ask on this show, which I think is, you know, we kind of joked in the pre-call about it could be a top ten list if you wanted. It could be like David Letterman style, you know, count down from ten to one if you want.
Starting point is 00:55:49 If you've got ten, great. But who is your programming hero? Okay, so I had three, and I tried to cut any one of them down, and it just couldn't happen. So number one is Aaron Patterson, so tender love on, on, on Twitter. Um, and so, I mean, he's just been tirelessly making rails better and he's also got like a slew of other projects. Um, and, and so like what he's been doing in the rails code base, crazy, awesome. Um, and then he's really been pushing the state of the art of pun-driven development. I mean, if you just go and look at his repositories on GitHub, they just make you laugh.
Starting point is 00:56:32 I just saw something on Twitter. I think it was something pun-driven something. Recently, like literally yesterday, I about fell over laughing. I'm pretty sure that's it. I did not make that up. I saw that on Twitter. Okay, so number two is uh is yahuda cats so for someone who has not been programming all that long to to been involved in like mer jquery rails three and ember i mean it's just crazy um crazy talented so um so yeah props that and then last then last is Uncle Bob. And so, I mean, I just hope that I can be programming in 30 years telling everybody that they're doing it wrong. You know, something like, hey, back in my day, we had to worry about memory and threads. So yeah that that's my three there you go um i'm gonna i guess tee up a maybe a brand
Starting point is 00:57:28 new question for the show which is if you weren't programming in ruby or i guess for future guests this be if you weren't programming whatever language is your choice which would you be programming in so um i've got three that i'm looking at right now, trying to decide which one I really want to dive into. So I guess I'm going to not answer your question, but I will talk about three programming languages. One is Go. My trouble with Go is its syntax.
Starting point is 00:58:03 Coming from Ruby, it sort of grates on me. Is it the camel case that gets you? it's not so much the camel case but it's the uh it's the colon equals to do assigns uh i spent some time um in delphi and it brings up it brings up bad memories and, but it does like straight performance wise. Um, I mean, it just, it just nailed it. So,
Starting point is 00:58:29 um, I think to learn, to not learn that would be, um, not a wise decision in the next couple of years. Uh, other than that, I really like,
Starting point is 00:58:40 uh, Elixir, right? Is a, is a fun little language on top of Erlang. Um, and then the last, as all Ruby programmers eventually talk about, is Clojure. And so what's interesting about that, right, is like two functional languages. So that's sort of my next thing to tackle and to, to, to, to look at.
Starting point is 00:59:05 Very cool. Well, Jesse, it's definitely been a fun having you on the show. Um, I think it's really awesome that you're like Tim had said, you know, you're, you're kind of being the teacher, being the mentor and maybe even being the placement person, um, for some future students that you have. Um, uh, it's been obviously great having you on the show. We broadcast this show live every Tuesday at 5. I know this show was aired a little earlier than normal,
Starting point is 00:59:33 but that happens sometimes. So catch us next Tuesday at 5. We're not sure on the guest chat, and I know Andrew is pinning down a couple new guests, but definitely tune in. So thanks, Jesse, to you for joining us. And Tim, especially thanks for you to be a guest host today.
Starting point is 00:59:50 It's definitely fun having you on the show. So let's say goodbye, guys. Bye. Bye. We'll see you next time.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.