The Freelancers’ Show 078 – Training & Coaching

00:00
Download MP3

Panel Curtis McHale (twitter github blog) Eric Davis (twitter github blog) Reuven Lerner (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:30 - Panelist Training & Coaching Experience 02:40 - Traveling for In-Person Training 05:52 - Rates 08:35 - Teaching College Courses 10:43 - Online Training Recorded Videos Live Sessions Forums/Discussion Groups GoToMeeting Skype tmux Pair Programming 17:15 - The Value of Training Expense vs Investment 19:54 - Structuring Exercises Canvas Working in Pairs 27:58 - Screencasting The Freelancers’ Show 071 – Recording Video 29:32 - In-Person Training vs Online Training Non-Verbal Communication Asking Questions 34:53 - Teaching Preparation 38:51 - Charging What You’re Worth Picks Joshua Clanton: A Drip of JavaScript (Reuven) Sensei (Curtis) Curtis McHale: Don't be an Idiot: Learn to run a viable business (Curtis) Zite (Eric) Civilization IV (Chuck) Discourse (Chuck) Book Club Book Yourself Solid with Michael Port! He will join us for an episode to discuss the book on September 24th. The episode will air on October 3rd. Next Week Freelancers Show: WordPress Plugins with Pippin Williamson Transcript CHUCK: [Stretching][hosting and bandwidth provided by the blue box group. check them out at bluebox.net.] [You're fantastic at coding, but do you have an action plan to take it to the next level? The upcoming book, Next Level Freelance, will help you optimize your freelance business for happiness. The book is packed with actionable steps to make more money, case studies, tips to find more clients, and exercises for you to establish your desired lifestyle. Extras include: 9 interviews with freelancers who make great money while enjoying great work-life balance, videos on strategies to find quality subcontractors, and videos on making more free time by outsourcing your daily tasks. Check it out today at nextlevelfreelance.com!][this episode is sponsored by planscope. planscope is a project management and collaboration net built for freelancers in the way they work with clients. it makes it easy to price out new estimates and wants you on their way and help answer the question just to get done on time and under budget. i’ve been using planscope to do my estimates and manage my projects and i really, really like it. it makes it really easy to keep things in order, and understand when things will get done. you can go check it out at planscope.io.] CHUCK: Hey everybody and welcome to Episode 78 of The Freelancers' Show! This week on our panel, we have Curtis McHale. CURTIS: Hello! CHUCK: Eric Davis. ERIC: Hi! CHUCK: Reuven Lerner. REUVEN: Hi there! CHUCK: I’m Charles Max Wood from DevChat.tv. This week, we’re going to be talking about “Training and Coaching”.  Just to start this off, how many of you guys have done much training or coaching? CURTIS: I do run a blog that does coaching or training all the time for WordPress stuff, and then I do it with clients as well. REUVEN: I do a ton of training. Probably 2-4 days a week is a good estimate where I go to companies and I train them in person. And then I’ve done a fair amount of coaching as well where I go to companies and I sort of move around and sit with their people and do pair programming and look over their shoulder. CHUCK: I’ve done a fair bit. I haven’t done like on-site, stand up in front of people kind of training except maybe at users groups. But I’ve done a bunch of coaching. I’ve had several people come to me, “Can you sit down and help solve this problem?” Or, “Can you sit down and basically teach me these things that I don’t understand?” and I just get on and kind of pair program with them over the internet to do the coaching. CURTIS: I’ve done stuff at local user groups as well where they’re teaching really basic stuff. Or,

Transcript

CHUCK: [Stretching] [Hosting and bandwidth provided by the Blue Box Group. Check them out at bluebox.net.] [You're fantastic at coding, but do you have an action plan to take it to the next level? The upcoming book, Next Level Freelance, will help you optimize your freelance business for happiness. The book is packed with actionable steps to make more money, case studies, tips to find more clients, and exercises for you to establish your desired lifestyle. Extras include: 9 interviews with freelancers who make great money while enjoying great work-life balance, videos on strategies to find quality subcontractors, and videos on making more free time by outsourcing your daily tasks. Check it out today at nextlevelfreelance.com!] [This episode is sponsored by Planscope. Planscope is a project management and collaboration net built for freelancers in the way they work with clients. It makes it easy to price out new estimates and wants you on their way and help answer the question just to get done on time and under budget. I’ve been using Planscope to do my estimates and manage my projects and I really, really like it. It makes it really easy to keep things in order, and understand when things will get done. You can go check it out at Planscope.io.] CHUCK: Hey everybody and welcome to Episode 78 of The Freelancers' Show! This week on our panel, we have Curtis McHale. CURTIS: Hello! CHUCK: Eric Davis. ERIC: Hi! CHUCK: Reuven Lerner. REUVEN: Hi there! CHUCK: I’m Charles Max Wood from DevChat.tv. This week, we’re going to be talking about “Training and Coaching”.  Just to start this off, how many of you guys have done much training or coaching? CURTIS: I do run a blog that does coaching or training all the time for WordPress stuff, and then I do it with clients as well. REUVEN: I do a ton of training. Probably 2-4 days a week is a good estimate where I go to companies and I train them in person. And then I’ve done a fair amount of coaching as well where I go to companies and I sort of move around and sit with their people and do pair programming and look over their shoulder. CHUCK: I’ve done a fair bit. I haven’t done like on-site, stand up in front of people kind of training except maybe at users groups. But I’ve done a bunch of coaching. I’ve had several people come to me, “Can you sit down and help solve this problem?” Or, “Can you sit down and basically teach me these things that I don’t understand?” and I just get on and kind of pair program with them over the internet to do the coaching. CURTIS: I’ve done stuff at local user groups as well where they’re teaching really basic stuff. Or, I was sitting in one, my friend was teaching, and there was a very, very basic users so I kind of took over their questions so they can continue on the advanced topics as well. Most of my training is online stuff that I provide. CHUCK: I’m kind of interested in – I know Reuven has done some traveling to do in-person training for a whole bunch of programmers at once – how does that work? Because I really haven’t done that, I’m a little bit interested in it and just see how you get those jobs and how you work it out so that you can teach people. Or, what kind of preparation you do on things? REUVEN: Let’s see…When I do in-person training – actually, I guess all the training I’ve done so far has been in-person – virtually all of it that I’ve done over the last few years has been throughout a training company here in Israel that also has branches in Europe and China. Basically, they’ll call me and they’ll say, “Hey, such and such company wants to have an Intro Python course, or an Intro Postgres course,” something like that. They have the following requirements: Does that fit into our regular syllabus? Is there extra development involved? What do we need to do on that? Once we figure that out, they do the price quote, they come back to me, they’d tell me, “Okay, everything’s alright. It’s going to be 2 days, 3 days, 4 days,” whatever it is, we schedule dates, and then basically I just show up. I used to do this on my own, too. And I sometimes do it on my own without this training company, although, they get very annoyed by that for obvious reasons… CHUCK: [Laughs] REUVEN: So I try to keep it to a minimum just because I really don’t want to tick them off too much. The big surprise for me with this training company was, the first time I was going to work for them, they called me about a week in advance and they said, “So, where are your slides?” I said, “What do you mean where are my slides?” They said, “Obviously, we’re going to print up a book, and give the slides printed to the company that you’re doing the training at. So in order to print it on time, you have to give it to us.” And I’m a really last-minute kind of guy, if you hadn’t figured that out already, so it’s not unusual for me to be sort of editing and finishing slides on the train on the way to give the lecture. This forces me to be a little more organized and do things in advanced. Nowadays, I’m used to have it and give them the slides, say, a week in advance. That’s really been the big training for me, from having the slides and working with them to printing them out in advance. And then I show up and I teach. We take breaks during the day, like 1 or 2 breaks in the morning, 1 or 2 breaks in the afternoon, break for lunch, and then I go home! CHUCK: Go home meaning you fly halfway around the world, right? REUVEN: [Laughs] Well, so far, we haven’t managed to do any training in Europe. It’s just been 2 courses that I did in Beijing, both actually at the same company; one Ruby course and one Python course. The first time I went to Beijing, I was talking there all the time and getting all sorts of direction of where to go. I had to get to the hotel myself, but then they met me the first morning at the hotel, and we went together to the client’s office, which was a disaster in of itself because I actually had checked Google Maps and knew it was a 10-minute walk. And the Chinese woman who met me there tried to convince me that we should take a taxi and we got in there about half an hour late. [Laughter] REUVEN: And then I showed her how we could walk there. She was like, “Oh, my god! How did you figure this out?” “Google Maps.” The second time that I went to Beijing, no one met me. [Chuckles] No one did anything. Basically, it was just like showing up at a client in Israel. Just, “We expect you there at 9 am,” and so I showed up, then I started teaching, which was a little strange, but it worked out. CHUCK: Yeah, that makes sense. So I guess the rate that you get is determined by the company that books you. REUVEN: Right. There are different ways to play this. In general, when I go to this company, they negotiate some sort of rate with the company that ordered the training. I actually have very little idea how much they’re charging except when they accidentally CC me on email I’m probably not supposed to see. I negotiated the rate with them that I get. I expected there is some disconnect between – I know that there’s some disconnect between what they’re getting, what I’m getting. And the advantages of going through a company as opposed to doing it myself, which I had done for years, is they just have a whole bunch of fulltime marketing people and sales people and they have their tentacles in every high-tech company in Israel. So 2 months ago…I guess more of like 3 or 4 months ago, I had a client where I’ve been going onsite twice a week. They said, “You know, we have you worked with our new employees, and we know you’re going to the US, so why don’t we just take 3 months off, 4 months off, and we’ll restart this in the fall?” I said, “That’s fine.” But 2 days a week on an ongoing basis, I need to fill that some time. So I called the training company, I said, “Can you fill 12 days in the next 2 months?” and within 24 hours, we’d fill those days; there’s no way I could have done that on my own. CHUCK: Oh, nice. That makes sense. CURTIS: For me, I actually forgot to mention, but I’m teaching at the local technical college, the local in Vancouver, after Christmas, and they just told me my hourly rate, which is good; still about 90% of what I normally make, which is much more than I thought. Also, they pay you an extra hour, an extra hour a day for your first course because they figure you’re new, it’s going to take longer. REUVEN: Take longer to prepare? Or, take longer to teach? CURTIS: Take longer to prepare. They figured you do a bunch of extra work you won’t have to do, like the second time you teach the course. And I’m teaching a totally new course that has never been developed at their facility at all so they have no old syllabus, they have nothing. CHUCK: Do they own your curriculum? CURTIS: I haven’t read the contract actually. CHUCK: [Laughs] REUVEN: In my case, definitely not. I definitely own my material, and I’ve made that clear from the beginning. And then funny, sometimes when I’m not available to teach, they’ll say, “Well, someone really wants a course during such and such a week, or such and such a month, and you’re not available, so would you please give us permission for that lecturer to use your slides?” My answer is always, “Sure! Here you go,” but I promise you that they won’t be able to use them because it’s so attuned to my teaching style, so attuned to how I do things, which have all the huge number of live demos that I just find it very, very hard to believe that they would actually want to use my slides. CHUCK: Yeah, I can definitely see that. Now, with the college, I’m kind of curious how that works. So they just contract you for a semester? CURTIS: No, it’s more of a modular because it’s a technical college. My next course, I teach like a Thursday, Friday, Monday, Tuesday, so I’m just in for that one module. And then their advanced program, there’s 4 modules, I’m teaching 3 of them. CHUCK: Oh, okay. CURTIS: The one after that, I’m in for like a Friday, Saturday – Friday evening and Saturday – for couple of weeks running. And then, I can’t remember the other time further the next, but something like that as well. REUVEN: If these are weekend courses, Curtis, I assume that means these are professionals as opposed to actual, regular college students. CURTIS: The first one in January is regular college students, which is why it’s the Thursday, Friday. The next one is for kind of everyone – professionals and for the college students. So we’re just assuming a very similar course, but we’re assuming a different level of knowledge. And then for the third one I’m teaching is for regular college students again, and it’s kind of a different take on advance. I’m doing eCommerce on the first 2, assuming different levels of knowledge for each one; and the second one is more advanced WordPress stuff. Even possibly another one where we’re doing more business stuff that’s going to be for the students so they could run a freelance agency or just not be dumb when they go start the jobs out. REUVEN: Wow! CHUCK: Did they approach you? Or, did you approach them? CURTIS: My friend already taught there, and they were looking for someone to do eCommerce. And then, they came and saw me present in Vancouver, actually, and asked me after. I had no idea I was getting evaluated or anything and they watch me present that and I think one other thing before [unclear] online. And then after my presentation 2 weekends ago at the WordCamp, they said, “Hey, we were thinking about another course, and your talk was very similar to it. Would you be willing to do that one as well?” So it might be like 4 courses now. REUVEN: I’ve definitely found that speaking at conferences is great for business in general, and particularly for training, because you got a large audience that people who are interested in the subject, they’re like, “Oh, that person can actually put 2 words together. I think they might be able to come to my company and help me out.” CHUCK: Yup. So have you guys done much training online? ERIC: Yes. REUVEN: No, but I keep thinking about it and I’m talking about it. ERIC: I did one thing for a client that was kind of like – I’ve worked with them for a couple of years at that point, and they want their team to learn about kind of specific topic. And then I did like one or maybe 2-hour webinar kind of open question and answer thing for them. CURTIS: Now we went to webinars, I’m actually doing one tomorrow for iThemes. Basically, at my book, I talked to the owner of that in an interview and we talked about webinars and some other stuff. And then he wanted me to talk about doing Mastermind groups because I’ve started one, so I’m doing that tomorrow; I’ll be doing training and Q&A there. REUVEN: When you guys talk about online training, there are recorded videos where people just sort of download and watch the videos. There are live sessions; it could be even live video and audio sessions. And then, of course, there’s just sort of mixes of those with the forums and discussion groups and so forth. What have you guys done? CURTIS: I’ve done recorded videos, and then I guess I’m doing a live webinar tomorrow. And I have a forum, but no one ever uses it, so we don’t even have to count that. CHUCK: I’ve been doing Rails Ramp Up, which is kind of a blend of all of that, so there are the recorded videos. And then on top of that, I also do live sessions every week; those are 2 hours a piece, which if you consider – because I’ve also done, like I said, kind of the pair programming thing and I charge that out; I’m actually going to raise my coaching rate to $200 an hour. Anyway, so I’ve been doing that as well. If you consider my coaching rate versus these classes, you actually get a much better deal on my time and you get all of your questions answered and things like that as well. But the cool thing is that – Curtis just posted in the chat that numbers are always good to hear so I’ll put this out there, I really don’t care – Rails Ramp Up cost, this time around, it cost $1500; the next time I do it, it’s going to start in the beginning of October. The whole idea is to get people to the point where they can kind of do junior developer Rails stuff, and I’m going to expand it to 3 months. Basically, the reason is because I’ve been looking at these boot camps that are out there, and I feel like people shouldn’t have to move or do any of that crazy stuff in order to go learn Rails, unless they want the full emergent experience. Anyway, I’m putting it together and I had pre-prepare all of the stuff I’ve been doing for the live presentations. But I’m going to move more into a Q&A format, and just answer questions, do live demos. Most people are pretty understanding if you screw something up on a live demo, if you have a typo, or you hit an error that’s kind of dumb or something every once in a while. CURTIS: Well, even senior thought process to figure that out is a big thing. For someone who’s new and doesn’t have those thought processes built-in because you jump to some, sometimes, you write the solution immediately because of past experience without error. Whereas, the other person would be like, “I have no idea where to even start.” CHUCK: Yeah, those definitely that. REUVEN: I totally tell that as, again, an important thing in what I do when I train, that every exercise that I give, I give them obviously a while to do it. And then I solve the exercise step-by-step in front of them, live coding it, and want them not only to see the way that you attack the language and the way that you think about it in terms of data structures to know it works, but also the thought process. This is how you think in another language. Because I’ve seen, in particular, a lot of the training classes that I give are people who come from C++ or Java, you can teach them Ruby or Python pretty easily at least in terms of the syntax. But the differences in style and the difference in development process, that totally floors them again and again, and seeing someone do that in front of them, I think it’s pretty valuable. CHUCK: The other part of that is I’ll whip out the debugger or something because I’m like, I don’t know where I made the mistake. Stuff like that also really seems to payoff for people especially when they’re new and they’re going to make mistakes as like, ‘Oh, this is how you unmake your mistake.” But yeah, I use GoToMeeting for my live training. I use Skype when I’m doing one-on-one stuff, and I just usually share screen unless I absolutely need to type stuff. And then I’ll share my screen and check out the code or I’ll use something like tmux. It’s really kind of fun to be able to sit down and chat with people who are somewhere else in the world and see their problems and stuff like that. CURTIS: Yeah, I’d like to be able to do more of that one-on-one training with people. But it seems, based in the WordPress field, there’s a lot less people that are even interested in pair programming at all. It’s just that most people don’t do it. When you talk about it, people wonder what it is and why would they do that. REUVEN: When I’ve done that sort of coaching/pairing with people in person, we’ve never really called it that per se, but that’s really what it was. The best example was like I guess 2 or 3 years ago, I would go to a company twice a week and they would sign up in advance for like slots. So everyone got half hour or an hour long slot, and I would just run from office [unclear] or cubicle. Incidentally, the person say, “So, what’s your problem?” and we would open the editor and work together, and it was great. But I think if ask them, “Are you doing pair programming?” they would say, “No, what are you talking about?” CHUCK: Yeah, there’s definitely that. I don’t really call it pair programming when I’m talking to these clients, it’s usually, “Well, we’ll sit down and look at your code together.” REUVEN: Yeah, exactly. CHUCK: Because that’s really what we’re doing…I don’t mind doing a code review, I don’t mind doing a code review with them present; it really just depends on what the need is and where they’re struggling, and it’s always been interesting to me how much that pays off. This is something that I also offer as part of my online course. It’s really nice to be able to just help people kind of get through whatever it is that’s hard because everybody struggles on a different place. REUVEN: Yeah, absolutely. CHUCK: But also, I provide videos, I do the online training, I do one-on-one stuff, and that’s kind of my approach to the “class”. I think of it more as a mentorship program than an actual class. REUVEN: I was going to say, I don’t get involved with the financial negotiations with this training company, but very often – in fact, I think twice today…today or yesterday, I can’t remember anymore – I had phone calls with potential customers that wanted training. And every single time – so the standard Intro Python course that I teach, what we do is an open class where anyone who wants to sign up can come, is 4 days – so every company says, “Oh, no, no. Our people are really smart. They do not need all 4 days of training.” CHUCK: [Laughs] REUVEN: Every single company is going be like it’s woebegone, where all the children are above average. So we say, “Okay, fine. We’ll do it in 3 days.” And truth be told that experienced programmers can do it in 3 days. But twice in my last day, I’ve had conversations with companies where they were like, “Well, we really want to cut that in half.” So one company want to do Intro Python in 2 days, and I spent a long time trying to convince them that this was just not reasonable, that either we’d have to ignore half of the material, or they wouldn’t do exercises. They said, they’d go back and try to get budgeting and calendaring permission. And then I was in a new company wanted to get training and they want to do it all in half a day, they said, “We just want to introduce people to commands; you don’t really have to go into detail or anything.” Trying to get over this mindset of “training is a waste of time, but we have to do it anyway” is very frustrating. Because my feeling is – CURTIS: It’s seeing it as an expense, not an investment. REUVEN: Right. Exactly. So my point to these people was, “Listen, if all you want to do is teach people some commands, don’t bring me in [chuckles]. Just find some video online and show it to them, or give them a cheat sheet. What you want me to be doing is sort of advance them faster than they can do themselves, and give them insights, and give them exercises that are really going to force them to understand and internalize what’s going on.” I got sort of a grudging okay from them, but I don’t think, at least in one case, I don’t think they were totally convinced. CHUCK: That’s interesting. I really haven’t run into that. CURTIS: Yeah, that’s totally this short-sightedness of managers and people at top looking at training as an expense instead of an investment. I block at time for my own training because it is an investment for me to be able to do better work, do more work, do more complex things. REUVEN: Right. And I tell people that every time I teach a course since it’s the same course, it’s going to be better because I’ve spent time improving, learning the material better myself, and going to more depth, then improving the slides, everything. Even the exercises, just in the last year or two, I’ve dramatically improved the exercises I think, and I see the results; I see people understanding it better, and that’s a great feeling for me. CHUCK: Yeah. So how do you structure your exercises? I offer exercises as part of my class, too, but I’m kind of curious as to what you do with your approach to that. REUVEN: I generally give them a specification like I say out loud what I want and then I write it down (type it in). Sometimes, it’s something as easy like one of my favorite additional exercises to do is to write a translator into Pig Latin. The first one is, get a word and produce the Pig Latin. Now, of course, most of my trainees are in Israel, so I have to teach them Pig Latin as well, but that doesn’t take too long. CHUCK: [Laughs] REUVEN: [Laughs] They’re not quite sure what to do with me when I say, “Really? Like 8-year olds know how to do this very, very quickly in America,” well, it’s certain [unclear] 8 years old, like yours truly was. So I give them a description of what I want as output. Usually, it’s not too long or too precise; the idea is I want them to spend time working on the code, not worrying about, “Have I done every last little thing that the spec requires.” CHUCK: Yeah, that makes sense. I tend to do the same thing. So for the Rails class that I’ve been teaching…I hate calling that a class…for the mentorship program that I’m doing, I do the same thing. We go over models first, just kind of give people a base line for what they’re going to be pulling mass of their data in the controllers. And yeah, it’s the same kind of thing. It’s like, “Look, don’t worry about how the controllers are going to get to this. Don’t worry about this, that, or the other,” I usually let them pick their project so then I tell them, “Go ahead and set up the models for your class or for your application.” And then the next one is Views, so then it’s like, “Okay, do the basic HTML layout for your View,” and I give them just enough controller basics to be able to pull data in if they really want to. It’s just kind of builds on itself and it’s really focused on one aspect of whatever it is that I’m trying to teach them. REUVEN: I love educationally the idea of letting people work on a project that they’ve chosen, and I totally think that’s the right way to go. CHUCK: It makes it harder, though. REUVEN: That’s the thing. I found that the loser I’ve been about such things, the more I’ve ended up doing just sort of technical support and strategizing and architecture rather than trying to focus on the topic at hand. I also used to say, “Come with whatever computer you want! You can start Ruby really easily.” I realized, “Oh, my god! I spent way too much time then trying to install Ruby and Postgres and Rails and gems and everything on each and every different computer that people had; it just burn away too much time. CURTIS: I’m planning for mine, since I’m teaching eCommerce as the first one, and more from like I click it and install that point to view as opposed to heavy coding. And when I have probably 2 projects, you can choose your platform really; one will be suited for one platform, and one will be suited for another. CHUCK: Yeah. CURTIS: So if I’m going to have it like, “Here’s your client and here’s what we’re supposed to do.” CHUCK: This is actually part of the reason why I’m going to be expanding from 2 months to 3 in Rails Ramp Up; it’s because I want them to be able to build an application that I’ve kind of tailored toward what they want or what they need to learn, and then have them build their own thing. Because I still feel like, if they’re working on something that they care about, then they’re going to take the time. If they’re not, then they’re going to do basically the minimum I require of them and they’re not going to get it. REUVEN: Absolutely. I would say it takes me probably about 10 times of teaching a class until I feel comfortable with it, like that I feel it’s really pretty solid. And even then, after that, got more iterations, a lot of that is trying to hit the sweet spot on the exercises that is not too hard and not too easy, but it also hold their interests. CHUCK: Yeah. REUVEN: But if they can do their own thing, that’s like guaranteed to hold their interests so that’s amazing. Chuck, when you have people do exercises, do they just runoff and do it on their own? Or, are they asking you questions at the same time? CHUCK: The software I’m using is called “Instructure Canvas”, it’s Canvas; it’s by a company called Instructure, which is based here in Salt Lake City. I actually used to work with a fair number of people that work there. But the nice thing about it is it has built-in forum and a whole bunch of other features that make it really handy for doing a course like this. So I just use those features, and structure the course according to what I think ought to be done. It’s worked really nicely. What happens then is they actually wind up participating in the course that way. So the form basically has pinned topics for each week’s videos, and then it also, on top of that, has questions from the students that are unpinned so all the questions for the students are below and they’re just sorted in order of like the most recent one. It’s worked out pretty nicely. And then, I’ve also gotten a few questions via email and things. What I tend to do with those is I will take out any identifying information about the application or the student who post it if they care. What I wind up doing instead is I’ll put it into the forum anyway and answer the question, and then I’ve spent a bit of time. One of my students is actually local, so I’ve gone out of my way, I met him for lunch this last week, and we actually went over his app and worked on some stuff there, which was really nice. And then, I’ve gotten on Skype with a couple of other students as well and figure that stuff out. So yeah, there’s a lot there. And I think the, basically, unlimited support is something that really makes a difference as well because when I learn to program, I did it with a mentor; I had a coworker that was doing Rails that could help me figure this stuff out so I felt like I wanted to offer that to my students as well. Anyway, there’s a lot there. When they have questions, they’ll later hit me up on Skype, or they’ll put into the forum. REUVEN: That’s good. When I’m teaching in-person, obviously, people are going to ask me questions. It depends on the group. Some groups are just very, very quiet and they ask nothing. Another groups are constantly asking me stuff while they’re working on the exercises. But I see that as, “That’s why I’m there,” so that when they get stuck, we can talk about things and they can try to understand it as opposed to just beating their heads against the wall. CHUCK: The thing is this, if you get stuck and you have somebody who can explain it, that’s a couple of hours that you don’t have to spend on Stack Overflow getting the wrong information for the wrong Rails version or whatever. REUVEN: [Chuckles] That’s right. CHUCK: I hate to say it, but it really is the case. It’s pretty common where I’ve had students go, “Well, I found this article on Stackoverflow,” and I’m like, “This class is focused on Rails 4, and you’re looking for something on Rails 2, and they really don’t mix [laughs] in these instances.” Just stuff like that. REUVEN: Yeah, absolutely. I tried to encourage the students in my classes to work in pairs. I don’t know if they’re called pair programming, but I guess it’s effectively that, that when they’re doing the exercises, they should try working in pairs. In that way, an extra pair of eyes, different experiences might help out. Rarely do they actually do this. But when they do, it’s always better; they advance more, they understand things better. It’s like excellent educationally. CHUCK: I think that’s easier to do if you’re in-person. REUVEN: Right. CHUCK: Or, the people are closely located with each other. It’s not a bad idea, and I should probably encourage my students to do that as well. If you’re doing an online training, some of you guys mentioned that you’ve done videos, and I know we did an episode on screencasting, but does it change the equation at all if you’re doing it for student or somebody you’re mentoring as opposed or client even as opposed to somebody that’s taking a class or something like that? Or, screencast for the general populace, I guess. CURTIS: [Unclear] like what I’m tailoring, even client training, how to use their custom functions of their site that are tailored directly to them. Whereas, for the wider world, you have to either assume knowledge or assume they don’t have it. So what I’m doing is stuff that starts off you need to have WordPress installed preferably locally, I have to link back to the local one all the time. ERIC: And same for the training stuff I did. I went into and talk to the client and talk to anything I have, a dozen people or so they’re in it, and found out what their experience was and like what they wanted to learn from it. So I was able to like skip over topics that they weren’t going to use at all and kind of dig into. In this case, they had more questions about the process, then most people would have more questions about the tools. So when I really customize the training, like in my case, there’s a lot of open Q&A, so that part, it was completely unscripted; they just kind of started asking questions and I would kind of work through it with them. CHUCK: Yeah, it makes sense. I’m a little curious; do you guys find that it’s easier or harder to do some of this training in-person versus over the internet? REUVEN: I don’t know if you have any overlap here, except for you people who have done both. CHUCK: I find that – if you want my opinion – I find that in some ways it is easier to do it online, and in some ways, it’s harder. The people who tend to come to you over the internet are people who, in general, are willing to go out and put forth the effort to learn it themselves. So, since they’re kind of self-starters or whatever you want to call them, it’s usually a little bit easier to just kind of get them going. The in-person folks tend to need a little bit more hand holding, but at the same time, you get that higher bandwidth communication in person. So in that sense, it’s a lot easier to put something across because you can literally grab the keyboard and say, “Well, I do this this way.” Or, open up the Rails console if you’re teaching Ruby on Rails and say, “Here’s how the models structured, and look, here’s the API for it and here’s what it does,” and you can just do it right in front of them. You can mostly do that online. But it’s not the same as actually grabbing their computer and doing it in their environment. I think that’s some of the tradeoff. ERIC: You’ll also going to miss a lot of the non-verbal communications. If you’re teaching out live and you say, “Refactor this with extract method,” and like you just see these glaze looks on their faces, you know you do need to explain something versus online, you might say that and not notice or get any kind of response and just plow through onto the next subject. If you had that point, you lost a student. CHUCK: I do run into that sometimes where I’ll ask them, “Does anyone have any questions?” and I’ll get silence. And then, the next day or two, I’ll have a question come up from somebody and it’s like, “You know, I never really got this,” [chuckles]… REUVEN: Yeah [chuckles]. I know this is painting with the next really broad brush, but I find that my Israeli groups, they do not hold back; they will ask questions, they will interrupt me, they’ll make it very, very clear when they don’t understand things. The Americans I spoken are way quieter, and the Chinese groups I spoke were even quieter than that. CHUCK: Oh, wow! REUVEN: [Chuckles] The first time I taught an American group, I literally went through one-day slides in half a day because I was banking on the fact that there would just be so so many questions and interruptions and, “Well, what do you think about this in our company?” So I’ve definitely learned to sort of adjust the number of slides and then out of material based on the nationality and the culture. CHUCK: That’s why I want to move more toward, in my case, move more toward the pre-recorded video for the course material, and then move more toward the Q&A and demo for the live section. In that way, it’s like, “Look, this is a Q&A [chuckles]. You are intended to ‘Q’ so I can ‘A’.” REUVEN: [Laughs] CHUCK: [Laughs] If that makes sense. REUVEN: That’s a great point, that if you make it very clear, “This is the time to ask questions,” they might be more forthcoming, that’s true. CURTIS: I think it’s going to depend, too, on I guess their experience. I guess when you’re teaching intro courses, they’re not experienced; they don’t even know if the question is dumb. I remember, when I finished up my psychology degree a few years back, I jumped in kind of halfway through the whole thing so I still had like a first year class to take in my last year, and nobody would ask questions ever. I was the only person who had my hand up like any time there’s anything, I’d stop the teacher, “Hey, what about this? What about this?” And then the upper level course, it’s like everyone was asking questions all the time. CHUCK: Yup. ERIC: It’s also, I think, confidence. If you know the material, but you might not know that much as the teacher, you’re more willing to kind of stand up and ask a question versus if you’re a beginner, you don’t know if the question you’re asking is really dumb so you’re afraid and kind of have the self-esteem/confidence things to work through. CHUCK: Yeah. REUVEN: There usually a few people, at least like one or two, who are unafraid to ask questions, and I can really help to break the ice. If they’re uninhibited about asking questions, they’re not going to be embarrassed, then other people are not going to be embarrassed either, so that can really open it up. But if I think about doing pre-recorded videos, I’m sort of depending on “we’re expecting the interaction with the students as part of the rhythm of the teaching”. So it seems like recording something, I’ll retrain myself; it’s a totally different kind of paradigm. CHUCK: Yeah, it does affect the flow of the training a bit to have somebody actually in the mix asking the questions and kind of highlighting the things that you missed because, let’s face it, we all kind of forget sometimes what it’s like to be a beginner especially at something that at the level where we feel comfortable teaching. So it is really nice, but at the same time, that’s why I really feel like I want to couple the pre-recorded stuff with the experience mentorship. In that way, the questions do get answered, but people can at least review the basics as many times as they need to in order to be able to get them. REUVEN: I really like that idea. CHUCK: Yeah. That’s kind of the approach that I’m really liking. REUVEN: Chuck, how much prep time do you find that you need for these courses? And I realized that screencasting and video can consume an enormous amount of time as well above and beyond the teaching preparation. CHUCK: There are a couple of things to be aware of in my particular case and that is that, right now I’m in my second pass through Rails Ramp Up, which means that I’ve already done the prep [laughs]. All I did was I added in the things that were different in Rails 4, took out a few things out of the few things. But generally, if I put it off -- and sometimes I do, I’ll admit those – if I put off the preparation, I can usually prepare for 2 hours of live teaching in about 2 hours. But again, I’m really counting on that high visibility, high availability bandwidth to be able to stop and explain things if people have questions, and I do a ton of demo stuff. I’ve had people stop me and tell me, “Okay, I don’t understand what you’re doing here,” and that kind of thing to back me up and make me get to the point where I explaining it in a way that they get it. It’s funny because it’s different for every group of students as well; the things that they understand and don’t understand already. But if I’m pre-recording it, generally, it’s a whole lot more because I’m sitting down and I’m trying to exhaustively cover something so I prepare a bunch of notes, “Here’s what I want to explain, here’s the demo I want to do,” and get some more details because I want it to be really smooth and clear and clean so that they get the most out of the pre-recorded content because I realize that I’m not present when they’re watching it to answer the questions they have. Usually, that’s probably 4-6 times as long as the video is going to be, at least. REUVEN: Yeah, that makes sense. When I’m asked to do custom training stuff, I also usually estimate that it’ll be about between half a day and a day of preparation for each day of training. And every so often people say, “Really? It takes you that long to prepare the slides?” I’m like, “Boy! The slides are the easy part, folks.” CHUCK: [Laughs] REUVEN: The tough part is researching it and making sure I’ve really crossed the ‘this’ and ‘that’ of the eye, coming up with exercises, and really preparing. And they’re like, “Oh, we haven’t really thought about that.” CHUCK: Well, and even still, for me, if I were going to go and do a day of training in-person at a company, that half a day, that would be on something that I know cold – I know it down cold; I don’t need to really go and learn any of the idiosyncrasies of it because it’s something that I do every freaking day. That’s just making sure that the one or two gaps in my knowledge, things that I don’t do every day, are understood so that I can teach them. REUVEN: Right. CHUCK: But if it’s a new topic -- for example, if they wanted me to do a few days of training on PostgreSQL, I can get them through the basics, but I don’t think I could teach an exhaustive course on it. So I’d be spending probably a day to two days for every day of live training I was doing for on it. I can teach them enough so that Rails can talk to it, but that’s the extent of it, and I’d want to be able to answer more exhaustive questions on it. REUVEN: Right. CHUCK: Anyway, we’ve been talking for almost our entire hour or so that we usually spend talking about the stuff, are there any other things that we want to talk about or questions that you guys have about this kind of training and things before we move on? REUVEN: I’ll just say it’s very common for freelancers to, or for engineers, to under price what we do. It’s very common also that if you can teach something to say, “Oh, it’s easy! I’ll just put it to the other,” the combination of those two can lead you to really, really undercharge for training. I used to, a number of years ago, charge exact the same amount for consulting as I was with training. I was like, “Well, an hour of my time is an hour of my time, so who cares if I’m teaching or if I’m developing software.” But the value added, if you’re good at what you do, the value added that you’re giving these companies is very, very high. So you should check around to see what people in your area of the world are charging for training and charge appropriately so that you don’t leave money on the table. CHUCK: And by appropriately, he means at least that. REUVEN: Yeah [chuckles]. CHUCK: Honestly, though, that’s been my experience is. If I’m good at what I do – I’m not trying to sound cocky here – but if I’m a high-end Rails developer and I’m a high-end Rails trainer, then I should be able to charge at least what those folks are charging. REUVEN: Yes. CHUCK: If not, then yeah, I guess charge appropriately. But I really am not comfortable doing training on things that I’m not really expert in. Alright, well, let’s go ahead and do the picks. Reuven, why don’t you start this off? REUVEN: Alright, I got really just one pick for this week. I discovered, I don’t even know how, but this guy named Joshua Clanton, who might be very well-known for all I know, he has this weekly email newsletter called “A Drift of JavaScript”. I’ve just read a few of the episodes, few of the mailings that he sent out, posts that he has done, and I’ve really enjoyed it. I found it to be very informative and enriched my idea of JavaScript. Okay, I’m getting a lot of Rubying here in the chat room for having only one pick. Next week, I’ll be back with 10! [Laughs] Anyway, that’s it for this week. CHUCK: Alright. Curtis, what are your picks? CURTIS: I’m going to pick “Sensei” by WooThemes, and it’s like a whole training, plugin, and package that lets you do quizzes in the middle and other video stuff throughout your whole course and pre-requisites in if you want them to have like the 101 before they do the 102 course. The second one I’m going to pick is the book that I just released last week, I guess to be 2 weeks ago, called “Don’t be an Idiot, Learn to Run a Viable Business”. CHUCK: Awesome! Eric, what are your picks? ERIC: I think I mentioned this a long time ago when it first came out, my pick is a program called “Zite”, Z-I-T-E, it’s for iOS and looks like Android also. It’s basically kind of like an aggregator that you’d say, “These are my interests,” and it gets you like news topics and stuff like that. I’ve been using that heavily since basically Google Reader died because there was kind of a [unclear] that I wasn’t sure what RSS really I was going to go to. So I was actually using Zite a lot just to kind of keep up on news. It’s a nice way if you don’t want to subscribe and get every single post for like [unclear] entrepreneurship, like I don’t care on everything on every entrepreneurship blog, but the good ones end up coming into Zite and I can read them in there. So it’s great for those 2 or 3 minutes of downtime you have here and there, and you just feel like reading. CHUCK: Awesome. I’ve got a couple of picks. One pick that I have is actually to “Unpick” something -- and these guys are all going to laugh when I say it. But a few weeks ago, I mentioned that I was probably going to be doing courses for Pluralsight. They came back and gave me a no-option to audition, reneged on giving me a contract offer, so yeah, that didn’t quite work out. I know that they do have good offering for their videos, but if you’re looking for courses for me on there, it won’t happen. Anyway, I do have a pick, this is an old game, but it’s a game that I’ve been playing a little bit lately that I’ve got, and it’s “Civilization IV”; I’ll put a link to that in the show notes. Other than that, the only other pick I have that I really been liking is called “Discourse”, and it’s an open source forum software. We moved Ruby Rogues Parley over to it; I’m trying to negotiate my way into Discourse forum for this show that similar to Parley, but it’s really nice, it’s really easy to manage. I think it’s really kind of fostered some terrific conversations. Anyway, those are my picks. We also have a Book Club and that is, “Book Yourself Solid” by Michael Port. We’re going to be talking to him at the end of this month so keep an eye out for that. It should come out around the 1st of October. We’ll wrap up the show. We’ll catch you all next week!

Sign up for the Newsletter

Join our newsletter and get updates in your inbox. We won’t spam you and we respect your privacy.