090 RR Ruby Nuby Episode

by Charles Max Wood on January 30, 2013

Panel

Discussion

00:43 – Ruby Nuby Project

04:11 – Learning Ruby

09:56 – The Ruby Community

12:41 – Beginner Tutorials

17:13 – Diversity Within the Ruby Community

25:21 – Challenges Facing Nuby Developers

34:56 – Experts, Novices & Mentoring

41:52 – Pair Programming

47:05 – Community Heroes

53:20 – Technology

Picks

083 RR Decomposing Fat Models with Bryan Helmkamp
041 RR Code Metrics with Bryan Helmkamp

Once again, big thanks to RailsCasts.com, RubyMonk.com and The Pragmatic Studio for their generous support!

Book Club

Patterns of Enterprise Application Architecture by Martin Fowler

Next Week

Ruby’s Design Process with Brian Shirai

Transcript

JOSH: The first time somebody recognized my voice from the podcast, he thought I was David Brady.

CHUCK: Oh really? [laughs]

JOSH: He’s like, “Oh my god! I know your voice from somewhere!” I’m like, “Do you listen to Ruby Rogues?” “Oh my god, you’re David Brady!”

CHUCK: [laughs] You have more hair than David. It comes across in your voice.

[Hosting and bandwidth provided by Blue Box Group. Check them out at bluebox.net.]

[This podcast is sponsored by New Relic. To track and optimize your application performance, go to Rubyrogues.com/newrelic.]

ELISE: Welcome to the first episode of bizarro Ruby Rogues; featuring Erin, Matt, Geoff and me – Elise Worthy. Where have your regular hosts gone? I have no idea. Erin, do you wanna go first?

ERIN:  Sure. [laughs] Hey everyone. My name is Erin Parker. I’ve been learning Ruby on Rails since August of last year. And I’m using it to build a site called Spitfire Athlete, which is a fitness network for women.

ELISE: Matt?

MATT: How are you doing? I’ve been using Ruby for about a year and a half. And I’m just working on a couple of personal projects right now — or projects that I hope to release soon. And that’s about it.

ELISE: Geoffrey.

JOSH: Hi I’m Geoff Petrie. I’ve been working with Ruby for probably about 4-5 months now, but on and off for a few years. But this has been really the first time I’ve been diving further than just sort of a cursory look.

ELISE: Cool. And I’m Elise Worthy. I have been dabbling with Ruby for the past two years. But earlier this year, I was accepted into LivingSocial’s Hungry Academy program and was in an intensive developer training program for 5 months. And have been working professionally as a developer for the last 6 months. I guess we should introduce our other two hosts. I don’t know, what do you think?

JOSH: Everyone knows us already right? [laughs] Good morning folks. This is Josh Susser, one of your regular Ruby Rogues, visiting bizzaro world.

CHUCK: And I’m Charles Max Wood. Thank you guys for having me on the show; I’m so excited to talk to you. I love this show.

[laughter]

I’m working right now on a course for people who want to learn Ruby on Rails and you can sign up for that at railsrampup.com. Basically, the highlights are I’m going to get you to the point where you’re building and deploying your own Rails app. And you get basically unlimited access to me as you are learning how to do that. So it’s an eight week course; I figured that’s long enough to really help you get through the hard part. Anyway, that’s what I am working on. And again, thanks for having me on the show. I’m a huge fan.

JOSH: [laughs] Yeah. Me too! Me too!

[laughter]

So Matt, I was wondering if you could settle a bet for us; do you actually know how to pronounce your last name?

MATT: “Ruzicka”. Although, anything works; I don’t actually think… I’ve heard a Czech say my last name before and it kind of blew my mind. It’s a Czech name, so about anything works since I realized that I don’t even say it correctly.

[laughter]

It feels like “Ruzicka” or something. I don’t even know.

JOSH: [laughs] Well, then I guess James was right.

CHUCK: He just has a really fuzzy regex for his last name.

[laughter]

JOSH: I’m sure the soundex configuration for that name is pretty – never mind.

[laughter]

So yeah, this episode has been a long time coming. I’m so excited to be on the show with you guys this morning. We now have people on Ruby Rogues who can talk about stuff for a huge part of our audience that we haven’t been able to address on our show. So I’m excited to be on the show with you all and hear what it’s like to be new to Ruby and the Ruby world.

ELISE: I actually have a question for everyone; I’m interested in what made you start learning Ruby. Like, what was the first little spark that made you interested in learning?

MATT: So about two years ago, I just like had all these ideas for websites and I realized that I wasn’t going to be able to pay a developer to do it. So I figured it was worth exploring the world of programming and I just sort of fell in love with programing. And then over the summer, I just decided that I wanted to master a language and I found the Rails tutorial and it was going through like building a Twitter clone, which at the time was basically all that I really needed to know how to do to get my idea up and running. And so Ruby just seemed to have the support system to get me started and I’ve really enjoyed it. So it was really ideas; like having ideas that I wanted to build of my learning process.

GEOFF: And Matt, what drove you directly to Ruby though?

MATT: I went to some programing meet ups and people… it’s really, really tough for beginners to decide on a technology. Like you hear PHP, Ruby, Python, Java – all these things and all these people who use our technologies are going that theirs better and it can be really confusing to choose one. So… but people kind of just pointed me to the correct resources for learning Ruby and I just went on there and it seemed to be exactly what I was looking for. So it was sort of luck that I ended up doing Ruby, I think.

GEOFF: [Laughs] Nice.

JOSH: I guess the question is — good luck or bad luck?

[laughter]

GEOFF: Yeah so for me, I’ve been working as a developer for a while now. And I was basically drawn… I needed to break out of sort of a rut that I was in. And I was feeling a bit discouraged and sort of under whelmed about where my next steps are going to be. This was basically a last attempt for me to try to get reenthusiastic – is that even a word? – to get enthusiastic again about what my next steps would look like. And what was great was that when I found Ruby and I found what was behind it, was this real interest in not just sort of the standard experience of looking at being a developer and the things that come along with that, but also sort of the more to do — and I know this is a loaded phrase — but also the craftsmanship behind it.

So there was a real sense of ownership of what you were doing instead of just shipping your shipping good stuff. And really that’s what was the thing that got me excited about learning Ruby and that’s really what’s been driving me since is that when I found this resources and the people behind it – many of them at least – were so excited about building really solid stuff that it was very difficult for me to not be enthusiastic about the future in development again.

CHUCK: What about you Elise?

ELISE: My best friend from high school is named Jesse Proudman and he owns a hosting company. Actually, they host Ruby Rogues – he owns Blue Box. And he’s always been sort of the model for who I consider a programmer. I’ve known him since he was 13 and he’s a really cool guy – not kind of your stereotypical programmer. And I have the opportunity to go work for Blue Box and went to Ruby Conf 2009 and was totally blown away by the rest of the people in the Ruby community; just how kind everyone was, how accepting everyone was. I got to meet just dozens of people who were and exciting and it made me kind of jealous [laughs] like I wanted to be involved other than just a marketing person. And so that kind of peaked my interest. And actually, the first book I bought was Peter Cooper’s ‘Beginning Ruby’, I think or maybe it’s just called ‘Ruby’ and right when I start at that job and slowly made my way into learning some Ruby.

CHUCK: What about you, Erin?

ELISE: Yeah. So back in April of 2012, I actually was looking on meetup.com for something to do on the weekend and there was a Rails Bridge for women, that was hosted at Pivotal Labs. The messaging of the meet up was very beginner friendly. So it was like, “Hey you can come from all backgrounds, all levels, doesn’t matter — we’ll teach you how to build a Rails app from start to finish by the end of the day.” And I was like, “Wow. If there’s anything I should do this weekend, it’s this thing.” And I actually didn’t even know what Ruby on Rails was outside of ‘some technical thing’. I just knew it was a technical thing and I just thought it sounded fun.

But I went and it just opened my eyes completely. I saw so many possibilities. And I always just kept it in my back pocket. And it wasn’t really until August later that year when I wanted to build Spitfire in some way, shape or form and I only knew HTML and CSS. And I was just ready to dive back into what we started at Rails Bridge and since then, I’ve just picked it up and committed to it and started with Try Ruby and continued on with Michael Hartl’s book and just went on from there.

JOSH: So that sounds really cool. It sounds like three of you guys didn’t have any programing experience at all – or very little – before coming to Ruby. Geoff, you have been programming before right?

GEOFF: That’s right. Yeah.

JOSH: But Erin and Elise and Matt, you all just came to programing through Ruby? Which I’m kind of jealous.

ELISE: [laughs]

GEOFF: Honestly?

JOSH: [laughs] Yeah. I started with BASIC.

CHUCK: [laughs] So did I.

ELISE: Yeah that’s really… I do feel really lucky. I think it was just mostly chance. But I’ve been able to… like I went to PyCon and I was just at CodeMash, and I feel really lucky in the Ruby community.

CHUCK: So what is it about the community that you find different? Because I’ve been to a few programming conferences and I’ve noticed that the feel is different as well,  but I’m curious what your experience is.

ELISE: You know, I don’t know if that’s something that I can describe. I meet more people at Ruby conferences. And I have no idea why, but at CodeMash, I actually gave a talk on integrating novice developers into existing engineering teams — which is really fun and terrifying. At the beginning of the talk I was like, “Hello. Please introduce yourself to me because I have no friends here.” [laughs] Like, I would have to be your friend afterwards. And I definitely never feel that way at Ruby conferences. I didn’t feel that way in my first one. I don’t know. I think something about the language attracts people that are either like me or friendly or who knows.

MATT: Yeah. When I was living in New York, for a while about every other week I was going to the Ruby meet ups there. And usually they host at Pivotal Labs and it was just a really exciting atmosphere; you have almost nearly a hundred people depending on the night and everyone just talking about the newest happenings in Ruby or Hacker News articles and free beer. And it just kind of a great gathering to just hang out with other people who are learning the same thing and going through the same thing as you are.

JOSH: Now you are making me nostalgic. I really liked the New York Ruby Meet-ups. Are they still all about the bad pizza?

MATT: I liked the pizza. I actually used that as an excuse to go all the time. It was like, “Oh boy, I got to eat dinner somehow.”

[laughter]

JOSH: Ok. I guess Pivotal is in a better part of the city where you can get better pizza.

MATT: Yeah. Maybe.

JOSH: Yeah those were impressively large groups that would turn out in New York. So that’s a good group of people.

CHUCK: So I’m wondering a little bit, is there something about the community that contributes to making it easier for new people to come in?

ERIN: One thing I noticed… So I think it was earlier this week I started trying to learn a little bit more about CoffeeScript and Backbone and some of the JavaScript frameworks, and I was kind of surprised of how hard it was to find basic introductory tutorials that were good. And I think I’ve definitely been spoiled by all the high quality introductory tutorials in the Ruby on Rails community that are easy to pick up, well explained, very simple to go through.

But most of the – I don’t know – maybe this is just because I haven’t been in it enough yet, but it just wasn’t as easy. And like, I couldn’t find a RailsCasts equivalent for it. So I definitely think it’s easier for you to find beginner tutorials in the Ruby community and to just have all your beginner questions answered on at Stack Overflow, which is just been really nice.

ELISE: Well it’s actually been really funny. So Erin, do you know PeepCode?

ERIN: Uhh… no. [Laughs]

ELISE: Oh, awesome. So I am the luckiest beginning Rubyist ever because I used to live in Seattle and PeepCode is done by Geoffrey Grosenbach. And Geoff was in Seattle.

JOSH: Otherwise known as ‘topfunky’.

ELISE: ‘topfunky’.

CHUCK: Yeah; on Twitter and GitHub.

ELISE: Yup. And he is one of the really amazing Seattle.rb folks, but he does a screencast series called ‘PeepCode’. One of my original picks was his CoffeeScript tutorial. [laughs] It’s really good. So that’s a total side. But I think you are right that the Ruby on Rails communities have really good tutorials and I think some are branching out into JavaScript, so that is kind of a lucky transition for me. [laughs]

GEOFF: That’s the drive in the community though, isn’t it? I mean that’s part of the reason why I’ve been so excited about going into Ruby further is because it doesn’t end there – it’s the people that are behind this that are constantly driving… I mean that was a perfect example; not only are they driving towards producing better Ruby code, producing better Rails apps, producing better whatever, but they are also talking about the spectrum of what your stack is going to look like which is these things like JavaScript or CoffeeScript or what have you. And that’s really the fun part about all of this.

ELISE: Yeah, I couldn’t agree more.

MATT: I just went to a Ruby meet up about a week ago and I did a talk on turbolinks and I was thinking its Rails 4, it’s great for Ruby meet up. It ended up all being about CoffeeScript and but that was interesting. So as I was like, “Wait a second, there’s no Ruby in here.” [laughs]

JOSH: I think there’s a lot of polyglot-ism… Is that a word Geoff? [laughs] ‘Polyglottery’ in the Ruby world.

GEOFF: Absolutely.

JOSH: Yeah. Like if you go to a Ruby conference, there’s always a bunch of talks that are not even remotely about Ruby. It’s kind of amusing, but I think the cool part of the community too. For people who have been… like Elise, you said you have been going down like Pycon and other conferences, do you get that same sort of ‘polyglot’ perspective at the other conferences too?

ELISE: I think so. I mean… so I don’t have that much experience, [laughs] so my opinion is very limited but, I appreciated that a lot of the workshops and sessions at CodeMash were introducing different technologies. And so if you were a .NET person, you could go to a Ruby course or a beginning Django workshop or something like that. I do feel like there was some polyglottery… [laughs] polyglot of them there. But I think the mesh between – and someone correct me if they disagree with this – but I think the mesh between Rails and JavaScript –particularly CoffeeScript — is pretty symbiotic and were moving in that direction. And I think that’s pretty cool.

JOSH: So I have a question for all of you — since we have been talking about community – it feels like from within the echo chamber of the Ruby world, that the Ruby community is both really interested in doing something positive around diversity and also sometimes struggles a lot with the topic. But there’s a lot of people in the Ruby world who really want to create a more diverse community and make it welcoming for all sorts of people. So I’m curious, since you guys are new to the community, how well are we doing?

ELISE:  This is a pet point for me [laughs] and Josh you know that.

JOSH: Well, yeah, this is pet point for me too. So, how about it?

ELISE: So, everything that’s worth doing is very hard, I think. And being involved in programing as a woman is no exception. I think the Ruby community and the vast majority of the people in the Ruby community are very wonderful and accepting and pro diversity. But then, there are just some total jerks [laughs] that are not accepting and have very limited views and don’t even want newbies around. And it makes it really difficult because it’s challenged my life view. I mean, what I’m really passionate about. And it makes it incredibly difficult as someone that doesn’t look like everyone else at a Ruby conference; it makes it really challenging. So yeah, it’s something I struggled with frequently.

JOSH: Ok. And anyone else?

ERIN: Yeah. Actually, what’s interesting was when I went to Rails Bridge — the very first one – I think there were definitely well over a hundred women there and that was my introduction to the Ruby community. So I guess I have a slightly different perspective, because not only did I see a room full of women who are all interested in programming, but what I saw a lot was women who came from non-technical backgrounds who are now developers.

So there’s a girl who majored in philosophy and she came to Silicon Valley and was like, “Hey I just wanna learn how to program. I realize I can’t get a job with my Philosophy major.” And she started reading Ruby books like they were literature; like form start to finish and started picking it up and now she is a developer at — and I was just amazed. I met a lot of people like her. That community, I’ve been more involved in it as time has gone by.

And I also recently… that same day, a friend of mine who is not related to tech at all — she’s actually a student in Optometry — she texted me and she is like, “Hey Erin, I wanna go party with you tonight.” And I said, “Well, not partying, but do you wanna come to women who code?” And she laughed and she said, “Oh, OK sure I’ll come.”

So she came and she just had an open mind and met lots of women there. And at the end of the event, she said to me, “Wow. I’ve never seen so many smart driven women in one room. It makes me feel like I can be in tech too. And I now view this as one of the opportunities I could pursue.” I just think that’s incredible. You know, it’s very open-minded.

But to Elise’s point, like there are definitely people who have messaged me and have said things like, “Hey, are you actually a programmer? Do you really code?” “Are you fake?” [laughs] I’ve actually gotten that before on Twitter – twice — by two very random people and I was kind of surprised that someone dare ask that but I responded and I said, “Yes I am. And here’s my GitHub. I actually do what I say I do.” So there’s definitely a little bit of that.

JOSH: Wow.

GEOFF: That’s appalling. That’s just appalling.

ELISE: That happened to me at CodeMash too. Someone was asking me about a job, unbelievably and said, “So are you a designer at LivingSocial? Do you actually write code?” And yeah…

ERIN: Yeah… [laughs]

ELISE: It’s like, “No. I really do.” [laughs]

JOSH: Yeah, “Whose girlfriend are you?”

ELISE: I know right?

[laughter]

CHUCK: Yeah. It’s funny though because at the same time, I’ve walked up to groups and said, “OK well, how long have you been coding and where do you work?” And I’ll get to somebody how *is* actually the girlfriend [laughs] and they are a little embarrassed. But yeah, I think the assumption one way is much more acceptable than the assumption the other way.

ELISE: Definitely, yeah.

JOSH: If you are at a conference for developers, I think it’s fair to assume that most people there are developers.

CHUCK: Yeah, I agree.

GEOFF: There are things like Rails Bridge that are just outstanding though. I just know it on a very cursory level. We don’t have anything that deepens the community out here — that I’m aware of at least. I know that the technology grouping in Albuquerque in New Mexico is definitely working towards broadening or creating a more diverse network of individuals. But I think that it’s just something that we just need to continue to work toward without even questioning — like Elise said — anything that is worth doing is worth working for.

And you know, for me, I don’t have the same sort of… being a white male, I have definitely some different… I’m in a different position than a lot of the people are. And you know, but the thing for me is that I have two daughters and so this is an important issue for all of us, but it’s also near and dear to my heart for sure.

CHUCK: Yeah. I have two daughters as well. And you know, I mean one of my daughters is very artistic and my other daughter is 3 and hasn’t really shown a whole lot of interest in anything either way. But at the same time, I want this to be open to them if they decide they are interested. And I’m definitely going to expose them to  that. Say, “Look, here’s how you program, here’s how you learn.” And then if they are not interested, then fine, they can go do these other things.

But yeah, I think a lot of this discussion goes into the math and sciences areas. I think there’s… it’s not an explicit bias, but it’s an unspoken bias that we kind of push the boys towards math and science and the girls towards home making and you know, other stuff. I think girls are as good at it as boys and sometimes they bring a perspective that I just don’t see. And so there’s some real power there that we can get — if we open things up.

GEOFF: In not my current position, but in a previous job, I was actually a technical manager of a development team and I had the really good fortune of working with two talented developers. And I had the really great opportunity to learn from a woman who have been — who is — still a fantastic developer and was a great experience for me there. And it definitely helped me improve as a programmer in the future, working both of them. But you know, just the point being that gender is simply just not an issue.

CHUCK: Alright. Well I kind of wanna ask another question. So if there’s nothing else to be said on this — I’m sure there always something else to be said on this — but if there’s nothing else that we wanna share at the moment then I’m going to change the track just a little bit. What I wanna know is what are the challenges that face new people coming in to Ruby? Like I said, it’s been… I learned Ruby in like 2006 and so, I mean the community has changed, the language has changed the environment that we work in has changed and so I really don’t know what it’s like for people coming in now and what road blocks come up for them.

ELISE: I saw something really interesting on… I think it was Twitter yesterday… actually no it was on Parley. Jeff Casimir was quoting Steve Klabnik and said, “If you are learning Ruby now or like learning Rails now, it’s like starting a soap opera on the 7th season.” And I think that’s absolutely true. I mean, I know — even in the past couple of years that I’ve been involved in Rails — things have become different. The tutorials take time to catch up. And so, even just the tech changes can be crippling if you don’t know how to debug, if you don’t know what error messages mean. One small change — like Ruby 1.9 Hash syntax — could you know, take up hours of work for a newbie just to figure out.

MATT: Yeah. I almost quit programming the first day I tried to install Rails. I think it took me about 4-5 hours. I mean now I’m used to taking 4-5 hours to solve a problem, but I think there’s just like a one liner that I didn’t have in some bashrc file or something and it was just a really, really simple problem. But when you are new, you are not familiar with the command line; you are not familiar with just the whole environment — so everything is new.

I was thinking about this recently because when I was at the Ruby meet up, we had someone who is new there and they were interested in learning Ruby. So I thought I would help him out and help them install the new version of Ruby because it’s 1.8.7 I think. And we just kept running it, like every time I try to install some software, we needed another piece of software and eventually it hit a dead end because it needed x code. And I remember having to do that on my own and it was day long process so. So, just getting the environment set up can be a big barrier; which is why things like Code Academy are nice because you can hit the ground running. They have the environment online.

CHUCK: So I have to ask then; do tools like RVM and RailsInstaller and things like that make it easier?

MATT: Yeah. I think… I’m with Homebrew I just brew install whatever and it just happens. That’s great, but if you are new you don’t even know about Homebrew. So like you see all these things like how to install and you could either do one line or you mess with a bunch of configuration. So it’s just like I think it really helps to reach out with the community and I think a lot of the Ruby meet-ups, they are great place to like get in contact with someone or ask them to like, how do I get set up? What should be looking out to get started?

ELISE: It took me months to get to my environment set up. I tried so many times by myself. I’m pretty stubborn and I’ve gotten a lot better at asking for help, but literally four months to even get my environment set up. And this was… is RailsInstaller available for Mac now?

CHUCK: I’m not sure.

ELISE: It’s still just Windows? I know in the workshops RailsInstaller is widely used and everyone loves it and…

JOSH: I believe that tokaido — Yehuda Katz’s thing that’s like a RailsInstaller — is coming along.

ELISE: Oh cool.

JOSH: Yeah. He’s making good progress there.

CHUCK: RailsInstaller.org does show a kit for OS X.

ELISE: Awesome.

ERIN: One thing I wanted to add is as a beginner, getting started with TryRuby, Code Academy and Learn Ruby the Hard Way, I think what’s great about those tutorials is you can… it’s basically a perfect closed universe, right? There’s a question and there’s a right answer. And if you don’t get it right, you just come back later and try it again and you move on to the next tutorial and you feel like you are making progress. The harder leap is when you actually have to push something live and you are [laughs] not sure where in Rails your app needs the most work or where things are falling apart. I think the imperfect universe of that is harder to deal with. But as far as introductory tutorials, it’s just great that there’s so much out there to get you comfortable with Ruby.

I think another thing that as a beginner, I struggled understanding at first was migrations. Migrations definitely tripped me up. And everything related to the controller view layer. So, when you put something in the controller and you hope it shows it in the view. I’m not sure if those are the best words to describe it, but a lot of tutorials don’t go in depth enough into the mechanics of that. I often times find myself guessing like, “Oh, I think I put this in the controller and I hope I called it in the view properly and then checking.” And then also learning like the different ways to do that. I think those like environments are a lot harder to get going with, but as far as the basic tutorials, there are so many great things out there.

MATT: When I started out, I followed a lot of tutorials, and they were really great because they got me like in the work flow, but I find myself a lot of times just sort of copying what the tutorials without like really understanding what I was doing. And so then when I’d go off and try to do my own app, it was basically almost every time I ran into a problems of like, “How do I add comments?” or whatever, I would just Google like how to do it every single time and I wasn’t really programming creatively. And it took a while before I could actually start solving my own problems and not just look on Stack Overflow for like examples of how to do something every time I wanted to do any new idea.

GEOFF: That’s kind of the life of a developer though in general, isn’t it? Where you basically have some fundamentals under your belt and you try to build up those as best as you can, but you are going to often times hit a stumbling block where you just don’t know what the next step is going to be and that’s where you need to reach out for either a Google search or Stack Overflow or what have you. So, what you have described there Matt, I don’t think is any different than anybody else for sure because I think it was certain in the case for me in my entire career for sure.

ELISE: Yeah. Now I’m just not embarrassed to Google. [laughs]

[laughter]

I think the confidence is the biggest change. At the beginning, like approaching a problem that I didn’t understand was embarrassing –that I didn’t understand it. Now it’s like, “Well, this application is 100 times bigger than I could ever hold in my brain. Who cares if I don’t understand it? Who cares if I don’t understand what this is doing? I’m just going to go figure it out.” But the thing is I don’t think it’s going to artificially make that happen sooner. I think you have to go through being an idiot [laughs] while programming and then you get there. And I think any attempts to rush that are misplaced.

CHUCK: I find that interesting because basically what you are saying is that experience is knowing where to get the answers?

ELISE: Yeah.

JOSH: I don’t think that feeling ever goes away.

[laughter]

And I can’t tell you like how much of my day is spent copying error messages out of the terminal and pasting them into the Google search box. [laughs] I do that a bunch of times every day. So that is actually a really great skill to preserve from your newbie days because it will help you out for much of your career I think.

CHUCK: A side note on that; if you do find the answer and it’s kind of hard to find in Google, write a blog post and make sure that the exact text from error is in there so the rest of us can get it.

[laughter]

ELISE: That’s an awesome idea.

JOSH: And the other good medicate around that is that post a question and then you figure out the answer on your own, you can come back and post the answer on that thread in wherever you are. Because there’s all of these sort of like ‘landmines’ littered across Stack Overflow or wherever, where people say, “Oh I got this error.” And then like they follow up later and then they say, “Oh I figured it out, never mind.” And you are like, “What’s the answer?!”

[laughter]

MATT: I think it’s something I have definitely gotten better at doing. Because when I started out, it’s difficult to articulate what problem I was actually having. And so as I’ve continued to program, like now I can actually sort of know the correct language to search for and figure out my problem. I think a part of getting better at programming is part of getting better at Googling your problems.

CHUCK: So I’m going to change tracks again — unless somebody else wants to jump in here. My question now is, we read on the Dreyfus scale in Andy Hunt’s book, ‘Pragmatic Thinking and Learning’ that experts kind of work off of intuition built on their experience and novices tend to need kind of prescribed steps to solve the problems that they encounter. My question is it seems like there’s a little bit of an impedance mismatch because the experts have something that the novices need and that is the knowledge to solve the problem. Do you run in to this? How can experts be more engaging with novices? Like, how can we solve your problems better?

ERIN: So I can actually speak a little bit to that. So sometimes I’ll read a best practice and I won’t understand why that’s a best practice, so I just won’t obey it anyway. And then I learn it’s the best practice. [laughs] An example is like, “You are not supposed to delete your migration files,” right? But I didn’t know why. I’m like, “Well I can see the schema and the schema.rb file so why not just delete them?” And then I deleted them and then all of a sudden like my app didn’t work and my then very clearly and fundamentally understood why. I think that’s something the novice has to do.

It’s kind of like the metaphor of how do you get a good sense of direction when you are traveling? And the way you do that is you get lost and you get so lost and that you remember, “Oh, I’m not supposed to go this way because that’s not the way I’m going.” And it’s in the way process of getting lost over and over again and getting yourself un lost that you’d find your way around the place well. And I think the same thing has been with Ruby and Rails; it’s like, “Hey this is the best practice.” And I’m like, “Why?” And then I just don’t do it or I do the opposite and like, “Oh, that’s why. Ok. [laughs] Now I understand.”

CHUCK: So we point out the trip wires and then let you blow your legs off?

ERIN: Basically. [laughs]

JOSH: Oh my. [laughs]

ELISE: I think one main thing, Chuck, also is so I mentioned Seattle.rb before, but Seattle.rb was fundamental in getting me started – particularly with the help of Ryan Davis. And what Ryan would do — because I was so stubborn [laughs] — is I wouldn’t ask for help. So, I would spend a couple of days working on a really stupid problem. I can’t even imagine what they were now [laughs]. He would say, “Work for half an hour on a problem. If you can’t figure it out, just come back to me and I’ll help you get the answer.”

And I think that mentorship at a distance is really helpful. And that’s the same thing that Jeff Casimir did at Hungry Academy is if you really get stuck, don’t spend your whole life on it getting frustrated but come and ask the question. But do it on your own first because you do need those sea legs like Erin was talking about.

ERIN: Another thing Elise to build on that, I used to be hesitant to ask because I was worried I’d waste my mentor’s times. But then I realized that the questions that I’m asking them, they can answer in less than a minute. And now that I feel like I’m not imposing on their time, I’m more likely to ask after struggling with something for an hour. And it’s just much better for both people because you get along out, you get out of your problem and the mentor feels like, “Hey, I’m helping you out in a regular basis.” And I think that works out well.

JOSH: I’m curious, have any of you gotten to the point where you’ve discovered the educational benefits of teaching other people?

ELISE: Totally. I helped out with the Beginning Ruby class at CodeMash, just for one session. But up until just now, or CodeMash a couple of weeks ago, I didn’t really feel confident in what I knew. But when I went to this Beginning Ruby course and people were asking me questions, I knew how to answer them. And it was like, “Oh my gosh. I know what I’m doing!” Like, this is the same kind of question I would ask if I were in this class and I can answer it confidently. So it makes the world of difference to be able to confidently tell people which directions to go or what the answer is.

MATT: I was involved with a group called HackDays, which is part of Tech@NYU. I was a co-organizer of the event last semester. And so we gave like talks and stuff and afterwards people would come up to me with their Ruby problems because I was like the Ruby guy in the group. And I would like show them things that I’d built before because I want them to know like how they would do a certain thing.

And so I would open up like maybe like a Rakefile and they just ask me all these questions and I realize that I did not know the answers. I’ve just kind of like left it; abstract it away from me as I was building these things. So it was we were basically learning together we’d like Google what they are asking and figuring out what’s the difference between this and that. It was definitely great learning experience for both worlds.

JOSH: Ok that sounds pretty cool. Anybody else? Erin or Geoff? Have you guys been helping other people learn how to?

ERIN: Yeah. Actually a good friend of mine — she’s a teacher — and she wants to learn to code to work out in Ed Tech start up here in San Francisco. So she was filling out one of her applications the other day and she asked me to come help. And I sat down and it was a very like… not basic Ruby problem but something that you’d see in an introductory tutorial. And I actually figured it out and I helped her out. And when I looked at her code, I didn’t see what was wrong right away, but when I sat down with it, played around with it for maybe 20-30 minutes, I got it and then I got to give her some pointers. And she also said, “Hey what do I do when I get errors?” And I said, “Oh just copy and paste and [laughs] put it on Google and you’d find someone else has your error.” And that completely changed your day because d now she’s does that [laughs]. So, yeah you guys were talking about that but that’s definitely what everyone does.

GEOFF: Yeah and you know, the great thing about being a part of groups is that often times — well I’m not in sort of organized mentoring sort of scenario — the really nice thing is that when you work with groups, that you often are sort of bouncing ideas off one another and one person’s question can lead to your deeper understanding of the subject by leaps and bounds. So that’s one of the great things about trying to build something with a team or with other individuals outside of… in the community and that sort of thing.

JOSH: Sweet. So Geoff, you got dangerously close to talking about one of my favorite subjects there which is ‘pair programming’ — which is like on teams it’s a great way to direct your programing interactions so that you can share information really well. And I’m curious, like the Ruby community seems like it’s really big on Agile development and extreme programming compared to a lot of other communities.

So I’m wondering, has that been a big part — or even a small part — of how you guys have been learning how to develop in Ruby? Has that been just part of the world? Or has it been off your radar or has it been something that is a distraction? Tell me about Agile.

GEOFF: So this is definitely something that I’m just was driving toward and it’s one of the reasons why I continued to be driven in this in Ruby. I’ve had opportunities that I just need to basically close the deal on because people are offering and I just need to actually take people up on that offer. And that’s actually half the challenge of being new to that environment is knowing how and when to take advantage of opportunities when they are offered.

MATT: Yeah I had a really great pair programming experience this past summer. I went to a Hackathon and our group decided to build our app on Ruby and Rails. And one of the people in the group had never used Ruby on Rails before but, they were very good developer; they like work for Google. So we paired up and it was just a really great experience because I had to be the driver because I was the one familiar with the language and the framework, but my partner knew a lot more about programming and web stuff and web architecture than I did. So there is a guide but I had to be the one typing and like on the driver seat. So that was one of the… like I think those five hours, I learned some of the most I’ve ever learned in five hours of programming.

ELISE: Two things for me; in terms of approaching projects with Agile methodology. I absolutely require it now. I live in Pivotal tracker because it helps me stay on track with my backgrounds and project management. So like learning about Agile, learning about using those methods for software development, absolutely made sense. And so if I’m doing things that are not in a story, I know I’m off track.

In terms of pair programming, I feel like it’s a mixed… I’ve mixed feelings about it. I think it’s really crucial and like being in an engineering team in LivingSocial, I have the opportunity to pair a lot. One trap that I think just sort of happens is if you are working on something very complex and you are pairing with a novice, it’s possible that [laughs] the novice is just sitting there watching you write code. And I know that there are other ways of getting around that different pairing style, but it gets really exhausting. I’m not sure it benefits as much as I think it should. So I think short planned pairing sessions are great, but not working on huge technical problems or doing pairing all the time.

ERIN: Yeah. I agree with what you said Elise. The best pair programing sessions I’ve had is when we pick a specific feature and we don’t go out of that [laughs]. Because when I’ve tried that before in the past, it gets really messy and I’m not like good with Git yet, so learned a lot of things that way as well. And I also recently went to the ESPN women’s Hackathon. Amazing such a hackathon existed because it was right at the intersection of women in tech and women who loves sports. And I got to work for the first time with Python girls. I did the front end because I wasn’t really familiar with Python.

But what was really great about our team is that we interacted a lot – I’m not sure how to describe it – but we sat down together on just about everything and I got to work with everyone on the team on something as we put the product together. And towards the end, we actually ended up winning one of the API prices which was really unexpected because we all had less than 10 weeks of programming experience at the time. So it was really great that we are all around the same level, so it wasn’t like someone was very advanced and others were extremely novice. We all were around the same and we’re lifting about as much weight in various places of the apps. So that ended up being a really great learning experience and also trying a different language.

GEOFF: It’s really cool.

ERIN: That’s awesome. [laughs] I wanna move to San Francisco.

ELISE: Yeah. [laughs]

JOSH: That sounds pretty cool. I have another community kind of question and that’s, when I got started in the Ruby world… maybe I was joining the soap opera in season 2 [laughs] It was still early days and there wasn’t as much to catch up on, but there were still established characters. And you know, some of them have left the community by now and some are still around. I remember there were a couple of people who were really stand outs and who were inspirational for me. You know, people like Dave Thomas and topfunky, you know, Geoffrey Grosenbach.  So I’m curious who are the heroes and the role models that you people — who are new to Ruby — have been inspired by or looked to for role models. Or are we will just a bunch of tossers who you have to put up with?

ELISE: Definitely Josh Susser. I mean, number one. [laughs]

JOSH: Talk about a tosser.

ELISE: [laughs]

CHUCK: He’s definitely at the top of my list too.

JOSH: [laughs] Ok so present company accept it.

[laughter]

CHUCK: Nice.

JOSH: Not fishing for compliments here guys. [laughs]

ELISE: Right at the top of my list right now is Sarah Mei. I was really, really excited that she gave the keynote at Ruby Conf in Denver. That was really inspirational to me. And then also just because from I’m Seattle — Aaron Paterson, Geoff, Ryan, Eric Hodel are all very influential and helpful for me.

GEOFF: Yeah. To add to that list, just have to say because this has come up regularly whenever I have had an opportunity to do chat with people or show people the presentation, but Katrina’s presentation on refactoring was such a big thing and still continues to be such a big thing. I’ve even had people say that Katrina’s presentation inspired them to become… to get into software development at all, which is really awesome.

The other person who really got me enthusiastic actually about working more heavily in open source was Steve Klabnik. He’s really been amazingly accessible just through Twitter just by itself and he made me feel more confident that I could actually participate — even in a limited fashion — in open source projects, which was really very cool. But that’s just a carry on from that awesome list that you’ve already started.

ERIN: Actually I have an interesting story to share. The person who I interact with a lot, her name is Eve and her Twitter handle @evadne. You guys should check her out. I actually met her at Philz in San Francisco. She just happened to be sitting in front of me and I just started a conversation with her. I was like, “hey what are you working on?” And she was working at an iPhone app at the time. Definitely a polyglot; she does Rails, iOS stuff and a little bit of JavaScript stuff on the side.

She basically dropped out of high school to do programing full time and ended up not going to college because she’s just been hacking on whatever she’s wanted to hack on. What’s great about her is she thinks through problems very clearly and when we work together, when she shares her thought process with me, I learn just by listening to how she thought through something. And then when she codes, she’s extremely fast. It almost makes you dizzy if you are just watching her computer screen.

One time when we are at Philz and she was coding next to me and I was watching here and we are working on something and these two guys came up to us and they basically were like, “Hey, we are hiring developers. Here’s our card. Come call us for an interview.” [laughs] And it’s like, “I’ve never seen this happen before. I think someone just tried to hire you.” [laughs] And she basically said, “Ok thanks.” And she put their card in her pocket and I don’t think she ever reached out to them. But I’m in contact with her a lot and she’s the person who helps me get unstuck. So I really, really look up to her and have learned so much from her. Yeah, it’s @evadme.

GEOFF: Yeah. I’ve also got a friend who I work… he works in a different company than I do, but we work in the same. He’s been to something but absolute asset as far as any question that I would have. And he actually helped build sort of a small group that we are starting to dive into other pieces of Ruby development as well — which is a lot of fun. It’s really nice to have that person that you are close to that you can basically ask whatever question that you might have.

ERIN: Definitely. Definitely.

MATT: I have a great group of friends from the club that I was in at during school called Tech@NYU and we even have our own IRC chat room and there’s about 4-5 of us in that every day and whenever we have problems like whatever it be JavaScript, Ruby, Python or whatever, we would just kind of ask each other and lean on each other.

And I also got a job that way, so when the people that was in the group graduated and started to work at a new start up in New York City and then I went and work with them, we got to just program twice a week, all day and just would evaluate each other’s code and just having that camaraderie was just really inspiring. They are all great guys so.

GEOFF: Very cool.

CHUCK: All right well, I think we are close to the time.

JOSH: I have one more question.

CHUCK: I love this and I wanna keep it going but yeah go ahead.

JOSH: Well, this is one that’s pretty topical and came up on Parley, when we are talking about Steve Klabnik did a post last week I think called, “Rails has Two Default Stacks” where he talks about the omakase stack, which is David Heinemeier Hansson’s, “Hey this is the Rails defaults. This is what we ship without of the box.” And it the, “We’ve curated all of the defaults for something that we think makes sense and they go well together.” But Steve was talking about, “Here is this prime stack where pretty much everything is different but they still play well together.”

And I’m curious, for people who are just starting out in Rails; did this help like clarify how you thought about how all the different technology people talked about in their blog posts and how things put together? Or is it just like a big confusing mess about where you sit down to do a Rails project and you have no idea which pieces of technology you should be using? I mean what… so when I started doing Rails, there wasn’t too far you can stray off the golden path.

CHUCK: [laughs] So true.

JOSH: You can just use ERB and then there was – oh god what was it called – it was like HAML but it was Why the Lucky Stiff’s ‘Markaby’ I think it’s called. So there weren’t too many options and like it was hard to use PostGres.

CHUCK: This is a question that I wanted to ask too. Yeah when I got started, it was model view controller and yeah everything was pretty much set and then you just dumped everything else in public. And now you have the whole asset pipeline and things like that. So, yeah is it hard?

ELISE: You know, this actually I think brings up a question too but I don’t understand what the big fuss is all about. I mean, yeah it’s like you can modify anything you want. The wonderful thing about being in Hungry Academy was I got to try so many different things. So I tried HAML and I tried Thin and I tried myriad different notifications. [laughs] So I don’t know, I guess for defaults like yes they are there, but I’m happy to change them based on either project requirements or my preferences. Like meh, big deal.

But then also I think this brings up question that I’d like to talk about maybe before we close which is, it ok to be a programmer and not really care about the technology conversation? [laughs] Because I find that I just get upset a lot of times by the back and forth and that It actually has very little bearing on what I do day to day, because it’s so opinion-laden and emotion-laden and I don’t have enough bandwidth for it.

CHUCK: No. I don’t think that that’s necessarily a bad thing. And I don’t think it reflects on your or anyone else. My tendency is to kind of ignore a lot of those conversations until it’s a conversation about something that’s causing me pain. So, I mean I switched to HAML because I was routinely leaving off closing tags and a couple of other things that HAML just solved for me so I just switched over to HAML and I still use ERb about half the time. But you know, until it’s a real pain, yeah you are not losing out. You are not being delinquent in any way by not paying attention. At the same time though, some of these conversations have more to do with shaping the community than they do about the technology stack and those are the ones that I think everybody should at least be aware of.

ELISE: Yeah, definitely. I agree with that.

ERIN: I think also when you are new; I guess you just don’t really understand the intricacies. So for example, I’ve been hearing a lot of people say, “Oh you should switch over to PostGreSQL.” And I actually just don’t know why. And they’ll say, “It’s better. It’s just a better database.” But like you said Chuck, it hasn’t been a pain point yet, and I haven’t bumped into it enough to where I start thinking, “Oh I think I should start to do that.”

Whereas same thing here, like my HTML files or ERb files are really, really crazy on the HTML and they are starting to get so crazy that it’s a pain for me to look at them. And now I’m starting think like, “Hey, I think I should switch over to HAML,” so that it’s easier for me to read my own files. And I think that might be for beginner’s a good way to know when to start getting into the conversation around different types of technologies. But the same thing is with testing is like I don’t really know the difference between RSpec, Cucumber and MiniTest. Like it hasn’t gotten there yet but I’m sure it will one day and that’s when I’ll start tuning in.

JOSH: So, Erin I wanna say just one thing about the HAML being the thing to do to solve the insanity in your view templates, because they get crazy.  I think that it might make them more readable and easier to sort of understand what you wrote there, but maybe a better way to deal with that is to try and simplify the structure of things so that you don’t need to use something like HAML to understand what’s going in the templates.

ERIN: Yeah definitely. Actually someone on Twitter — his name Philip — he actually read my code for Spitfire and he said, “Hey, this page is extremely redundant. You should try and refactor it.” And then I had to look up like what’s refactoring, how do you do it. And he helped me out with that and then yeah I actually counted; I went from over 96 lines of code to like 30.

JOSH: Ooh nice.

ERIN: So that definitely helped a lot.

GEOFF: That’s awesome.

CHUCK: Yeah.

JOSH: Yeah sometimes using a more manual tool or a harder tool forces you to clean up the underlying stuff much more effectively than using a tool that lets you gloss over the pain more easily.

ERIN: Right yeah.

CHUCK: Yeah I think it merits both ways. You just have to weigh what you want out of it.

JOSH: Yeah. It’s not like HAML is a bad thing at all but – well, maybe it is. [laughs]

CHUCK: [laughs] Yeah we are not opening ups that can of worms right now.

[laughter]

JOSH: I just can’t go on record to saying that HAML is great. [laughs] OK. Matt, Geoff? I don’t know, I think we’ve heard from you talking about this.

MATT: Yeah. So I’ve been recently sort of trying out all kind of things very briefly — not spending too much time with — just to kind of get it and understand what people are talking about. So for example people are talking about JavaScript frameworks; I’ve looked at Angular, Backbone a little bit of Ember just to kind of feel for what they are talking about. And so and then like I don’t know, just understanding what’s out there is really nice.

So like as of yesterday, I was kind of doing model many to many relationship and I realized it was going to take a lot of hits to the database and it was going to get like a little complicated. And I remember that I’d seen a presentation on MongoDB. And so I just quickly went through a tutorial MongoDB and it had like commands that do exactly what I wanted. So I think it’s just nice to understand that there are other options. I don’t get as passionate about it though like some people really argue about it, but I guess that comes with years.

CHUCK: [laughs] Yeah. You don’t fight about it until you have real experience. Just kidding. Yeah I think it really just comes down to… like I mean some of these technologies have some obvious flaws and so if you can live with those flaws, it’s the tradeoffs that you are accepting.

GEOFF: I might be one of the few Rubyists that got into without really having defined path towards Rails. And so I’ll happily admit that — well, maybe not happily — but I’ll readily admit that Rails is definitely lacking in my experience right now. And that’s something that I’m correcting at the moment.

But one of the things that I had to be careful of was that the interesting thing about this for me was seeing the arguments that were in play over things in Rails specifically made me feel less inclined to adopt at framework. Because if I didn’t have sort of a better understanding of where Rails come from, and the great foundation that it does have and that the community sort of source things through, I would be very… if I were just to look at what’s the conversations has been like recently, I’d be probably be very hesitant to actually adopt it as something that I’m interested in today.

That all being said, I’m certainly adding it to the things that I’m learning. You know, I’m doing sort of a weekend thing with a couple other people. And a Ruby meet up here in Albuquerque, they are branching off sort of a Rails group there and so all those things are really valuable for my educational purposes. But I tend to agree with the conversation that you have to be very careful about how much you do care about where these conversations are actually going. Because a lot of times it can just confuse the matter of what you are trying to accomplish which is basically to produce something really cool.

CHUCK: Alright. Well I need to start wrapping this up. So we are going to go ahead and do the picks. Oh, I forgot, Elise is running the show. Elise, why don’t you pick people to give picks?

[laughter]

ELISE: Uh-oh. Matt, do you wanna start?

MATT: Sure. I can start. So my first pick is Craft Coffee; its coffee of the month subscription service where I interned this past fall. I was writing Ruby code there. What they do is each month, they hire coffee experts to do blind evaluations of 50+ coffees from dozens of roasters and pick the top three. So as a subscriber, you receive the top three coffees from three different roasters each month. And working there was awesome because it’s really good coffee and I got to drink Craft Coffee whenever I wanted. And totally the best I’ve had. So that’s my first pick.

And then my second pick is I’m planning on traveling to South America pretty soon and I found this site called ‘Duolingo’. And their slogan is “Learn a Language While Translating the Web”. And the idea is that you learn… like it’s nice software they give you like little lessons and then you go and actually translate real texts. And so you might be translating like a new journal article or Wikipedia. And one of the things they say is that of a million people who used it, they could translate the English wiki to Spanish in just 80 hours. So it’s kind of a cool concept. I found out about it through a TED talk called ‘Massive-scale online collaboration’. It kind of gives you a big picture view like how these kinds of things can work. I think it was started by the guy who started captchas which he now used to translate books, like Google books.

ELISE: Awesome. I love Duolingo. That was so cool. I’m learning French, very slowly.

MATT: They have Spanish, Portuguese, French, German — that’s all they have right now.

ELISE: Awesome. Jeff, do you wanna go?

GEOFF: Sure. So I’ve been basically trying to find as many places where I can sort of learn off of others as much as I can. In that sense, I’ve been trying to find other places preferably something where I can basically still be in my slippers where I can basically participate in some sort of conversation and see where things are going.

So there’s actually been a couple of sort of Ruby hang outs… well one is actually called The Ruby Hangout and they have a monthly meeting where they get together and they do a G+ thing where somebody… where it’s usually a presentation. Jeff Casimir did one I think and there’s been a variety of others — I’m afraid the other names are skipping me right now.

The other is Bentoconf, which is something I found out through Parley last week and I participated the first time last week. And it was really great. It was basically, you join a couple of other people or a few variety of other people and you watch a presentation and then afterwards, they do a G+ Hangout; you chat about what happened there and that was really terrific as well.

Another pick that I have is a service called ‘Code Triage’. And it’s really cool because basically what it does is it allows you to sign up to get daily email that basically points you to GitHub issue of a repository that you are following. And it pretty much allows you to get a feel for what is going in that project, gives an idea of what the issues are there and if you can actually participate as far as producing code that can do a fix there then that’s one way that you can sort of maintain your involvement in open source.

One other pick that I have is I tend to write a lot of notes. I do sort of how I document my day. And I think it was on the Sandi Metz show, Josh I think you mentioned ‘Marked’s, which is this great app that does markdown to HTML or what have you. The same person who’s built Marked actually has another product called ‘nvALT’, which is a really fantastic… basically I use it for all the notes that I take and it directly links into Dropbox. Basically, I can have my notes anywhere. When I’m working on my laptop I’ve always got thousands of notes available to me at any given time. So it’s a really great app that if you are interested in basically documenting things, this is a terrific service.

If I can, I got two others.  One is part of the thing that as participating in the Ruby Nuby contest, we received a variety of discounts to a few services. One of them was the Pragmatic Studio’s Ruby Course. And I actually took it. I wish I could say that I’ve completed it — by the time this airs I will have — but it’s absolutely outstanding. Mike Clark is just a fantastic instructor; really interactive on the forums. And basically, it’s a terrific introduction to Ruby if you have any sort of hang ups. I have little bit of experience with Ruby before I took the studio course, but it’s just been outstanding since because it fills in a lot of the blanks.

And the presentation that I wanted to mention was the one that I actually mentioned in my video, which is Ashish Dixit’s ‘Making a difference, right off the bat!’ He presented this at the Madison Ruby 2012 Conference. It’s a really good… I think it’s a good way that you can see how you can introduce newer developers into your workflow really quite nicely and I think it’s a really good presentation and give it a shot and take a look at it.

ELISE: Cool. Thank you. Erin, you are up.

ERIN: Alright. So my first pick is actually one that is very beginner friendly. So initially when I started pushing to Heroku, I always got hung up on the specific order of things and wasn’t sure why it kept crashing, so I recommend this article by Rails app, it’s called the ‘Rails Heroku Tutorial‘. It covers everything in the right order. And ever since I followed it, I never messed it up so that saves me a lot of time and highly recommend it.

Outside of Ruby on Rails, there are two articles that actually were very influential. The first one is called ‘Minimum Desirable Product’’. It’s by Andrew Chen. I think if you are in startups, you’ve heard the word ‘minimum viable product’ before and basically the minimum viable feature set that your product needs to be pushed live and have people use it. The one thing I learned building Spitfire is just because I built the feature, doesn’t mean that it’s a product that people enjoy using or want to use, it doesn’t mean they understand that the features is there for them. So, I like the framework of Minimum Desirable because it pulls you to a higher standard of not just pushing features and saying, “I’m done with this feature, I got to move on to next one.” But it makes you look at the whole product and view it with the lens of, “Is this something that my customers actually want?” So that was great.

And the last one is article by William Deresiewicz called ‘Solitude and Leadership’. And he is famous for this other article where he writes about how people who go to top colleges are basically very excellent sheep. So they pick a ladder to climb and they climb to the top and when they are at the top, they are like the CEO or someone fancy with a fancy title. But he writes in this article about what real leadership is and it could be forging your own path or not climbing a ladder at all, but rather being someone who thinks for himself or herself and because he thinks for himself or herself, he can choose the right path to go down and lead others along the way. And I just thought the article was incredibly well-written. And he actually recommends that as leaders, we should spend less time on our social network feeds and more time thinking on our own, writing down our thoughts. So, I highly recommend that. And yeah, those are my three picks.

ELISE: Awesome. Alright for our special guests, Charles, do you wanna go first?

CHUCK: Sure. So I mentioned at the beginning of the show that I’m doing the Rails Ramp Up course for people who wanna learn Ruby on Rails. And the system that I’m going to be using, it’s an e-learning system written by a company out here called ‘Instructure’. It’s actually a Rails app and they have an open source version. This is a system that is used across a whole bunch of different universities across the nation. I think they are starting to branch out into international markets. But anyway, they have this open source version; you can go in and install it on your server and use it. And so that’s what I’ve set up. I set it up on an Ubuntu Linode or ‘Linode’ or whatever you wanna call it.

And it just works great. It’s got like built-in forum and wiki, you can upload files so I can upload the video files and just tell people, “Hey, here they are. Go get them,” stuff like that. It’s awesome. It didn’t take me too awful long to set up. It used to be more painful to set up, but it’s not anymore and it looks terrific, it looks professional. And so, if you are looking at doing any kind of online training and you want a system that just kind of has everything you need to run a course, then this is what I recommend. And you can find it at instructure.com I think. I’ll put a link in the show notes.

The other thing that I wanna mention – and I mentioned this before – is I remember of the Podcast Mastermind, which is managed by Cliff Ravenscraft. You can find Cliff’s stuff at podcastanswerman.com. Anyway, it’s more of a mastermind and less about podcasting, and we just have some great discussions. I highly recommend that if you are trying to learn something or improve on your life or your business or anything like that, that you go find a bunch of people who are also trying to do that and just put your heads together and figure out the best way to do things like that.

So my second pick is Mastermind Groups. And if you looking to form a mastermind group or you want some help, feel free to contact me. Just email me chuck@teachmetocode.com and I’ll be happy to share what I have and see if we can get something going. They don’t have to be in person, the groups that I meet with meet over. So, just putting that out there as well. Those are my picks.

ELISE: Josh.

JOSH: Ok. I wanted to keep my pick short this week, so I only have one pick. I’m sure I’ve done a music pick before but I can’t remember what it was. Thanks to Tony Arcieri; we were tweeting a couple of days ago about synth pop music. And he turned me on to a new group that I hadn’t heard of before called ‘Parralox’. They sound a bit like early Madonna and early Erasure and maybe Yaz. You know like Vince Clarke and pop stuff. They are a lot of fun.

So Tony pointed me at this video that they did for a song that is… the artwork in it it’s just like all of like my favorite bands from the 80s album cover is animated and dancing around them. So it was just a really creative concept and I had a lot of fun with it. But I’ve been enjoying the group lately. They are on heavy rotation. So I figured I’d throw that out there as a fun music pick. And that’s all I got this week.

ELISE: All I can think of is from another dimension. Parralox.

[laughter]

JOSH: And that’s exactly what they are about.

[laughter]

ELISE: Ok. I’ll do my picks really quickly so we can get wrapped up. The reason I got into the Ruby community was because I was doing marketing for them. And luckily… I’m very lucky that I get to continue my marketing side business and help out some really cool technology companies. That company is called ‘Brand Worthy’. Its two of the companies that I worked with that I think deserve lots of attention.

The first one is called ‘Cloak’ and it’s a very immaculately designed VPN. So when you are working at a coffee shop, it just automatically turns on and you are protected from all that kinds of treats. I love this because I work from Coffee shops a lot of the time now.

And the second one is Bryan Helmkamp’s ‘Code Climate’. I listened to Sandi Metz’s being on the show a couple of weeks ago and she referenced it too, but it gives really excellent statistics for your code and cleaning up your code. And I’m really lucky that I get to work with both of those companies on the side, helping them grow their businesses.

And my last pick has nothing to do with that. I like to spend a lot of time not doing programming things. So I like to read and play games and watch good TV. I just finished a really cool book called ‘The Man Who Mistook His Wife for a Hat’. And it is a bunch of short stories about clinical malities that impacts the brain. So the title story is literally a man who could not recognize the face of his wife and thought she was a hat. So I think that’s a really awesome read. And it’s technical in just a different way and really nice prose.

JOSH: That is amazing you picked book. It’s like all of my friends are reading that one when I was in college for a class that they took and I got to read a little bit of it. “Oh my god, this is amazing!”

ELISE: Yeah it’s really good. It’s old. It’s good though.

CHUCK: What happens if I mistake Josh for a hat?

JOSH: You will have like a red sparkles in your eyes.

[laughter]

CHUCK: Are you telling people to go watch our keynote from Rails Conf last year?

JOSH: Yeah, yeah. So Elise, what you said about Code Climate, I just wanna remind people we have done two episodes with Bryan Helmkamp and we did one that was really focused on metrics and the kind of stuff Code Climate does.

ELISE: Awesome.

JOSH: Chuck, do you remember which one that was?

CHUCK: I can find out real fast. Do you wanna talk about the Book Club book real quick while I do that?

JOSH: Oh yeah! We have a Book Club coming up which is the ‘Patterns of Enterprise Application Architecture’ by Martin Fowler. It’s not a new book. It’s been out for I guess a decade or something like that. And a lot of it… it’s kind of crazy; you open the book and you take a look at the list of patterns that it is addressing and it sounds like you are looking at the list of classes from Rails. So it’s just very much where DHH got a lot of his direction for how you put Rails together. I think it helps give a good grounding in what Rails was developed to be. We are going to have Martin come on the show; we are going to talk about the book, standard Book Club thing. So go pick up Patterns Enterprise Application Architecture and we’ll have Martin on the show — I think in a month or so.

CHUCK: Yup. And the episodes that Bryan was on were 41, where we talked about ‘Code Metrics’ and 83 where we talked about ‘Fat Models’.

JOSH: Oh cool. So Elise and Erin and Matt and Geoff, I wanna thank you for having us on the show with you.

ELISE: [laughs]

ERIN: Thank you. Awesome.

CHUCK: Can I just say, “Squeeeeee!

[laughter]

…I got to be on the show with those guys.”

JOSH: Do you guys wanna tell people like your Twitter handles or anything so that they can keep up with you and what you are up to in the world?

ELISE: Sure. Mine is @neverbendeasy.

JOSH: And say your name again so people can…

ELISE: Oh sorry, yeah this is Erin and mine is @neverbendeasy.

MATT: Mine is my name, so my Twitter handle is @mattruzicka.

CHUCK: You might need to spell that.

[laughter]

We’ll put it on the show notes too.

MATT: ‘Matt’ and then R-u-z-i-c-k-a.

ELISE: This is Elise and mine is my name, which is Elise. ‘Worthy’, like the word w-o-r-t-h-y, that’s my GitHub too.

GEOFF: For mine – Geoff—its @geopet and that’s the same for my GitHub. So that’s G-e-o-p-e-t.

JOSH: Awesome. That’s great. Well, this has been a really great morning for me to get to chat with you all. I think I definitely learned a lot.

CHUCK: Yeah I think we really got some perspective on what it takes to get into Ruby these days.

ELISE: Yeah, thanks for having us on. I mean… I don’t even know how to say that.

CHUCK: “Thanks for coming guys!”

[laughter]

GEOFF: Thanks for having us on. But also thanks for producing such quality shows on a week to week basis. It’s been such an eye opener and so informative — every week I get an opportunity to learn so much more through you guys. So I really appreciate what you are all doing for Ruby and for our community as well.

MATT: Yeah. Thank you.

CHUCK: Well thanks, I appreciate that. It’s always nice to hear that people like the show.

JOSH: Yes. But we don’t do it because we want people to hate it.

[laughter]

Although I think there must be some parts out there where that’s what their goal is.

[laughter]

Anyway, thanks so much guys.

GEOFF: I just wanna to thank Ryan Davis and RailsCasts and the Ruby Project and Pragmatic Studios for supporting the Ruby Nuby project.  It’s been great to use those and have those assets available to us.

ERIN: Thank you.

GEOFF: Thanks guys.

MATT: Thank you.

1 comments
dinkelburt
dinkelburt

Really enjoyed listening to the perspectives of new developers (or at least new Ruby devs). I haven't dabbled in Ruby enough to even consider myself "nuby" status yet but it's comforting to know that people are able to be successful in the Ruby community with so little experience. Just goes to show that the most important things are humility and a desire to learn. Thanks again for a great show.

Trackbacks

  1. [...] What most schools don’t teach (code.org) TED Talk: 10 places where anyone can learn to code Nice Podcast for Newbies from former Nubies: 090 RR Ruby Nuby Episode [...]

  2. […] podcast in particular was inspiring/helpful for me – the “Ruby Nuby” episode in which they talked with “new” (all less than one year’s worth of […]

  3. […] of why it works/how it will interact with my program.  It also seems (as was mentioned in the Ruby Nuby podcast by Ruby Rogues) that you retain information better if it was sought out instead of coming […]

Previous post:

Next post: