The Changelog: Software Development, Open Source - Ruby off Rails (Interview)
Episode Date: July 22, 2013Adam 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)
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.
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.
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.
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.
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?
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
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...
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?
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
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.
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.
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,
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
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
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
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
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
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
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.
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.
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.
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.
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.
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
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.
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.
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
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.
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.
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.
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?
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.
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,
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.
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.
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,
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.
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
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.
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,
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.
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.
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.
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.
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.
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
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.
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?
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
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
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?
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
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
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.
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.
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.
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,
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.
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.
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
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.
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,
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.
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.
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.
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,
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,
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.
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.
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.
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.
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.
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?
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?
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.
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
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.
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.
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
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,
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.
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.
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.
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.
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
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.
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,
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,
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.
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,
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.
It's definitely fun
having you on the show.
So let's say goodbye, guys.
Bye.
Bye. We'll see you next time.