Today I talk with Gregg Pollack and Carlos Souza from Codeschool. Today's episode is brought to you by http://spec.fm!
Today I talk with Gregg Pollack and Carlos Souza from Codeschool!
Hey everyone and welcome to Developer Tea. My name is Jonathan Cottrell and today I have a chance to talk to Greg and Carlos from CodeSchool. Greg Pollack and Carlos Sosa, they have been teaching people for a living through CodeSchool.com. Go and check it out. Of course, CodeSchool has been a sponsor in the past, but they did not sponsor these episodes. I was just really excited to talk to them about their work and about all the things that they do to teach people how to code. This interview is in two parts. We did not have a sponsor for either part of the episode. And so I just talked with Greg and Carlos about the ins and outs of their job and what they do at CodeSchool. I hope you enjoy it as much as I did. Now let's get to the interview with Greg and Carlos. Carlos and Greg, thanks so much for coming on the show. Thanks for having us. Absolutely. It's a pleasure. I'm excited to talk to you guys because you are all in the space. All up in that space. You're completely in the space that we talk about on this show and that's learning to code. That's probably the most consistent theme of Developer Tea. Sweet. Yeah, so CodeSchool.com, which has been a sponsor in the past, but this specific episode is not like, you know, we aren't doing native advertising or anything here. I'm just interested in talking to you. I'm just interested in talking to you guys because you do some really interesting stuff. You own stuff like JavaScript.com. So I think this is an appropriate conversation, especially for the people who listen to Developer Tea. So I guess we should just jump right in. Why don't you each take a turn and tell us what you do on a day-to-day basis and what your responsibilities are at CodeSchool? Sure. So this is Greg. I'm sort of the CEO. I'm the CEO of CodeSchool these days, which means I get to go to all the meetings I could ever want and not want. But it's really good. No. So probably the core of what I do and the most valuable thing that I still give to the company is sort of course oversight. So I'm sort of the editor-in-chief. I'm like the last person that content gets in front of before it goes out the door. I also do a lot of business strategy. So I'm in a lot of different meetings where we're talking. I'm talking about the future strategy of the website, future content, marketing, operations, HR. I kind of got my hands in all of everything, like you should be probably as a CEO. Carlos, on the other hand, has my dream job. Take it away, Carlos. Yeah, this is Carlos here. I'm a content developer. I think that's what my role here is. But I'm basically a developer that likes to teach others. And I've been lucky enough. I've been lucky enough to end up at CodeSchool, where this is what I do for a living now. So I help make courses, basically. And I also help with other initiatives like podcasts and some of the video series that we have, Future Focus, Soup to Bits. And yeah, that's basically my job. You mentioned podcasts. Tell us about the various podcasts. For those of you who are not familiar, CodeSchool does have a few podcasts that they are kind of behind. Yeah, yeah, absolutely. We have the Ruby 5 podcast. We have 5 Minutes of JavaScript. We have iOS Bytes. And most recently, we launched Front End 5. So did I forget? Yeah, no, that's good. So basically, as a developer, the news moves quick. And there's a lot of new libraries you've got to keep up to date on. We try to create these 5-minute podcasts so that you can just listen for 5 minutes or read our newsletter for 5 minutes and stay up to date with the latest in whichever community you identify. Very much so in a similar space as Developer Tea. The intention being cut down on the length of the podcast as much as you can so that you get to the meat of what's important as quickly as possible. Yeah, time is money. And I like to really value our listeners' time. Yeah, definitely. So very interesting stuff, especially to see you guys kind of coming on a show together. Because that shows that, at least from my perspective, I'm not a developer. I'm not a developer. I'm not a developer. From the perspective of a lot of companies, you don't have that kind of intermingling between the executives and the other people. First of all, I resent that insinuation. We've got about 50 people here at CodeSchool. And no one has a private office. It's all very much, we all work in sort of the same gigantic big room. It's very transparent. There's very little authority. Certainly, some people need to be more accountable than others. But that doesn't mean you need to have people in authority. So anybody can approach anyone. And it's just very open communication. And I actually sit right next to Carlos. And it makes sense. I sit with the content team. Because that's the team that I feel like I can add the most value to. So I'm looking at these courses. And I'm wondering, I have a few questions for you guys about the courses themselves. First of all, how do you determine what to do a course on? Because I've mentioned in the past on the ad reads that there's these really interesting specific courses. Like, what is it? Discover Drive. It's an elective free course. And then you have these things like Regex courses and all this stuff. And I'm wondering, where do the ideas for the courses themselves come from? Are you asking users what they want to learn? Or are you deciding kind of internally what you think users should learn? Or how does that work? Well, Discover Drive was the last of a prior era or genre of courses where we were working. And we were working with outside companies like Google to produce stuff with them. But we are not doing that much anymore. We get most of our course ideas and what we're going to do really from our users. We do a gigantic survey every year. We're coming up on one. So odds are, if you're a Code School subscriber or even on the mailing list, you're going to get a survey that's going to go out pretty soon that's going to ask you a bunch of different questions. And we use that information to figure out, basically, what are the things that you want to learn from this course? And then we're going to go through our entire year of courses to make sure we're just creating the content that our paid users are most interested in. Makes sense, right? So we've got to listen to what they want. So that's really what drives the courses that we do. Yeah, that's great. I've always wondered because it seems to have kind of an appreciation for web development. You know, iOS stuff is starting to creep in there. And it's just interesting to see how it's shifting one direction or the other. And I see quite a bit of web-oriented things. And I'd love to know, if I were to come to web development from no experience at all, first of all, where would I start in this course list? And then number two, what should I focus on if I'm brand new to this industry? Sure. If you want to go into web dev, we've got our front-end foundations course is where you would start in our HTML, CSS, and CSS path. So you'd go into there. You'd probably want to put down $29 for your first month entry. So you can try out that first course and go down that path if you're just learning some HTML and CSS together. Then you could always jump over and do some JavaScript. And we do have a free, if you want to get into programming, right? So the place that people start when they're getting into programming is our JavaScript road trip courses. And the first one is completely free. So you can try learning JavaScript. You can start in getting into that and then maybe advance to some jQuery, then maybe some frameworks, and then just go from there. And then if you want to learn more about back-end, we've got a great Node course as well as a bunch of courses on Ruby on Rails. And you have these paths as well. This is really interesting to me because I don't know a ton, even like I do this every day for a living, but I don't know a ton about Git as much as I would like to at least, right? Yeah. I don't have all of the commands in my brain and I don't recall them. I use the same ones over and over. So I think this would be a really interesting course even for me. So this is definitely not just a beginner's platform. No. So then I guess the next question I have for you because of that is when you take on a subject, how do you kind of dissect, and this is more from the content creator perspective, how do you dissect and determine what the most important thing is? Yeah. So you can kind of determine what the most important piece is of that particular technology or skill set, what those pieces are. Right. We're able to determine that after we use said technology. So we take some time during the course creation process to actually use that if we haven't yet, right? So once the technology is agreed on, we build apps with it. And then based on the experience of building apps with it, we can then go back to the courses, what we really think is valuable in regards of that specific language. Right. So where that language or that framework really shines and why people should take the time to investigate it further. We also do a lot of research. So when I go through that, I'll go and look at two or three different books on the topic as well as talking to multiple domain experts that will consult over the process of building the course to make sure that we're teaching it in the right way and covering the right topics. Right. Yeah, it's like the age-old question of if you guys are the teachers, then who's teaching you? Right. Right. Right? Like where do you go for your information? And it seems like, you know, we hear this over and over, books are always a good option for this. And going back to the documentation, but when it comes to, you know, what can you glean from the insights of other people, video ends up being a really good path to go down as well because somebody else has taken the time to go through and remove, conceptually remove all the cruft, right? And you get the richest and most obvious or maybe not most obvious, but the most salient pieces of what are in those books. Right. And, you know, our goal here at Code School is to really enliven the whole learning process. So make it more engaging, more exciting, and make it the most effective use of your time, just like listening to this podcast, right? So that, you know, you watch a video, you immediately have to prove that you understood it by coding some browser challenges. You get points and badges as you go along to motivate yourself to get through it. So you don't have to worry about installing it or configuring anything. When you're getting started, if something's going to go wrong, it's probably going to happen in the first, you know, 10, 15 minutes. When you install it wrong, you can't configure it, you can't run it, you're getting errors, and you're pulling your hair out. So by making you sort of code in the browser as you learn a topic, we sort of alleviate a lot of the frustration. So by the time you get done with the course, which might take three or four hours, hopefully now you have the patience to go, okay, wow, I really can do this. This wasn't as hard as I thought. Maybe now I have the patience to go and install it and configure it right and go through all the trouble with that. You touched on something really important there, especially for the process of learning. And I've talked about this on the show before, but that testing step is so essential to really get the students to understand the process of learning. Right. Yeah. And I think that's a really important step. I think that's a really important step to actually getting this stuff in your brain. No matter how you learn, whether you choose code school or you're reading a book, or maybe you're listening to this podcast, recalling things that you've learned is how you learn. You can't just assume that watching the video that you're going to learn stuff by osmosis, right? There is some level of activity that you have to engage in in order for that stuff to actually sit or seed into your brain. Right. That's why our motto is learn by doing. Oh, yeah. Absolutely. At the top of the site. I'm looking at it right now. Yeah. So I'm interested to know, do you guys kind of investigate how that learning process is affected for people? Like how well they end up actually learning? Do you have a way of determining, is this course actually teaching people well? I'd love to know kind of where you guys... Is it analytics or something that you have that you can determine if they're actually learning well? Well, we like to make sure that our courses are streamlined and they don't get stuck at any bit point. But we also have reviews at the end of the course. So when someone finishes the course, you know, they get to rate it and give us some feedback. We encourage the feedback. And the stuff that we see in there is just, just really lights up our hearts. We hear over and over again, you know, I tried to learn this. I went online. I bought the book. I read the tutorial. I tried this video on another site. I just did not get it. Then I came to code school and I got it. So we hear that over and over again with the way that we produce content. Now admittedly, some people are readers. Some people are just doers. They just need to do it. And some people are, you know, auditory learners, visual learners. We try to create the most engaging way to start learning any given technology. That's our goal. Yeah. Lower the entry point, right? Or lower the barrier, rather. Right. And it's not just for beginners. It's also for existing developers. So we teach at a pretty accelerated level. So somebody who's coming into it with like zero programming experience, you know, they might think that we teach too quickly. And I might recommend a website like Team Treehouse to them just because they teach at a sort of slower, more beginner pace. And once they're sort of, you know, done with that, maybe then they graduate to code school. Sure. Yeah. Because maybe you leave minor details out along the way because people learn those on their own. And they solidify over time, right? Well, when I say pace, what I'm really talking about is just the rapidity of going from topic to topic to topic. Oh, okay. We don't teach like, you know, we teach at the, you know, high school slash college level. But a junior high student's going to think we go a little too quick. And you mentioned something that I'd like to get a little bit more of a story from. And I've gotten this, I actually have this written down as a question I wanted to ask you guys. What are some of the most interesting kind of stories that you've heard from people who are learning to code? Whether they, I don't know, maybe they got a job or something like that. I'd love to know, you know, maybe your favorite story that you've heard from a user on code school. We sort of hear stories like that all the time. So people are getting jobs all the time through code school. But one of them that really, really touched me was a couple of years ago, one of my friends one, this one individual approached me at a conference. Actually, he introduced himself to me and then he thanked us for code school for, I can't remember the course at the time, probably like a Rails course or something. But anyway, so he was basically thanking code school and the courses that we developed for helping him basically find his passion. I think that was, that was one thing that really, that really touched me because it wasn't about getting a programmer new to a technology. This was about a person finding out what his true passion was. So, and he came from like a completely non-technical job or profession or I don't think he had a profession at all. He was just doing something, you know, a nine to five, something to pay for the bills. And then through code school, he found out that he really had a passion for, for writing web apps, for programming. Yeah, it's very similar. Probably one of the conferences I went to, some guy came up to me, said he was doing something, some job that he really hated, tried to get into Rails, started with Rails for Zombies, and that sort of turned him on to the whole Rails stack. He learned it and now he's got his dream job. It's crazy when you hear those stories. I actually went through Rails for Zombies myself. Nice. I really enjoyed it actually. And I think you, I think it was an RSpec course. Nice. An RSpec course that was particularly interesting to me. So it changes people's lives, right? Learning changes people's lives because it gives them a chance to do something. It gives them new perspective at the very least, and sometimes it gives them employability. And in extreme cases, it can completely change where you're living. At the very most extreme case, I guess. Absolutely, absolutely. And not only are we teaching people specific technologies, but once people learn a couple languages, they sort of like lose that fear of learning too, right? So I think that's really a cool aspect of it. Of TechEd. Yeah, that's a really interesting aspect to explore because going into programming, I think a lot of people see it as one big wall, right? Like how could you possibly learn that many different things? The reality is a lot of people think that you can only focus on one thing and become really good at it. But when it comes to programming, once you learn JavaScript, for example, it's probably going to be easier to learn Swift. Right. Or once you've learned Haskell, then it certainly is going to be easier to learn other functional languages. Right. It is an interesting, unique kind of practice. It is a unique field because most of the stuff that we do ends up informing the other things that we do. Yes. The light bulbs go on in people's head. Particularly, I've seen front-end developers, when they see JavaScript and when they see what JavaScript does, it's like they had a missing puzzle piece and it fell into place. Right. It's like that's the thing that I've been looking for to be able to do the stuff that I couldn't do with just CSS and HTML. It's like JavaScript, you complete me. At least front-end JavaScript. So kind of shifting gears a little bit here because Code School is, correct me if I'm wrong, one of the largest or the largest code school on the internet. Is that pretty close to right? No idea. It's probably one of the larger. We've got, by now it's probably 1.7 million users on our platform. That's incredible. Yeah, it's ridiculous. Absolutely incredible. I guess the reason I ask that is because that is a huge entrepreneurial effort, right? To be able to reach that many people. And I'd love to gain some insight into how you, how you seek out that particular group of people. Well, what we do now is very different than what we did when we first started the company. And if you want to learn more, if you're into tech startup stuff and you want to really hear about the whole entrepreneurship journey, up on YouTube, just if you Google Greg Pollack Founders Talk, you'll find three different talks where I've really gone over principles that I've learned and things that I've done wrong and things that have failed in my past to really understand how we got to where we are today, including even and even through the whole acquisition that happened at the beginning of the year. But really, when it came to drive traffic, to learning resources, it started pretty simple. It started with blogging, right? So I got into Ruby on Rails when, even before it was 1.0. It was hot new language. And of course, in any hot new language slash framework, the documentation really sucks. And I think that's the key. Yeah. Yeah. And it's got lots of holes in it. And so I kind of out of frustration was like, oh, my God, there's no good documentation on this. OK, I'm going to write it. I'll screw it. I'm just going to write it. So I would write these tutorials on things like, you know, doing search in Rails or caching in Rails. And I would take the time after I publish these blog articles to also do self-promotion, right? It's not enough to just post it and leave it out there. You have to go promote the crap out of it. Where did you do that? Well, at the time, this is back in like delicious days and like the dig, like delicious and dig. And I would go on to, you know, I would email people. Right. So I would email key people that had influence around that topic to say, hey, check out my blog post, you know, and whatnot. And if you really dig it, maybe tell your friends about it. Right. So I would just try to do as much self-promotion as I could. And then, you know, help people because people would find the tutorial and they would need help or they'd put comments on there. And so I would keep very active. And these days it's even easier with things like Twitter and Facebook. If you can engage your community around your products, you can really gain an audience. And so from there, blogging, started podcasting really early, just covering the latest news in the Ruby and Rails world, which we still do through Ruby 5. And then speaking at conferences. I always went out and spoke at a lot of conferences. And then what I'd do is I'd create a conference talk. I'd film myself doing that conference talk and I'd put it up on the blog. And that would drive traffic too. Initially, we were a consultancy. So it was first consultancy here was called Patch Software. Then we rebranded to Rails Envy. And then it rebranded to Envy Labs, which is still an independent consultancy separate from Code School. And really, Envy Labs and doing consulting work is why the educational stuff and the blogging and the podcasting and speaking is what drove traffic and new clients towards the consulting work. And while everyone's doing consulting, I was still producing educational content and building an audience. But it wasn't for fun and profit. It was for the educational stuff, making money. The education stuff never made money for a long time. That was just to drive traffic towards the consulting practice. And then I figured out how to monetize the kind of educational content that I love producing. And that became Code School. Thank you so much for listening to today's episode, the first part of my interview with Greg and Carlos from CodeSchool.com. I really appreciate the work that they're doing at Code School. Make sure you subscribe to the show if you don't want to miss the second part of my interview with Greg and Carlos. You can do that in pretty much any podcasting app that you use. Of course, the show notes for this episode and every other episode of Developer Tea can be found at spec.fm. And until next time, enjoy your tea. Thank you.