CHUCK:
Here goes nothing.
[This episode is sponsored by Hired.com. Hired.com is offering a new freelancing and contracting offering. They have multiple companies that will provide you with contract opportunities. They cover all the tracking, reporting and billing for you, they handle all the collections and prefund your paycheck, they offer legal and accounting and tax support, and they’ll give you a $2,000 when you’ve been on a contract for 90 days. But with this link, they’ll double it to $4,000 instead. Go sign up at Hired.com/freelancersshow.]
[This episode is sponsored by Nird.us. Do you wish that somebody else would handle all of those operation details when it comes to hosting your client’s web applications? Nird.us is a Ruby on Rails managed hosting designed to make your life easy. They migrate everything for you, and new sign ups referrals come with a $100 discount or referral fee. To sign up, go to freelancersshow.com/nird, and enter ‘freelancer’ into the contact form for a discount.]
[If you're someone who runs your own service-based business, then spending less time on pesky admin tasks means having more time to focus on your clients’ work which is why you need to give FreshBooks a try. FreshBooks is the invoicing solution that makes it incredibly simple to create and send invoices, track your time and manage your expenses. It allows you to quickly see and track the status of your invoice expenses and projects, and allows you to keep track of your expense sheets in FreshBooks. For your free 30-day trial, go to Freshbooks.com/freelancers and enter the Freelancers’ Show in the ‘How did you hear about us’ section when signing up.]
[This week’s episode of the Freelancers’ Show is brought to you by Earth Class Mail. Earth Class Mail moves your snail mail into the cloud giving you instant access 24/7 and integrates with the tools and services you use everyday. It’s crazy that we’ve moved everything we do for the business over to the digital world but still need to pick up, sort and manage physical mail. With earth class mail, you can get all your mails scanned and accessible online 24/7. You can search your mail, send invoices over to your accounting software, sync important documents into cloud storage, deposits checks and really just make running your business a whole lot easier. You also get real professional address to share publicly with customers, business partners and investors, and you’ll never need to worry about someone showing up at your door if you run your business from home. Visit freelancersshow.com/mail and you’ll get your first month of service free when you sign up.]
CHUCK:
Hey everybody and welcome to episode 185 of The Freelancers’ Show. This week on our panel we have Reuven Lerner.
REUVEN:
Hey everyone.
CHUCK:
I’m Charles Max Wood from DevChat.tv. I’m going to take a minute since it’s just the two of us and plug Freelance Remote Conf. Jonathan, Reuven; I think Curtis is going to speak. Brennan Dunn is going to be speaking. A bunch of other folks – I’m trying to remember who all we got, the committed. But yeah, we got a whole list. Philip is speaking; Josh Earl and Derick Bailey are speaking. Matt Inglot is speaking. And we’re reaching out to much more folks. Oh, and Marcus Blankenship is also speaking.
So anyway, if you're interested in that conference, you want to level up your freelancing, go check it out. We also have Jonathan Stark.
JONATHAN:
Hello.
REUVEN:
This just in.
CHUCK:
Yeah. Calendar’s [inaudible]. Alright, well, this week we decided we we’re going to talk about training, like doing corporate training.
REUVEN:
Yeah. So well, you want to talk about it some more, you want me to talk about it a little bit? [Crosstalk]
CHUCK:
I’ve done it a couple of times. I know Jonathan’s gone in and, as part of his consulting, has applied his expertise to helping companies. I don’t know if he’s done direct developer training or not.
JONATHAN:
Yes, I've done it quite a bit.
CHUCK:
I was going to say I think so. So how do you get into the corporate training gig arena?
REUVEN:
For me, it was very gradual and in many ways a happy accident. The story is basically that – I've been doing consulting for like 20 years now. And when I first came to Israel in 95, I told people I do Linux and [inaudible] web stuff, and so I’d go to companies and help them out. And at some point, some companies – I think it was Checkpoint was the first one, where they said ‘hey, it’s great that you can do this stuff. Can you come and teach us how to do it?’ I was like ‘sure’.
So it started off once a year, twice a year, companies would call me in to help them out, basically have them learn to do what I do. And little by little, companies started to ask me to do this more and more.
The big jump was about 6 years ago when I hooked up with a training company here in Israel where that’s all they do, and they have – all their trainers are freelancers. And so they're always looking for people to join their stable of trainers. And I was with them for, I guess, for 5 years or so, and about 8 months ago, 10 months ago, I told them ‘you know what, I’m going to go back to doing this on my own’. So, I guess, for close to 20 years now, I've been doing corporate training, but I really fell into it through the consulting, and it’s only now that I see it from the reverse side which is I’m primarily doing the training and less doing consulting.
But how do you get into it? Look, what I tell people is that these companies, especially the big companies, they want to do training. They have a budget for it, they have management structures for it, and from their perspective, this is a perk that they give to their employees to ensure that they stick around and make them more productive. So they are looking for trainers who will come in and make the people more productive on topics that are of interest to them, and it’s already budgeted. So the key thing is getting in touch with them and the training managers are the main point of contact there, saying ‘I've got something that’s going to improve your company and improve your developers’ lives’. And if you can get over that marketing humping, get over – get in there, then you're basically set because if the company is happy with you, they will just invite you back [inaudible].
CHUCK:
Yeah. The one company I did training at was a smaller company, and it seems like they bring in a different person from the community every year to do some of the training. I’m also not completely convinced that they apply the lot of the training that I did for them. They acted like they were happy with it, but I don’t know how much of value they really got out of it, if that makes sense.
REUVEN:
It’s sometimes hard to get a read on it. I mean, so I just – every time – I should say, sometimes it’s very very obvious to me that things are going well, and when things are really going poorly, that’s usually pretty obvious, too. But most times, obviously, it’s in the middle. Then you're like ‘well, how many people really liked it? How many people really disliked it? How many people, even if they disliked it, got something out of it?’
end:
What do you think of the training? Some companies have it really long, and [inaudible] really short. And if the questionnaire is bad, the training manager will say ‘oh we understand this script was like this’ or ‘this was just a pilot’ or ‘was it bad’ – they’ll come up with all the excuses necessary to help you through and make it better next time around, which is great. Obviously, everyone wants to improve the next time around. But if they don’t like you or they don’t care about you or if they have someone else who’s cheaper whom they're rooting for anyway, then you're toast. There's nothing you can do about it.
CHUCK:
Yup. What’s your experience been, Jonathan? It seems like you go out and market yourself as an expert in mobile tech and so people will bring you in to do that because they know they need it, as opposed to where Reuven is kind of cultivated relationships with training managers and finds out what they need and offers it to them.
JONATHAN:
Mm-hm. Yeah, thinking back on it, I've been doing training since 2003 in various different disciplines. And I’m trying to think back to how I got into each different ones because I've done about 6 different kinds that might be of interest to people.
The first one was when I was doing a FileMaker. I was a fairly well-known FileMaker developer to a small community and I worked with one of the biggest firms in the space, and FileMaker itself – the company, FileMaker Inc., had a certification – a training certification program. So you go to this Train the Trainer thing once a year and learn the materials that they had created and you are listed as a certified trainer. And I flew around in – maybe I did, say, I probably did a half a dozen of those over a course of 2 years. And they were super corporate, like it would be pretty decent sized companies like Apple was one of them, and [inaudible] be a classroom situation that the customer had set up, and usually a big company that have a conference room – the whole set up ready to go. And you teach a class; it was a school type of class.
And it was the way – how did I personally get into it? I guess I was just – they owner of the company knew I was good at the skill and that I was into teaching people about it so it just naturally happened. It made it really easy that FileMaker had that program set up so it was a real no-brainer and I got a lot of experience how to give live demos and that kind of thing.
To take the complete flipside of that, once I got – once I wrote my iPhone book which was very mobile development focused building iPhone apps in HTML, CSS, and JavaScript, which is like a PhoneGap book for web developers. I put on my own training classes, mostly remote, so I just put a sign up form on my page, I’d tweet about it and get sign-ups and basically do a webinar. But it was – it would be 2 full days and I would just teach maybe a half dozen people from my basement about – clients that I got myself, not corporate at all, the polar opposite was like usually developers who come in there.
So those are the two massive ends of the spectrum for me and I guess in the middle, I've done some more one-off corporate or college type trainings where people – again I think, primarily through the book, the iPhone book, people – some colleges have it on their curriculum and they’ll just reach out to me and say ‘hey, could you come down and give a class?’ and I’ll go and do a day or 2-day class that would be attended by anywhere from 10 to a hundred people. And it’s something I totally managed myself, it’s not really a corporate thing, it’s not through O’Reilly or anything like that. So that's it in the middle. And I've even done variations on all three of those themes.
So I guess, how would people get into doing that if they want to, I guess the main thing – Reuven [inaudible] probably the best in terms of recurring revenue, getting repeat business and that sort of thing, but it’s probably pretty – I’m guessing it’s pretty tricky to get into those hiring managers. I know I did some classes for Marakana, which is an open-source training company that eventually got bought by Twitter, but they were pretty protective about their relationship with the customers, so I didn’t have a ton of interaction with the buyer in those gigs. I would just be doing a remote training with a coordinator from the client, and I didn’t really have access to the buyer, the client, so it would’ve been – I would have had to be a little – would have to throw some hustle on to find out who that was.
REUVEN:
Right. I was lucky that I – when I told the training company that I was not going to be working with them anymore, I mentioned this to a few of the companies that I've been training. I was like ‘listen, I’m not going to be working with them anymore’, and they said ‘oh, well, can we work with you directly?’ which was of course my – the point in my telling them this, and I was like ‘oh sure’. But then I started getting calls from other companies saying ‘we want to do a course with you’. I said ‘look, just to be honest so you know, I’m not doing to through that training company anymore’, and they said ‘we know. Everyone knows’ [laughter].
So I don’t know who’s been talking. I don’t know what happened, but basically, I've been doing so much training for a while that there were companies that were just looking for me. And I think when the training company say ‘he’s not available’, they [inaudible] ‘I’ll just reach out to him. It’s not hard to do’. But the thing is I also try – in terms of marketing, I have tried hard – especially in the last 6 months, increase my image and my marketing as ‘this is what I do. This is my niche. This is what I
deal with primarily’. I changed my website, all the things that I do online. I advertised myself in Linkedin. I now say ‘I do training in the following technologies around the world’. And I've been pleasantly surprised to find how many people have read that and picked up on it.
Just yesterday, literally, I got email from someone via LinkedIn who I met 4 years ago. I was thinking ‘who is this guy? Where do I know him from?’ And I haven’t even looked up to see where he came from, and he said ‘we really need some training in such and such in Silicon Valley, and can you come?’ I said ‘well, yeah, I’d love to. How’s August?’ And basically, the good news is that if you have even, I would say, 4 or 5 corporate clients, they love to do scheduling far in advance, and so you can really book a long time in advance. The bad news is that it gives you less flexibility for the smaller clients who are not able to schedule so far in advance.
CHUCK:
Right. So I guess the next question I have – because I've been looking at this; I don’t know if I want to do it all the time, but it would be nice to go and do some in-person training a couple of times a year, maybe once every month or two or three, but I look at it and I’m like –ok, so let’s say I have some in right with some company, and I can get to their training person, should I have specific things to offer them, or should I talk to them to find out what they need? What's the best approach there – because it seems like some people are like ‘well, we need training on testing. What do you have on testing?’ and of course, I just pull something out of the air and said ‘well, I do a course that covers this, this, this, this and this’. That’s what I did last time, and they're like ‘yeah, that’s what we want’, and then they hired me and then I put it together and went and presented it. But it seems like other people, they go out and they want to see the list of your offerings and then pick the one that makes the most sense to them.
REUVEN:
The key document in a lot of this is going to be the syllabus. And that’s – it’s like a contract where it’s the starting point for negotiations. So what often happens is a company will say ‘do you offer Python training?’ Python is [inaudible] probably like 80% of my training in. [Inaudible] I say ‘well, I have these 2 courses like the standard ones, each of them 4 days, intro and advanced. Take a look at the curricula, but we can mix and match and change things as necessary, and if there's something that you need that’s not on there, then that’s definitely doable and let’s talk about that’. And that gives them a nice combination of something to look at and they can pass around to their developers, and they get feedback on, and then they’ll come back to me and say ‘we really like A, B and C; we need that. We do not need D, E, F, and can you also add G?’
They need some sort of syllabus and some document as a starting point. So I think you can then play it both ways. ‘This is the standard thing and I can do extra stuff for you’.
JONATHAN:
Yeah, I did something similar where I would have – I think I had 9 different modules and you could opt to have a crash course or a deep dive on each module. And I could fit – I basically broke the day into 90-minute sections, so you could fit in four 90-minute things. So if you wanted to do like CSS animation, a deep dive on CSS animations, that would take the entire morning. And then if you wanted to do like client-side storage and offline caching, you could do a crash course on those two things in the afternoon.
So they're basically like I would set it up so they're 4 segments, time segments, of the day and you could fill them however you wanted with each topic. So I’d give a lot of flexibility, and there were certain ones – I could have actually removed a bunch – there's a bunch that there maybe 4 or 5 that literally nobody ever wanted, so I probably could’ve removed those. It was pretty clear what things people are most interested in, or at least having the hardest time learning.
REUVEN:
Right. That’s also a key factor like a lot of clients [inaudible] would say ‘well’ – first of all they’ll say ‘our people are very smart. They don’t need anything introductory [chuckles]. And don’t get to the syntax’. And like, ok, first of all, smart or not, smart – it doesn’t matter. My thing here is if you bring me just [inaudible] syntaxes [inaudible] read through the manual, then we’re doing something terribly wrong. But the added value that I’m bringing is I give to them the perspective they need, and I help them to jumpstart their learning that would be faster and more effective that I can do just everyone reading through a manual in parallel.
But they will very often say ‘we really need advance stuff. We need this or we need that’, and sometimes I have to give them pushback and say ‘look, there's no way around it. We need to discuss X, Y, Z’, they won’t get it because it’s just very confusing. And sometimes they believe and sometimes they don’t.
JONATHAN:
Yeah. I think that’s a huge value add, I think, of having an in-person or even remote access to an instructor is to be able to get the ‘why’, not ‘how’. So people – it would really common for me to present a concept or a technique and then all the questions would be around ‘when would I use that’ or ‘I've got this particular app I’m working on. How would I make that work here?’ and the application of the knowledge was – to me, it seems obvious that that’s the most valuable part because yeah, you could just read the book. There's a whole internet of information on how to do Python or React or whatever. It was a million tutorials, but do you want – I think you can drastically increase your maturity level with the technology if you have an experienced person that you can ask questions directly to.
REUVEN:
Yeah. One of my favorite things to do is I tell them ‘I did this. It was a big mistake. Don’t do that’. [Crosstalk]
JONATHAN:
They love gotchas. They love gotchas.
REUVEN:
By the way, Jonathan, I’m curious about these courses that you’ve given. I started doing some training online, but it’s still been to companies, and I've been playing with the idea of doing like announcing to my mailing list or elsewhere that I’m going to do training online. How did that work for you? How did you market that? Because that’s something I haven’t tried yet.
JONATHAN:
I've done a bunch of variations. So through Marakana, I did a bunch of online training for some huge companies, more like what you typically do, and it was like a typical WebEx where it had sections and there's the topic I’m going to cover in the section, and here’s a poll at the end where they do a little quiz and stuff like that. It was very corporate and structured, and the flipside when I would just do my own, it was more like you're hanging out with me and it was very QA focused where I would just do a Join Me screen sharing type of thing.
And I have maybe 6 people in there, and I would say ‘ok, I've got the – this stuff is broken down to modules. I expect’ – I left the audiostream open. I was like ‘you guys all manage your own mute button. If you have a question, just unmute yourself and ask me a question’. And it was much more free-willing and – it wasn’t unstructured, but it allowed people to get their questions answered more quickly and I think it was much more engaging because there are more conversations, so people – if Bob ask me a question, it might be the case that the 5 other people had a similar question or it was beneficial to everyone. I’m a huge – I love Q&A. I love doing Q&A, stuff like this.
REUVEN:
How do you find – how does people find you? How did you announce the course?
JONATHAN:
Yeah. With that particular course, I set up a sales page; it was pretty long and involved, and I announced it on Twitter, and I did one video of probably the most popular section and I just posted it on YouTube. It was a 90-minute video of me explaining how to – I think it was how to get PhoneGap set up or something like that.
I set up this thing on that page called Tweet to Pay or Pay with a Tweet or something like that, and you could download the video for free if you tweeted about the course. And I also got a lot of great feedback about that particular video so people were like ‘oh man’. At first, they’d tweet about it then they'd watch a video and be like ‘wow, this video is great’ and they'd tweet about it again, but it was purely a Twitter thing; I didn’t buy any ads or anything like that.
And this is probably – I want to say 2011 when I did this, so it’s been a while. In 2012, I had the page hidden and then I turned it back on at my site and no one was really interested. So I don’t know if the – it’s probably the content that I had, which was updated, but it’s just less cool now. So the idea of PhoneGap is less novel than it was 3 years ago or 4 years ago, and people’s interest has – web developers, which are my target, are interested in much different things than they were a few years ago. Now it’s all about workflow automation and frameworks. Now it’s all about Angular, Amber, React, Gulp, NPM, Node – all that stuff, so that the – so when I turned that page back on maybe a year later, I got zero reaction; no traction whatsoever. And I don’t know if that’s because the marketing approach that I took the first time just doesn’t work anymore or people were not interested in the subject matter anymore, or some combination of the two.
So just a cautionary tale to people in the audience, if you take the exact same step that I just described, it may or may not work for you, but it worked great for me. I could basically send out a tweet and make 5,000 bucks the next week by teaching all of that. When it worked, it was great. And I've done also – I think probably these days, the way I would market is more like webinars, which I've done tons and tons of webinars through O’Reilly, and they do a great job marketing the webinars. I’ll do a topic of [inaudible] like response and web design boot camp, and I’d go on for 60 minutes and there’d be like a thousand people on the webinar and I’d run through my example files and my slides, if I had any slides; usually, I like live code. And get to the end, ask Q&A, people would tweet about it like crazy, and if I was pushing training, which I’m really not anymore, so if I was though I would say ‘hey, if you want a full day of this or you want the other free modules of this, go to this page and sign up there’. I think webinars are probably the way to go these days for getting sign ups and creating awareness and that sort of thing.
REUVEN:
Yeah. I do a webinar [inaudible] probably a month and a half, two months now. It’s a free webinar. Basically, to do that exact – raise awareness, what do I do? What's my style? Because if someone hates my style, then they're going to hate my – if they hate the webinar, they're going to hate my classes even more. But if they like the style, then they can get more of that. And I definitely say that’s the other way that I made it clear ‘this is what I do, this is what I wanted to do, I can help you with this’. And they're fun and they love me to test out new materials before I give it to an actual class. I figured people coming for free, so they can’t expect that much. If it’s really terrible, just take it off of YouTube, and I can get it a little smoother before it’s ready to go.
JONATHAN:
Yeah, I totally agree. Chuck mentioned earlier that he dabbles or has dabbled in training, and you mentioned that you went all in. And I found that probably the third reason why I didn’t have much success when I tried to reopen the training page just for a couple of months is that it’s not that easy to dabble in anything. I think it’s really helpful to take the plunge and really go all in on something. It makes it so much easier for people to position you in their minds, to pigeonhole you as the Python trainer guy. And if that’s what all your marketing is around, it just totally supports it. It makes it easier for you to create a body of work, get amazing testimonials, etcetera, etcetera. It all creates this virtuous cycle. And if you're dabbling in it, then it’s much trickier because it’s like ‘wait a second, strategy and consulting and training and development, then’ – what do you do? So I really decided to focus on just pure consulting and not do training anymore.
REUVEN:
Well, though, I think a lot of people just dabbles in it, and it’s the sort of thing where if you can get – because again, it’s possible to get a limited number of clients. Let’s say you have two clients and they just want a course every 2 months. So if they're willing to stick with you and if they're loyal to you, you can totally pull that off. But getting those clients right might be a little more [inaudible] people aren’t a hundred percent sure if that’s what you do and the only thing you do.
But the training world is very big, open and fluid, and companies are always looking for stuff. So they might well be ok with you doing other things, as long as they know that you're good at what you do. And it’s getting in the door that can sometimes be a little tricky.
CHUCK:
Well, the other thing that occurs to me, especially in my case, is that if I want to line up training gigs, I can go on my podcast on JavaScript or Ruby and say ‘hey, look, I've got this going on’ and reach several thousand people and try and fill a handful of slots. I can go on my mailing list and I can do the same thing, so I don’t have to have everybody know; I just have to have enough people know.
JONATHAN:
Yeah, that’s a good point. You got a big audience and it’s the exact audience that you need. So that’s super helpful. When I was doing it, I was really just – I pretty much just acted on Twitter; It wasn’t really podcasting. I really didn’t try that hard to market it, so perhaps I would’ve had more luck if I was in a situation like that. Probably, it’s pretty safe to say I would’ve had better luck.
REUVEN:
One of the nice things about working with big companies, among other things, not only do they pay on time, and not only are they very standardized, and once you're in, you're in. But they just have a crazy number of people. So I do a lot of work with Cisco, and Cisco is just infinitely large as far as the individual freelancer is concerned because – I don’t know how many – they had just [inaudible] office where I am probably a week or two every month. They have like a thousand something people. And as long as I keep coming in with new courses that the people haven’t seen yet, then I can just keep recycling through that. And now I’m starting to deal with other places that they have [inaudible] as well. So a few large companies, and you're set for life.
In fact, I met someone from Florida and he does open stack training. I said ‘oh, is Cisco a big client of yours?’ He said ‘Cisco is the only client for my training company’. It’s like 4 or 5 people. And their entire – a hundred percent of their business model is ‘we will just go around the world selling to this one company’.
JONATHAN:
Yeah, I've done Cisco too. It’s funny. They do a lot of training, obviously.
REUVEN:
Right. Well, they're big and again, this is part of their [inaudible] they want to give their people training. At the same time, some of these big companies do have rules for who can get in the door. And then I’m finding that some of them has grandfathered me, or some of them have just been nice to me, but some of them have said ‘you know the rule is. You can’t get more than 50% of your income from our company, and you have to have at least 3 people working for you’, and on and on and on, like a few other rules that I wasn’t aware at all, but can definitely be an impediment for someone who wants to get in the door there, which is where I think some of these [inaudible] training companies have an advantage because they can basically act as an umbrella and then bring you in and they do have that number of people; they're not just working with one company. The problem is, of course, that training companies typically take 50% or more of whatever they're billing at.
CHUCK:
So if somebody were new to this, would you recommend that they go with the training company first, because it sounds like that’s the way both of you went, or would you recommend that they go out on their own and see what they can drum up first, or should they do both?
REUVEN:
It’s hard to do both because the training company will get really ticked if you're competing with them. Even if they don’t sign you on a non-compete, and even on, on and on, they don’t want their individual trainer to be talking to a company at the same time as they are talking to a company. There's one training company that I spoke to in the US where we just decided it wasn’t going to work out even though they're really nice and great and everything, and they said ‘look, if we bring you somewhere, you will not be allowed to talk to them’. And so we had to talk about which companies do I talk to or not, but what if it’s all potential?
Look, what I tell also in my coaching people is [inaudible] coaching programs for trainers, and now two people since it’s very small. And I told them both ‘you can go in two directions. You can go for the long term model, which is do the training on your own, and that’s going to be higher reward but longer time to get into it. It might take 3, 4 or 5 months for you to build up a reputation, go to enough meet-ups, give enough talks, put enough stuff online, convince enough companies to hire you’. So going with the training company is going to be faster money and easier money, but it’s less money and less of your own brand that you're building out.
And so you have to balance out what's important to you. There are many developers and many trainers even who have no interest whatsoever dealing with the business side of it. They just want to show up and do the training. And so for them, if that’s you, go with the training company for crying out loud.
JONATHAN:
All that’s true; I agree with all that. And there's one thing I would add which is that I started out through – I went to a Train the Trainer class a couple of times, in fact; I think I went to 2 or 3 of them. And I don’t know if I would have been – what I’m getting at is: are you good at it? So having gone through an actual trainer program – it’s so long ago; I don’t remember how much it helped me. Because it's one thing to know your thing, like know Python or know responsive web design or whatever, it’s quite another thing to be able to teach it. So if you know you're good, I would tend to lean towards – I’m just more entrepreneurial mindset; I would tend to lean more toward that. But it’s riskier. It’s risk reward type of thing. I would tend to lean toward that.
But if you are just really good at like React or something, you need to do something to get better at teaching it if you don’t know you're already great at it. So I would probably start off with free webinars and [inaudible] for how to deliver the – here I am assuming you're going to be doing a remote. I think most people probably end up doing remote training because it’s more conducive to getting a larger market. It’s not as good, like I think – I've always felt like I did a much better job inperson training, but it’s obviously a lot more complicated, especially I get to fly around. If you're just like ‘oh, I’m a total god at React’, that’s great, but you need to get good at teaching it. So there's two aspects to it.
REUVEN:
Yeah. This is known in the education biz as pedagogical content knowledge [laughter]. So there's content knowledge which is really being good at the technical stuff, and there's pedagogical content knowledge which is knowing how to teach that content. And those are two different skills.
I actually spoke with a head of training – Cisco training in Shanghai, at some point. And he basically said ‘we know a lot of people who know how to teach and a lot of people who know the technology, and very few people who know both’. And that’s the sweet spot where if you can figure it out, then you're pretty much set.
And it’s also something – it’s a skill that you constantly work on, like I’m constantly looking for stories that I can tell that will help to drive the point home, or constantly looking for examples, and constantly looking especially for exercises. That’s something that I really – I spend a lot of time thinking about how I’m going to get people to practice and understand things, and over the years, my exercises have definitely gotten better, and each one has taken on nuances where I say ‘you have to do X, and Y, and Z’ and I say those things as part of the specification because I know where they're going to get messed up. And I know that’s going to force them into a corner that they're going to have to think in a new way.
And so it’s not just a matter of ‘well, I want to learn how to do loops’. So I’ll just have them count from 1 to 10. You want to make it a little more sophisticated so they’ll both enjoy it and learn something more out of it.
JONATHAN:
Yeah, that’s a great point. I recently watched video trainings. It was a paid one; I paid to watch it from – I think it was Frontend Masters or something, and I was so infuriated by – some of the videos are great; the quality is really good, but I was infuriated by one of the teachers because he was a classic show-off, classic developer show-off, with ‘oh, look how cool I am. I’m using’ – he was coding in Emax and he had – he was using all of these really sophisticated brand new syntax that was completely beside the point of the thing that he was trying to teach so he was getting all these questions from the audience about ‘what's that thing over there?’ and he was like ‘oh, don’t pay attention to that. That’s the [inaudible] operator or whatever’. I’m like –.
REUVEN:
[Chuckles] so don’t use it.
JONATHAN:
Yeah. I was like ‘you are a jerk, dude. You are a terrible teacher and you're just trying to show’ – I was so angered by this. And the guy was an amazing developer; really amazing, but he was an awful teacher. And it’s not – it wasn’t just the – it wasn’t just his attitude; it was also his examples, like Reuven just brought up there, were utterly confusing; just no way to penetrate into what was going on. It was obscuring the thing he was trying to teach. And having great examples, having great stories,
I’m crazy about how I’ll name variables. When I type up [inaudible] example, I do my best to make a hundred percent clear which values are arbitrary and which ones are keywords. So I’ll always use like myvar or myphonenumber or something that is obviously not built in to JavaScript or PHP or Ruby so that it’s clear which things you can replace with whatever you want and which things are required by the framework or the language.
And not being – [inaudible] beating a dead horse, but there's just a huge difference and you get better and better at it. You need to keep at it and if you do, then the information – if you get better at it, then the information that you're trying to communicate will actually stick, and people will – people can really feel the difference. People will come up to me after stuff that went well and they’ll just be like ‘man, every question I had, as soon as I had it, you answered it and the code examples were amazing’. And I think it’s important you do really, really – like Reuven said, you need to use real examples, but I still think you need to keep them simple as possible so that what you're trying to – the thing you're trying to illustrate is not obscured by some unrelated complications that are just going to send the Q&A down the gutter.
REUVEN:
Right. Right, absolutely. Just today, after I finished teaching – so I was doing a full day class today [inaudible], and afterwards this guy came over to me and said ‘listen, I have this problem at work’. So we talked for about 20, 30 minutes. I came up with solutions for him, and I said ‘you know, I really want to use this as an exercise in the future. I obviously won’t name your company. I won’t say exactly what it is, but this is just a fantastic example that pulls together a few things. Is that ok?’ He was like ‘oh yeah, please go ahead and use it’. And I don’t know exactly when I’ll use it, but I
definitely will because it really emphasizes the necessary points.
And keeping your eyes open for that and constantly changing and taking people’s feedback [inaudible] another thing. I used to use a lot of slides, and I still have slides, but over the years, I've used my slides less and less, assuming people are watching me like one eye on the slides and one eye on me as I’m doing tons of live coding. And I've started to get some pushback on that. Just in the last few weeks, people are saying ‘you know, you're going a little fast. It’s hard to keep track of things. Can you point to the slides more? Where are you?’
So I realized, ok, I think I might have gone too far in one direction; I need to pull back a little bit. And constantly changing your technique in response to what people are saying is, I think, a key aspect as well; and making clear to the training manager you're doing this, because again, they are your customer, basically. If they get good feedback, and if they can basically sell your course and use their budget on you, they will. So you want to make sure that you're in tune with what their needs are.
JONATHAN:
Reuven, how much remote training do you do, if any?
REUVEN:
Basically, Cisco asked me to start doing that. They're like ‘well, you know, we have all these people in Europe’. Now I probably do one course like a 4-day course every 5 or 6 weeks. So it’s not all the time, but it’s a growing amount.
I agree with what you said before. It’s not the same feeling; not for the instructor, not for the participants. I personally don’t feel it’s quite as effective. I think, over time – because Cisco uses WebEx as their thing, I actually have grown to be impressed by WebEx. I’m learning how to use it better and better, and I’m definitely using some techniques for making it better, but at the end of the day, if people in your own classroom are going to be checking email and Facebook, twice as many people are going to be doing that when you're teaching remotely.
CHUCK:
Right. Well, the other thing is that I've done in-person and I've given remote conferences talks and remote webinars and what-have-you. And it’s just different to be able to walk up to somebody’s machine and sit down next to them and pair program with them for a minute to get them through to the point that they need to be at in order to get whatever they need to get.
REUVEN:
Very true.
CHUCK:
And yeah, I also believe that people engage more if you're there personally, either because they want to be rude and get caught checking Facebook while you're walking by, or because you're actually there and so they can actually just pipe up and say ‘hey, what about this?’ and it feels like you're present.
REUVEN:
Right. There's also – online, I think people definitely see this much more remote, and even though I constantly and constantly say in my class ‘your questions [inaudible] are clear’, people are more likely to say something if you're there in person than if they're remote. [Inaudible] ‘I’ll read through the slides later. I’ll read through this. I’m not going to bother now’; this seems that it’s more of a barrier, for sure. That said, I feel like I’m reaching people that I could not reach otherwise, so it’s a trade-off. Sorry, Jonathan.
JONATHAN:
No. In-person doesn’t scale, but it’s way better. And there's completely different social [inaudible] for an in-person type of thing, plus you get all the body language feedback. You can just see when someone’s getting frustrated but maybe not asking a question. I've even had situations in larger classes where I see people sitting next to each other helping each other, like one person is more advanced than the other and they're just leaning over and helping and they don’t – that would never happen online where – it’s so much different; it’s so much better. I think it’s a higher value thing. You probably charge a lot more. I know you can charge a lot more from in-person thing, but it just doesn’t scale that great, so you need to be – unless you live in a big city, you need to be into traveling and so all of the shenanigans that go along with that.
REUVEN:
[Inaudible] pairing and helping each other. I am constantly telling people in my courses – I’m not up to the point where I’m going to mandate it. [Inaudible] probably should, but I say to them ‘please pair when you're doing the exercises’. I even tell them ‘I know programmers generally hate doing it, but I’m telling you I've seen the results that people who pair in my classes when they're doing exercises regardless of the relative levels, they get way more out of it’.
And so, in every course, there’ll be one pair, two pairs, and I’ll see – I’ll see they're having discussions; they're learning. You can go through all sorts of educational theory mumbo jumbo, but it’s true; it really, really works.
JONATHAN:
Yeah. And WebEx allows that. You can break them into little rooms.
REUVEN:
You can. I haven’t tried that yet. That’s something I’m going to maybe try in my next course, just see how it works. My most recent one, actually - [inaudible] getting feedback – oh, here’s another thing you can do. As I said, I do a lot of training with Cisco, and the training managers are always asking me ‘keep your ear to the ground. If there's something new that you can offer, then please let us know’. So big companies again; they're always looking – the training managers are always looking to satisfy the developers. And if they can offer new stuff, and if you can offer new stuff to them, you're in.
So I came in a few months ago and said ‘how about intro to Python for non-programmers’. Now for me, I thought [inaudible]. I thought this was a stroke of genius because there are more nonprogrammers than programmers. So if I can get that sold to a company with hundreds of thousands of employees, I totally got it nailed.
thing:
non-programmers who see this, they're like ‘I am going to be on the program’ and they come in with, guess what, zero background. That requires different thinking, different training, different examples, and so the feedback I got from my first time doing this was ‘oh my god, what was he thinking? That was way too fast’. So ok, I ate a fair amount of crow. I looked through what I’m going to do. And the next time I do this, it’s going to be scaled down a lot more with a lot more very small concrete examples and hopefully, we’ll do better.
CHUCK:
So I guess the next question I have is how much preparation goes into a single course or series or whatever you call it?
REUVEN:
My general estimate is that for the first time that I do a course, if it’s totally brand new, for every full day I’m probably doing 3 to 4 days of preparation. Then, after I do it once, [inaudible] or I realize that it needs some tweaking, then it’s probably another handful of days but spread out over the next few times that I do it. And after I've done a course 5, 6, 7 times, then the maintenance and improvement is incremental.
JONATHAN:
Yeah, exact same here. Same thing here. So Reuven, I’m curious about how evergreen the content is. Because one of the things that I believe is true is that there's so many fads and people just – they only care about keeping up to date with the latest thing and they maybe just want to learn enough about it to know whether or not they should really learn it. You could [inaudible] a list a mile long of like Docker, React, Angular, Amber, Gulp [laughter], webpack, blah blah blah blah. It’s changing constantly.
REUVEN:
Oh, you crazy JavaScript people. Yeah.
JONATHAN:
Right? So [inaudible]. Everything is constantly changing. So what have you found in terms of the longevity of a course or a particular expertise so that you can avoid that flavor or the month issue?
REUVEN:
I fortunately have been dealing with a lot of base fundamental technology like Python, Git, Postgres. So in those cases, I tend to focus a lot on fundamentals and a lot less on newer, cooler stuff. That said, I’m working on now a course on data science in Python, and for that I need new stuff, and I’m sure there are going to be something there that don’t work as well.
And what I've done – I think about 2 years ago, I finally decided that I need to organize myself much better, and I broke each of my courses into a lot of different presentations – I use Keynote. So I probably now have, for my Python courses, 50, 55 different presentations. And so when I learn something – reading a blog or someone asked me a question in class, I would go to that particular presentation and change it, edit it, improve it. And so keeping it modular in that way has allowed me to incrementally grow each of them. And if I find that a certain presentation gets too big, then I break it into smaller ones. And that means that – again, the initial start-up cost is very high, but it means that over time, I’m constantly – every week, every month, I’m making some change somewhere to some presentation.
JONATHAN:
Does it happen often to you that there's like a major version of an upgrade that invalidates a bunch of all the material? Python has – probably not. And the things that you mentioned – Git, Python and Postgress; probably not.
REUVEN:
Yeah, not so much. Python had the whole 2 to 3 thing. So almost all, which is basically, [inaudible] disaster and it’s interesting to talk about. So what I do is I put more and more Python 3 stuff into my slides, and that’s basically for people to know ‘if you're using Python 3, this is how it works’. The fact is I think I've had two classes so far in the last 6 years where anyone who use Python 3; the rest are all using Python 2.
So for them, it’s still academic curiosity or interesting to hear about, and I can mention it, and so over time – I have time [inaudible] react to this. But if it were a major change, then I’d have problems, yeah.
JONATHAN:
Yeah. I guess for me, it’s like a cautionary tale for people listening if – it’s something to think about when you're picking what you want to – if you're going to do training and go down that path, you really want to think about how long this particular thing could potentially last because if it’s something that’s super volatile, it’s going to be a lot of upfront work, like Reuven said, and you get no leverage out of it because you have to change the thing all the time. So when I see people that are teaching training classes on React, for example, which I’m going to be doing later mid-2016 [inaudible]. Wow.
REUVEN:
Something like that, yeah.
CHUCK:
Yeah.
JONATHAN:
It’s not a great choice. I don’t think it’s actually a very good long term choice. I just want to get really good at it. I don’t want to put the materials together. I wanted to create the stuff. It’s more selfish on my part; it’s not really – I learned better when I’m teaching so I wanted to take that approach.
REUVEN:
A hundred percent true. [Crosstalk] By the way, you learn so much from teaching. [crosstalk].
JONATHAN:
Yeah, I think so.
CHUCK:
Yup.
REUVEN:
Look, I was asked by a company to do a course in Gerrit, which is this Git code review system that people in the open-source world – if you're work in Android, you know about it. So actually, I guess you know better Jonathan, but most people know about Github, maybe Gitlab, maybe BitBucket or Stash, but they hear about Gerrit and they're like ‘what? What are you talking about?’
So a company really wanted me to do Gerrit training. And I said ‘really? You need this?’ ‘Yes’, he says ‘we desperately need this’. So I gave Gerrit training and I put my all into this thing and I upgraded – I did everything we just talked about. It’s like this day-long course in Gerrit. And the end result was everyone coming out of my course knew Gerrit code and hated it [laughter] [inaudible].
And so the surveys at the end of the course were like ‘Did you learn a lot? Yes. Will this help you in your work? No’ [laughter]. [Inaudible] ‘what the heck is going on here?’ So we did some talking and basically figured out that we’re just going to focus on Git and a number of – at the end of the second day of the Git training, I will talk about a few different options for code review, one of which is Gerrit. But we basically just pulled the rest of the Gerrit courses for the [inaudible] next 6 months because [inaudible] was just not worthwhile.
So yeah, I've also had my share of [inaudible] dead-end technologies where things are requiring a lot of revision. That said, just yesterday or two days ago I was talking to someone about Gerrit, I
was able to speak with some authority about it because I have this experience. So it does come in handy sometimes.
CHUCK:
One thing you keep bringing up – I’m going to change topics a little bit – is the survey at the end. Now, I gave a survey at the end at the time that I did it over at [inaudible] which sounds like a bigger company, I think, than it really is, or at least the division I was working with, but I don’t know that I got a lot of great information out of this survey that I sent to them. So what do you ask them in that survey?
REUVEN:
In almost no cases do I do the survey. They do the survey.
CHUCK:
Oh, really?
REUVEN:
Oh yeah, yeah, yeah. I know when I was doing it with the training company, they would always do surveys. But a number of companies said ‘you are not allowed to do your survey’. In fact – Cisco is one of those – in the contract or in the purchase order it says ‘you are not allowed to do your own survey. We will take care of that for you’.
CHUCK:
Ok. They ask me for a survey.
REUVEN:
Oh, wow. And they ask these very big company questions, like ‘I had enough time to learn the subject matter’, ‘the exercises added value to my learning’, ‘the learning objectives were met’ [laughter]. So rate that: 1, 2, 3, 4, 5.
And so [inaudible] number one is getting people to fill out the survey. I had this one course – oh, it was a Gerrit course actually, so I’m going to beat up on Gerrit some more, all you Gerrit folks in the audience – so I did a Gerrit course, there were 4 people – no, there's 6 people signed up. The day before, 2 of them dropped out, so it was 4 people. This is, by the way, an online remote course with WebEx. I show up in the morning to teach, 2 people are there. We take the morning break, one of them goes away. So this one person left, I answered his questions, I said ‘is everything great?’ he says yes. End of the course, I find out the survey was filled up by one person, and you know who that was, it was the guy that stuck around who rated me really low [chuckles]. I was like ‘you got a private tutoring; what are you talking about?’ but the people at the company were very upset. Why? Because they didn’t get more people to fill out the survey.
So for their perspective, a high [inaudible] is really important. One, you have to get them to fill it out. Two, you want to make it clear to them the more comments you give, and that’s where the real is from my perspective. The numbers are important to my client. If I get high numbers, they will bring me back. From my perspective, the numbers are far less important than the sentences people write about what was good and what was bad and there's always room for that. And for me, that’s the goal. Whatever I can get out of that, I will almost always use it in the next course to improve things.
I tell you, even where I was today they had their own survey, and the training manager came in to collect it, and before she left with it, I rifled through them and I made sure [inaudible]. No, no, I made sure to read what people have said so that I could figure it out. And there's no reason for them to hide it. I just want to make sure it doesn’t get lost in corporate bureaucracy.
CHUCK:
Right, because you want to see the resulting whatever.
REUVEN:
Yeah.
CHUCK:
Huh.
REUVEN:
At the end of the day, the survey is the most important thing because the survey is how the training manager is rated by their bosses. So if you have a good course and the ratings are high, they look good and they’ll bring you back. I hate to say that the learning is incidental, but we were assuming that if there was good learning, then they will fill that in the survey.
I’ll also say I have done a survey before the course. So it’s very common – I might have mentioned this before the podcast – it’s very common if I talk to a company and I’ll say ‘my [inaudible] course takes 4 days’, and they’ll say ‘our people are all smarter than average’ [chuckles]. [Inaudible] it’s the Lake Wobegon effect for corporate training. ‘All of our programmers are smarter than average. They only need 3 days’, and this is like tug of war. It doesn’t matter how smart they are, they need to take time to learn the material and go through things.
And so, sometimes what will happen is if they say they only need an advance course. I’ll say ‘tell you what, great. Let me send them a survey of what they know’, and then I’ll be able to really pinpoint what it is they know and make the training right. And so [inaudible] they have insisted I teach them an advanced Python class, I give my pre-survey and ask them ‘how comfortable are you, on a scale of 1 to 5, with’ – I give them 20 different topics, and basically then I know I will give my basic course, call it advanced, I get high ratings afterwards and everyone is happy.
CHUCK:
[Laughter] Oh man.
JONATHAN:
I've actually hardly ever gotten survey results back. I can’t even think of one occasion where I have, but I do exactly what Reuven just said, which is whenever possible, even if I’m just giving a regular talk like a strategy talk to executive types or management, I’ll push to be able to send out a Google form to the attendees in advance to ask them questions about what their technical level is with X, Y, and Z. Did they own a smart watch? What smart phone do they use? Have they ever paid for anything with their phone, or have they ever created a responsive web design? What's their skill level with JavaScript, CSS, HTML? All of those things because it makes is so much easier to – just on the – you don’t have to change your slides or anything, but just change the way you're going to talk about things if you know more about what the audience is already in their heads so that you can build on what's already in their head and pick the right stories, if you will, to try and communicate the material.
REUVEN:
Hundred percent. I always ask people – I start off by going around and getting people’s names and – especially if it’s a multi-day course and I have a chance of remembering it, ask them into also what their background is, what languages they know, and then I can say, if I know the language, I can make analogies, I can say ‘this in Python, whatever, is like such and such in the other language’. And I feel like that helps to also make the connection. Also, it allows me to make cheap shots at the other languages, which is always good for a laugh or two.
CHUCK:
The other thing I wanted to go after is why do they negotiate 3 days versus 4 days? Is it the time of their employees, or do you charge a day-rate? How does that work?
REUVEN:
There are basically two ways to charge. One is per day, and one is per person. And what I've done typically in Israel, China, Europe is charge a day rate. But I've been told, and this might be a cultural thing, it might just be the people I talked to, when I spoke to people in the US about doing training, I quoted on a per-person rate. At the end of the day, it comes out to roughly the same.
Companies have two reasons not to want to have a longer course. One is that they do a budget at the end of the day and they don’t want to spend more money. And the other is they basically see their developers as not doing anything for those – the training is good, but not that good. We don’t [inaudible] [laughter]. And so if they can avoid having people out of work for a long period of time, they’ll do that. So at this week, I’m doing advanced Python, and it’s 2 days. And I told them you want three, and they were like ‘no, no, no. We only have time for 2’. So I spoke to the manager yesterday afternoon, he was like ‘you seemed a little rushed and people were complaining it was going too fast’. I said ‘we need 3 days’. He was like ‘ok, in the future, we’ll do 3 days’. [Chuckles]
JONATHAN:
I typically do an up to X number of students things, so I’ll give a flat rate for up to 30 students or a flat rate for up to a hundred students because I don’t want to – first of all, if I have more than, say, 30 students for a given topic, I’m going to need an assistant to roam around. So my cost obviously would go up if was going to do that, but generally – or I’ll say if it’s going to be over a hundred – if it’s going to be over 30, let’s say a hundred students, then it’s not going to be as workshop-y; it’s going to be a little bit more like a conference talk, more of a presentation than everybody having their laptops out and me running around and checking their code. Or the price goes way up and I get some assistance.
But yeah, I don’t want to get into that situation that Reuven had with Gerrit where one dude shows up for the class and so I get a hundred bucks. Because if I have to prepare for the thing, especially if I’m flying there, then it’s up to them to sell the seats, and especially if it’s direct consumer type of thing like I went to a – I did one relatively in the recent past, a community college in Wisconsin and they opened it to the public and they sold tickets, basically. I think it was free for students, but they sold tickets to the general public, and I was like ‘you can have up to a hundred people. I’ll deliver it like this. It’ll be 8-hour full day with lunch break and stuff’ and I don’t know if I – maybe let’s say I charged 10 grand, something like that. And so it’s on them to pack the room. They could actually make some money.
REUVEN:
That’s interesting. If I tried to get a day rate, then I don’t care how many people show up, to some degree. One person is really annoying, but I've had some times where the company will say ‘you know what, we like you’ or it’s important enough and if there are only 4 people who show up, they're ok with that; not thrilled, but they're ok with it.
I do put a maximum number – I've played games with how I do it. I think I even still now have different policies with different companies just because I haven’t undone that. So in some cases, I just give a rate up to 20 people. There are some companies where I say ‘this is the rate for up to 16
people, and if you want more than that, then there's an extra charge per person per day’. And typically, they’ll see that and say ‘oh, we better do a second course rather than pay the extra money per day’. So I've managed in some ways to force them into doing two courses rather than one.
There was one time, I think at HP, where they were like ‘oh, we’re only doing one course with this’ and we must have 50 people in the room, and it was so hot and it was so uncomfortable and no one enjoyed it at all. And you definitely need to put a maximum; otherwise, it’s just nonsense.
JONATHAN:
Yeah. If you got code in the screen and you have 50 people in the room, you're in trouble. You're going to go down in the weeds with just people – I've had nightmare scenarios where a room with maybe 30, 40 people and there are multiple people who can’t even get their dev environment set up. So like right out of the gate [laughter], you're behind schedule with something that should be easy but they’ve got some wacky version of the OS on a machine you're not used to. I’m like ‘I don’t know. Google it’ [chuckles]. So that can be really tricky.
In fact, that’s my – I don’t know if this is relevant, but that’s my number one issue with giving any training class is if it’s developer-focused and it’s not just HTML, CSS, and JavaScript, and it starts to get complex [inaudible] particulars of what machine they're on. Beyond the text editor, it starts to get really weird. You have to do something in advance to ensure that they're going to have their machine set up before they get in the room. Otherwise, you're in trouble.
REUVEN:
Yeah, what do you do for that? Because I've heard different answers to that.
JONATHAN:
It depends on the situation. When I’m doing something like PhoneGap, which to do local development, requires that you have at least Xcode, but preferably also the Android SDK set up, and heaven forbid, if you're also doing Windows phone development, [laughter] because then you need Mac and a pc.
So usually, what I do is – for something like that, I’ll say we’re going to use PhoneGap build which is a propriety tool that is Adobe’s, and they – but there's a free tier that you can use, and it’s really cheap if you do want to pay for it. So whenever possible, I try to do any compile stuff in the cloud for this React class, I’m going back and forth about do I really get into how to set up your local environment. I suppose I have to, but I need to have a plan B in case people have unexpected configurations like if somebody shows up with a Linux machine or a Windows machine, I won’t know the first thing about either of those, really.
So there are ways that you can, for development, use just included JavaScripts to do all the compilation in the browser, which you’d never do on production, but it would at least allow me to teach the syntax and the concepts without getting down in the weeds of getting the machine set up with some kind of automated workflow.
So I really try to minimize – it’s a tough balance because on the one hand, you want to see the people ‘ok, React is awesome; check it out’, but we skipped over a really hard part which is getting the machine set up. But it really depends –.
REUVEN:
[Inaudible] using a VM or something?
JONATHAN:
That would probably be an interesting idea, but maybe. I haven’t seriously thought about it. I don’t – probably only because it wouldn’t have been appropriate for anything. Maybe the PhoneGap stuff, but honestly, I think that for noobs that are getting started with something like PhoneGap which is the majority of the classes I've thought, so this one I keep mentioning.
If you're a web developer and you have to set up a local PhoneGap development environment, you're not going to do it; you're going to hate it because it’s – all of a sudden, you're into compiled code which web developers traditionally have not [inaudible]. It’s not just a developer – it’s not web developer thing. It’s like refresh the browser, it’s done. And making that leap to compiled code is – I've found it’s a really big one for people and getting the machine set up is such a nightmare.
CHUCK:
So I’m curious, are you teaching react in PhoneGap then?
JONATHAN:
No, no. This is a – React is the first thing I've been excited about in mobile development in 5 years.
CHUCK:
Now, this isn’t React Native; it’s React, right?
JONATHAN:
I suppose both. React JavaScript – React JS and React Native.
CHUCK:
Ok.
JONATHAN:
So it’s like the natural next step for web developer post-PhoneGap. So I think PhoneGap is great for enterprise apps, that kind of thing, but if you're trying to do a Beta C app that you're going to put in the App Store, you're going to have a really hard time creating a really compelling PhoneGap interface because there's so many apps in the App Store and somebody’s going to do a pure Native; it’s going to be slightly sexier. If you're just trying to get things done and get them done fast, you have all those shared codebase, then PhoneGap is the obvious answer.
So React has got this new approach where instead of ‘write once, run everywhere’, it’s ‘learn once, write everywhere’, which I think is fascinating; it’s super, super interesting. And they also – they don’t take an MVC approach, which I love because I never liked MVC. So very very excited about React.
CHUCK:
Yeah. React Native and NativeScript now are delving deep into deep tech, but they basically run on the JavaScript runtime that’s in Safari on the Mac or on iOS and whatever it is on Android and work over basically a bridge to all of the Native stuff, all the Native [inaudible], which is really cool. [Crosstalk]
JONATHAN:
The Native React stuff doesn’t do that.
CHUCK:
React Native?
JONATHAN:
Well, I suppose it – it makes real components.
CHUCK:
Yes. Yeah, but it wires it up through JavaScript and talks to the Swift or Objective-C runtime through JavaScript bridge.
JONATHAN:
Yeah, that’s just like PhoneGap, but it does create Native component – [crosstalk].
CHUCK:
Yes, it’s Native components, Native views in your templates.
JONATHAN:
Yeah, very cool. Yeah, it’s way cool stuff. And if you're really deep into that tech, we’ve talked quite a bit about this with NativeScript and React Native on several shows, and DevChat.tv actually has a React Native podcast, so go check reactnativeradio.com and you can get those episodes and start checking it out. There are 11 in the queue right now. It should be in iTunes and super exciting stuff.
JONATHAN:
Yeah, it’s like I said. It’s the first thing I've been excited about in front-end development in like 5 years.
CHUCK:
Yeah. NativeScript is very similar, and I’m excited about that because I can do Angular on top of that.
REUVEN:
Wow. I’m so out of it.
CHUCK:
[Laughter] This stuff moves ahead so fast, but yeah. Anyway, so back to training, are there specific things that you should do in order to make your trainings just totally rock?
JONATHAN:
Experience.
REUVEN:
Stories.
JONATHAN:
Yeah, stories.
CHUCK:
Stories and experience. Yeah.
REUVEN:
There is a point at which you are not – in order to educate, you have to also entertain, and that can come from stories, experience, a lot of – pointing to – give them a 30,000 foot view. Give them that perspective that’s going to take them years to gain on their own, and then lots and lots and lots of practice. And they're going to sweat and they're going to work hard, but I call that controlled frustration [laughter], because that they be frustrated in your classroom when you're there and can come around and help them and then go over it, because every time I do a – the way I do my exercises is they all do the exercise and then I do it, I [inaudible] front of them, and I show them different alternatives like ‘some people would do this’ and you hear some people say ‘yeah, yeah, I did that’, and I’m like ‘but this is’ – [inaudible] for this reason, and we go over it and through several iterations, multiple iterations, we get to a version that I think is better and then I show them even a few versions. And that whole process of walking through it, it’s like if you're in elementary or high school taking a math class, you don’t want the teacher to put the answer on the board. You want them to show you the process to use because it’s that process that is key.
And so all these things together – and it just takes a lot of questions; [inaudible] lots and lots of questions. That’s what my big frustration to teaching in China, no questions or very very few compared to, say, Israel which is like the other end of the spectrum where people are attacking you.
[Crosstalk]
JONATHAN:
Yeah, I would say – yeah, I guess I totally agree with all of that and I would add that – I would add a point about being nervous, which is that you don’t have to know everything. It’s ok to be stumped by questions. Sometimes it’s good. You can say if somebody asks you a question that you don’t know the answer to. You say ‘well, I probably know the answer to that, but I don’t – but I'm sure we can figure it out right here in about 60 seconds’.
So showing them how to figure something out that you don’t know the answer to is super beneficial and I think it lends a lot of – it relaxes you like crazy because you don’t have to waffle around and pretend like ‘oh, the answer to that question doesn’t matter so that’s why I don’t know it’. You don’t have to be some kind of worldwide expert. That’s what Google and Stack Overflow and all that other stuff is for to know all the millions of little details. And showing them how to find the answer is something I think is super interesting and it relaxes you if you think – if you don’t think – if you don’t get embarrassed by not knowing something.
REUVEN:
I would say yeah, I totally agree. If someone asks me a question I’m like ‘ah, I don’t know. Let’s try that’. And sometimes I’ll say ‘you know what, I can’t figure it out here. Let me try to do that for homework and I’ll try to get back to you the next day’. And almost always, that ends up being new slides or new demonstrations or new sections of my course because if it’s that interesting of a question, then it’s probably – someone else is going to have that question in future courses and they’ll appreciate discussing it.
CHUCK:
Alright, well, we've been doing this for about an hour and 10 minutes.
REUVEN:
Whoo!
CHUCK:
[Chuckles] So I’m going to head us into the picks. I know there's more to talk about, and if people have questions, go ahead and leave a comment on the webpage under the show notes and we’ll see if we can get back to those. You can also go to our topics Github repo and load an issue onto there, and maybe if we get enough questions about this and we’ll [inaudible] it again.
But let’s do picks. Jonathan, do you have some picks for us?
JONATHAN:
Sure. I mentioned earlier the Frontend Masters course and I think – that might – that’s competition for me at O’Reilly and it might be competition for Chuck too, but I think it’s really well done and I think it’s really affordable, and it’s been – it’s very interesting the way they have done it so I think there's two things that you could take away from it in the context of this episode. One is to look at the course material and see if it’s anything that you might be interested in and I would recommend that it’s probably worth the money because the quality is there. But the other thing is to see how they do it.
So there's one on React that Henrik Joreteg did, and I think it’s a really good example of how to do a training, and it’s an interesting hybrid where they actually deliver the training in a room with live students who do Q&A [inaudible] chatroom where they take questions during the live class. And then the recording is what gets posted on the site. So it’s an interesting hybrid between the two approaches where people are throwing random – a lot of people are throwing random questions at the instructor, which is, I found super helpful to someone who is watching the recording after the fact and I think it’s good from a direct teaching standpoint and also from the meta standpoint if you're thinking about putting together training; it’s very well done.
CHUCK:
Yeah. As far as I’m being a competitor of mine, they're a sponsor; the platinum sponsor for JavaScript Jabber – [crosstalk] – and we’ve had –.
REUVEN:
We love them.
CHUCK:
We’ve had Marc Grabanski on JavaScript Jabber so –
JONATHAN:
Oh, my apologies.
CHUCK:
Very, very warm relationship with them.
JONATHAN:
Ok, my apologies for not knowing that, but I suppose it makes my recommendation that much stronger, which I didn’t know I was patting them on the back; patting a sponsor on the back.
CHUCK:
No, it’s all good. Reuven?
REUVEN:
Ok. I've got two picks. One is [inaudible] already mentioned webinars, so I did a webinar on technical training about that topic in October. So if people are interested in hearing more what I have to say on the subject, I’ll put the link in the show notes to the webinar I did where I talked about – I called it Pedagogy, logistics, and business. It’s a little bit of educational theory, a little bit of how do you organize things, and a little bit about what we talked about here like the business side of things both from your perspective as a freelancer and from the company perspective.
The second thing is I was just listening today to a podcast that we mentioned many times on the show, NPR’s Planet Money, and they mentioned this thing called the Birkin bag. I was like – [crosstalk].
CHUCK:
[Chuckles] That was such a funny episode.
REUVEN:
And it was fantastic, though, because it talks about how you have this super crazy luxury handbag like a pocketbook, it costs $60,000. And what do they do? They make it really scarce. And by making it scarce and expensive, they make it more popular. And I was thinking ‘isn't that what we’re always telling people to do in terms of being a freelancer?’ You can be unavailable and raise your rates, and it’ll just bring you more business. So not only did I find it amusing and interesting and about something that I know literally nothing about – I've never even heard of these things before – but I think it’s a good lesson for people trying to price things who are worried that by being expensive, they’ll price themselves out of market.
CHUCK:
Awesome. I've got a couple of picks. The first one is where I got my wife’s Christmas present from. It’s fathead.com [chuckles]. They have these wall decals. And so she really is kind of crazy about Maleficent, and so I got her a wall decal; it’s 6 foot 6 tall, and about 4½ feet wide, and it’s Maleficent, and you stick it on the wall. And it’s awesome. They have a whole bunch of them for Star Wars, for various sports teams, a lot of Disney stuff. So if you're into any of that and you're looking for something that’s a little bit unique, then check that out.
And also, since I'm doing videos, I’m looking at doing some webinars and things like that, I have these closet doors behind me and I’m seriously thinking about getting some of those decals to put on the door just to give it a little bit more flavor. But anyway, it was really cool and a lot of fun. So I’m going to pick that.
And that’s all I've got to pick. So quick reminder, go check out Freelance Remote Conf. It’s at the end of February. If you're into JavaScript, this probably comes out right before JS Remote Conf so you have to go buy a ticket now. Ruby Remote Conf is in March, iOS Remote Conf is in April. I’m doing a React Remote Conf sometime in May or June – I don’t remember. So anyway, go check all that stuff out. Calls for proposals are open for all of those except for JS and the Freelance one is probably closing soon if I don’t fill all of the spots with people I've invited to speak. So if you want to speak, go check those out too. And yeah, that’s all the self-promotion I’m going to do here today. We’ll go and wrap up the show.
If you want – Reuven, before we go though, I know you've been doing coaching for this kind of thing. So real quick, do you want to tell people how they can find that?
REUVEN:
Sure. If they go to my website, lerner.co.il/coaching, that is a description of the coaching program that I've started. I have two people doing it right now. I’m hoping to build it up over time. And the idea is work with people who want to do tech training, and the idea is to talk about strategy, talking to companies, going to them, and then I’m hoping to, over time also, build up people’s presentation skills, review videos of them. And then also, I’m starting to work on a book on how to do technical training. All these topics and so people in the coaching program are helping me at this point, through the Table of Contents and the plans for it.
Anyway, if you are interested in training, let me know and I think the coaching program could help you. And if you're not interested in the program but doing training, I’d love to hear from you anyway.
CHUCK:
Alright. With that, I guess we’ll wrap up and we’ll catch you all next week.
[Hosting and bandwidth is provided by the Blue Box Group. Check them out at BlueBox.net.]
[Bandwidth for this segment is provided by CacheFly, the world’s fastest CDN. Deliver your content fast with CacheFly. Visit cachefly.com to learn more.]