DAVE:
I did maths in public.
[This episode is sponsored by Frontend Masters. They have a terrific lineup of live courses you can attend either online or in person. They also have a terrific backlog of courses you can watch including JavaScript the Good Parts, Build Web Applications with Node.js, AngularJS In-Depth, and Advanced JavaScript. You can go check them out at FrontEndMasters.com.]
[This episode is sponsored by Hired.com. Every week on Hired, they run an auction where over a thousand tech companies in San Francisco, New York, and L.A. bid on JavaScript developers, providing them with salary and equity upfront. The average JavaScript developer gets an average of 5 to 15 introductory offers and an average salary offer of $130,000 a year. Users can either accept an offer and go right into interviewing with the company or deny them without any continuing obligations. It’s totally free for users. And when you’re hired, they also give you a $2,000 bonus as a thank you for using them. But if you use the JavaScript Jabber link, you’ll get a $4,000 bonus instead. Finally, if you’re not looking for a job and know someone who is, you can refer them to Hired and get a $1,337 bonus if they accept a job. Go sign up at Hired.com/JavaScriptJabber.]
[This episode is sponsored by Rackspace. Are you looking for a place to host your latest creation? Want terrific support, high performance all backed by the largest open source cloud? What if you could try it for free? Try out Rackspace at JavaScriptJabber.com/Rackspace and get a $300 credit over six months. That’s $50 per month at JavaScriptJabber.com/Rackspace.]
[This episode is sponsored by Wijmo 5, a brand new generation of JavaScript controls. A pretty amazing line of HTML5 and JavaScript products for enterprise application development in that Wijmo 5 leverages ECMAScript
5 and each control ships with AngularJS directives. Check out the faster, lighter, and more mobile Wijmo 5.]
JOE:
Hello everybody. My name is Joe Eames. I’ll be your host today. And we have on our panel the illustrious, Dave Smith.
DAVE:
So good to be back.
JOE:
The amazing Jamison Dance.
JAMISON:
Hello.
JOE:
And the slightly above average but ever so entertaining AJ O’Neal.
AJ:
Yo, yo, yo, yo, yo. I’m going to get you for that.
JOE:
[Laughs]
AJ:
Live.
JOE:
And as our special guest we have the fantastic Tyler McGinnis.
TYLER:
What’s up, everyone?
JOE:
Tyler, could you start us off with a quick introduction of who you are, what you do, and why you do it?
TYLER:
Absolutely. So, I am Tyler McGinnis. I’m the lead instructor at a learn-to-code school here in Provo, Utah. I’m also a member of the Firebase Experts Program. I teach people to code, write curriculum. Sometimes I try to program myself. And why I do it, because I really like seeing people grow and learn and have that aha moment as they’re learning to program.
JAMISON:
You missed a good chance to make up cool facts about yourself right there, just to let you know.
TYLER:
I’m also, so what I also do just in my spare time just for fun, I’m actually a Jazz Bear on the weekends. So, I go up to watch the Jazz play and I entertain people at halftime. So, [inaudible].
JAMISON:
Oh, sweet.
JOE:
[Laughs]
TYLER:
There you go.
DAVE:
Wait, was that real? Because I really want to know that.
AJ:
That’s a great fact to make up because it’s completely unverifiable.
JAMISON:
[Laughs]
TYLER:
Yeah, absolutely. You’ll never actually know and I’m never going to tell anyone.
DAVE:
Actually, I’m pretty sure that by virtue of revealing that fact, you’ve confirmed that you are not the Jazz Bear because…
[Chuckles]
DAVE:
I’m pretty sure that dude’s under NDA.
TYLER:
Yeah, we’ll see.
JAMISON:
So, how did you get into DevMountain? What was your path there? Or sorry, DevMountain is the name of the code school.
TYLER:
Yeah.
JAMISON:
How did you end up there?
TYLER:
I was in… I was going to be [inaudible] out here in Provo, probably about three or four years ago. And I started getting into web development. Things were going really well but I started to look at other coding bootcamps or other ways to accomplish the goal that I had. I guess the goal that I had was I just wanted to become a software engineer. And I wasn’t too concerned about how I arrived at that goal. I was just more concerned that I got there.
And so, what I did was I started researching. I came across a place called Hack Reactor, which is a code school on the Bay Area. And they had super good reviews. And all their alumni said they loved it. So, I went out there and they taught me the ropes with JavaScript and Angular and all those things. After I was done there I came back to Utah and worked at a place called Needle, just as a software engineer out here doing some Angular stuff.
And as I was doing that I started teaching part-time at DevMountain. And I really, really enjoyed it. And it was great being on the other end of things, teaching people and watching them grow and watching them learn to program and having all those cool moments you have as you’re first starting out. So, I started teaching, got more involved. And then the guys here at DevMountain talked to me and they said, “Hey, we’d love for you to come onboard.” And now I’m here.
JOE:
Quite a ride.
TYLER:
It was, yes, but great so far.
JOE:
So, how did DevMountain itself get started?
TYLER:
So, Cahlan Sharp who’s our CEO, he was working at Scan who just recently got acquired by Snapchat. And there was a few coding bootcamps there in California. And at the time he was an engineer, a software engineer, and he also had an entrepreneurial background. So he thought, ‘Hey, Provo, Utah’s a really big tech scene and they’re doing a lot of cool tech stuff here.” So, he just got the idea. And he originally started out doing it part-time. And they just had an after-hours class which was a few times a week. And it was nothing too big. And then he decided to quit his job at Scan and start working on DevMountain fulltime. So, he got some [founders] and they started doing it fulltime. And then, yeah, now we’re where we are, which is pretty amazing.
JAMISON:
So, how many years has it been going on?
TYLER:
I think it’s almost two years now. And they have, I don’t even know how many students we have. We have two part-time web classes and one fulltime class. And then they do some [high level] stuff as well. So, it’s gotten pretty big.
DAVE:
So, I have just a, this should be a really easy question to answer. But how do I learn to code?
TYLER:
That is an extremely complex question.
DAVE:
Can you answer that in three words or less?
TYLER:
Yeah, absolutely. Struggle, failure, and tears? [Inaudible]
DAVE:
Alright. That was pretty good. [Laughs]
JOE:
Yeah.
TYLER:
Being in the position I’m in, I get that question asked a lot just because it’s such, especially in our day and age it’s a question that people ask all the time. But I think the biggest thing, I actually gave a conference talk on this two weeks ago at MountainWest JS, the biggest thing isn’t so much, where do I start or what language should I learn? The biggest thing is just finding something that you want to do and build, and then learning the steps that you need to do in order to build that thing. I guess the language that you learn or the thing that you learn or where you get your start isn’t as important as starting somewhere and struggling it and failing it. Doing that over and over until all of a sudden you could build things and you could help other people do that.
DAVE:
Okay. So, I’m going to go out on a limb and assume that most of our listeners probably already know how to code.
TYLER:
Absolutely, yeah.
DAVE:
But a lot of times, as someone, myself, pretends to know [how], people ask me, how do I learn how to code? And I never know what to tell them. So, I give people all different answers. I’m like, “Well, have you tried reading a book?” [Chuckles] I’m like, I don’t know what to tell them. What do you tell people when they say, how can I learn how to code?
TYLER:
So, what’s interesting is that, and I think it was Merrick a few years ago who mentioned this comment on JavaScript Jabber, was that we recommend essentially the same path that we took. So, a lot of people, they start out going to college and they learn Java or whatever. We always recommend Java. And I tried not to be biased but I do the same thing, where I started with HTML and CSS and then I jumped to JavaScript. And that’s really what I recommend, is I’d recommend getting started with HTML and CSS. And I know I’m going to catch a lot of slack because that’s not a real programming language, whatever. But if you’re a beginner you don’t really care if HTML and CSS is a real programming language. You just care that you’re like, things are showing up on the screen and you’re not getting errors.
So, I’d start out there, HTML and CSS. Learn how to position things. Understand the DOM and understand what’s going on behind the scenes. And then once you do that, jump to vanilla JavaScript and start manipulating the DOM and start looping over things and creating data structures and things like that. And then once you understand the DOM, HTML, CSS, and JavaScript, from there, there are so many places you can go, whether it’s a framework or jQuery or whatever. So, that’s what I recommend. Just starting out with the fundamentals of web development, which is just HTML and CSS and JavaScript, and then just going from there.
DAVE:
Are there any particular resources to help teach that, that are really good for new people?
TYLER:
Yeah. Another thing, this is such a tough question to answer because everyone’s different and everyone learns differently. So, I’ve had times where there were beginner books that I absolutely loved. And I’d recommend them. And then the person would go and do them and they’re like, “Yeah, that’s okay. But I really like this resource.” And the resource that they loved, I hated. So, I think just the way all of us process information differently, we tend to enjoy or hate different materials that other people might hate or might enjoy as well.
So, I think the biggest thing is just doing something. Just consuming. What I tell my students is, get to the point where you’re just consuming a bunch of information, because eventually something that you read will click. And we’re lucky to live in the day and age that we are where there’s so much information, whether it’s a book, whether it’s a podcast, or a YouTube video. Or even if it’s a blogpost or a Stack Overflow post, there’s so much information. So, if you’re struggling with a particular topic, just google that topic. You can read everything that you can until it clicks.
JOE:
I think that’s really awesome advice. Although there are a few things that I’ve seen that are I think in general more effective than other things. Like books are okay, but I’ve seen a lot of online stuff be just a lot more effective than books. Like Khan Academy, Codecademy, Code School, for example. But one of the things that I actually have found to be the most effective as my daughter was learning to program, I don’t know if you’ve heard of her.
TYLER:
Katya, yeah she’s great.
JOE:
Yeah.
TYLER:
She spoke at ng-conf, didn’t she?
JOE:
She did.
TYLER:
Yeah, she’s great.
JOE:
She did speak at ng-conf. And…
DAVE:
She was my favorite talk, by the way.
JOE:
Mine, too.
DAVE:
[Laughs] Seriously.
TYLER:
She was up there, for sure.
DAVE:
No, seriously. She was so awesome.
JOE:
It was a really good talk. It definitely was. I was really proud of her. But one of the things that she did was something that you guys had her do before she started your program, which was, it’s called ‘A Smarter Way to Learn’. Is that .com?
TYLER:
Yes, yeah. I think so. It’s ‘A Smarter Way to Learn JavaScript’. ASmarterWayToLearn.com. That’s the URL. So, what that book is, is it’s… he’s actually not a JavaScript developer which is really interesting. I think he’s coming, the author is coming from a PHP background. But what he does is he walks you through knowing nothing and taking you to knowing the fundamentals of JavaScript. So, you’ll walk through creating a variable, which is a string and then a number. Like, super, super fundamental stuff. But he doesn’t make any assumptions that you know something that you don’t know.
But what he also does which is cool is he has this book but there’s a companion to the book with is a website, which is ASmarterWayToLearn.com. And he just has a bunch of activities that you can go through to cement the things that you learned in the book. So, it’s this combination of reading something but also getting hands on practice. And we found it to be really successful at DevMountain.
JOE:
And another thing that’s really cool about it is each little piece is very short reading, 10 minutes. So, you don’t get in there and get just bored down in the details and start missing things because you’ve been reading so long. Read for 10 minutes and then you start going doing exercises. And then come back when you’re done. And I thought that was… my daughter had done a lot of, she’d done Codecademy. She’d done Khan Academy. And then she did that one. And she said that that was by far the best one that she had done.
TYLER:
Yeah. That’s typically the feedback that we get from all of our students, is that they tried all these different things. And the problem with those things is it’s either too boring or too long, or it’s short and interactive and fun but you don’t really walk away learning a bunch. So, what we found yeah with ‘A Smarter Way to Learn JavaScript’ is it’s a little bit of everything that equals you actually learning and applying things, which is great.
JOE:
So AJ, did you have a question?
AJ:
I don’t know that it fits in right now. But I’ll go ahead and go back to it anyway. The thing that I was going to say is there are two camps of people it seems like that come into programming. There are people that approach it as an art. They want to be creators. They want to be the Da Vincis. And then there are other people that come in because they want to be the technicians. They want to get a job where they can, if they get a specification they can do this one particular thing and they can get that block pushed from one side of the concrete to the other side of the concrete kind of thing. So, my question was going to be, do you feel that DevMountain caters more to one of those camps than the other? That I’m wrong about that thought, or that both of those are accomplishing the same thing essentially, like comments on that.
TYLER:
Yeah. I think it’s definitely a fine line. The way I’ve designed curriculum and the way we have teachers approach the situation is pretty much like I want people at the end of this… say we’re taking one lecture. I want to have learning objectives for that lecture and at the end of that lecture I want the students to be able to accomplish those learning objectives. What we found is if we’re able to do that and we’re able to do it every single day of the class until they start actual projects, the border between those two is very fine. And whether you want to be more creative or whether you want to be super technical and go get a job or whatever, the fundamental… I guess the least common denominator there is being able to build stuff, being able to program something and watch it and even send the URL to your mom, right?
So, it’s tricky because it’s, like initially when we started going into JavaScript fundamental stuff and we’re covering loops and objects and arrays, there’s not much creativity going on there. But then once we start covering things like Angular and building things and doing jQuery, then it goes more toward the creative side. So, it’s a little bit of balance. I think you’re spot on AJ that there are both sides of it. And it’s my job I guess to make sure that no matter where you’re coming from, that you enjoy the experience, but you also get some good results from it as well.
AJ:
Okay.
JAMISON:
So, are you familiar with the Learn X the Hard Way series that Zed Shaw started? Like Learn Python the Hard Way, Learn Ruby the Hard Way?
TYLER:
I’ve heard of it but I haven’t dug too far into that enough.
JAMISON:
So, it’s a series of books that are all about rote repetition as a way to learn and reinforcing memorization. And it shows you the code first in a section and then has you type it in verbatim and then walks you through each step, what that code is doing. It seems like a very different philosophy around learning than lots of the more interactive things. Where do you see the value of just memorizing and getting stuff shoved into your brain versus exploration? How do you balance those two things when teaching people how to code?
TYLER:
That’s a great question. It’s really tricky to do, because what I find a lot [inaudible], and this isn’t saying that that paradigm doesn’t work because obviously a lot of people love those books and they’re huge, right? But what I found is that if students get into the rhythm of memorizing solutions, then when that solution changes a little bit they’re completely thrown off because they don’t know how to approach it from a problem solving perspective. They more just approach it from, I’m memorizing a solution perspective. And that happens all the time with beginners, is the easiest thing is to learn to memorize a solution rather than learning the steps and the way to think about solving the solution.
So, I’ve actually, at least from my experience and this varies, but my experience is that memorizing a solution is in the long run doesn’t help the student as much as more memorizing the steps that you need to take in order to solve the solution. Maybe that’s a finer line than I’m realizing it is. But at least that’s just what I see in my experience.
JAMISON:
Yeah. I think the books aren’t supposed to be around memorizing the solution. It’s more if you type a for loop 10 times you might pick it up the eighth time.
TYLER:
Gotcha.
JAMISON:
You might not get it right away. But if you just do it without understanding it, then understanding will come.
TYLER:
Gotcha. And yeah, I guess looking at it from that way I guess we definitely have that in our curriculum. We just, for example we’ll talk about arrays then we get into for loops. And then we’ll loop over an array and then we’ll loop over just a set number. Then we’ll loop over something else. So, it’s the same idea where you’re constantly doing it. Ours I guess is just disguised because there’s more material on top of just looping.
JAMISON:
Sure. I guess a related question is how do you balance letting people struggle when they don’t understand things versus helping them? This is the thing I struggle with a lot with I’m trying to teach people. If I know the answer, my instinct is to jump in. And sometimes I even catch myself reaching for the keyboard and just do it. I know how to do it. I know where you’re stuck. Let me solve it for you.
AJ:
Yeah.
JAMISON:
And sometimes people are really stuck and they can’t progress if you don’t explain something to them or give them the answer. But sometimes, struggling is how people learn. And it’s how I still learn, too. So, how do you balance being too helpful versus making sure people don’t get stuck where they can’t unstuck themselves?
TYLER:
Yeah, definitely. It’s extremely tricky. I think there comes a point where, and that’s where this bootcamp generation I think is really, really good. Because there becomes a point where you’re so frustrated and you’re stuck for so long that being stuck further isn’t really helping you.
But I think until that point happens, being stuck and trying to struggle and solve a problem is extremely important for your learning and extremely important for your understanding. And that’s one of the biggest things that we try to tell our students here at DevMountain, is you’re going to be frustrated. And you’re going to struggle. And there’s going to come a point where you’re like, “Hey, I’m just not built to program.” But that is extremely beneficial because you’re fixing your brain and teaching your brain how to solve these problems, which is what you’re trying to be able to do the rest of your life, right?
But I definitely agree. There comes a point where struggling any further is not good. And so, I guess at DevMountain what we try to do is have a process. So, when we see that struggling happen and when we see that negative struggling happen, we’re able to take action. But before then we try to be really hands off. So, it’s something that’s really hard to do. But I think it’s something that you just have to constantly remind your teachers of, and your mentors of, and the students of, is this idea of progressive struggling, to a point.
JAMISON:
Sure, that makes sense. How do you train instructors? The skillset for being a good teacher is so different from the skillset for being good at building products. And I feel like lots of the bootcamps are started by people and staffed by people that are great developers and now they’re thrown into this completely different area of the industry where their skills might not transfer very well.
TYLER:
Yeah. So, what I found as the easiest solution is to find people who are naturally good at teaching, and then just make them better. So, the process we take here is that basically if you want to teach and you’re passionate and you know your stuff, we’ll interview you or whatnot. But we’ll let you be a teacher. And if that goes well, then you just keep teaching, because students love you. And it's very easy to spot a natural teacher, because they’re able to empathize with students. And they’re able to understand how the students are able to approach a problem and help them. But you’re absolutely right. There’s a lot of really, really talented developers who aren’t the best teachers.
So, I think the biggest thing for us is just finding the people who are a mix of both, and then just making them better. And then if it doesn’t work out, it doesn’t work out, or whatnot. But the biggest thing, and to be totally disclosed, Dave Smith who’s on this panel is one of our teachers. Joe Eames is one of our teachers. Finding teachers is difficult but it’s not impossible. There are people out there who love helping other people. And naturally, those people are the ones who make the best teachers. Because they really care about the student and they’re able to empathize with them.
DAVE:
So, you said it’s a matter of finding those teachers and making them better. How do you teach the people who teach the teachers to be better teachers?
TYLER:
Feedback, definitely. So, we try to have a pretty tight feedback loop here at DevMountain. Because what we’ll do is we’ll have a lecture and then we, usually a week or two later we’ll get feedback from the students. And it’s easy for me to say, “Hey Dave, you’re such a great teacher. I think you’re fantastic,” because I really like you as a developer and we’re friends. But if a student replies and says, “Hey, this teacher was the worst. This is what they need to work on,” it’s super easy to get feedback that way because your students are your customers. And your students are interfacing with you every single day. So, if you don’t take advantage of that really easy way to get feedback, I think you’re doing yourself a disfavor.
So, the biggest thing is just feedback. And then making actionable items out of that feedback, and then replying to the teacher saying, “Hey, this is what the student said. And this is what I think you could work on.” And it’s a fairly easy process, when the students are guiding the reviews.
JAMISON:
So, students will have lots of feedback. It might not be, how do I say it? I think there’s value in feedback from students. But there could also be value in feedback from experienced teachers. How do you balance that out? Especially for something like, I guess this comes up more in college. Maybe this isn’t a good question. Okay, I’m going to go back and think about this until I can formulate a better question.
TYLER:
No, I actually think I understand what you’re talking about, because a lot of the students…
JAMISON:
Well, I guess I’m thinking about teachers I had whose classes were hard. And so, lots of the students’ feedback was negative.
TYLER:
Exactly, yes.
JAMISON:
Because they didn’t do well in the class, right? And that’s not necessarily the best way to improve. There could be valuable things to glean from that, but it could also be the student didn’t try hard and they’re mad about it.
TYLER:
Yeah, what we’ve found is that, so we try to be fully transparent. And it’s all about expectations upfront. If you establish the expectation with the students that, “Hey, this is going to be extremely hard,” that doesn’t mean the teacher’s bad. That doesn’t mean the mentors are bad. It doesn’t mean the curriculum’s bad. That just means learning to program is by nature really difficult. And I think once you establish that, then the negative feedback that you get which is not really beneficial to anyone naturally goes away. Because students understand that hey, this is going to be hard. And just because it’s hard doesn’t mean that the system is bad. It just means it’s hard.
And if for any reason that I do get feedback like that, I’ll usually go and talk to the student. But I
think establishing those expectations makes it so that we don’t really get that kind of feedback. And if we do, then I just filter it out before I talk to the teachers about it.
DAVE:
Can we talk a little bit about programming languages for a minute?
TYLER:
Yes.
DAVE:
Why is JavaScript a good language to learn for a new person? Or is it?
TYLER:
I think it’s a fantastic language. So, what’s funny is [inaudible] at DevMountain, they have an iOS class and they have a JavaScript class. And we’re always getting into it because I’m super biased obviously for web. But I think with JavaScript, it’s everywhere. It’s so accessible to students. All they have to do is open up their phone of their computer and it’s right there in the console.
And I think that’s super powerful because when you gain more experience, you take for granted how difficult it is to transpile something or compile something. It’s just, it’s not a necessarily abstraction. But if you’re a student you really care about the underlyings of how things works and just the basic processes. And if you had this language which is compiled or even, I’ve been doing a lot of React lately. So even going from JSX and transpiling that to JavaScript, it’s a step that you really have to help students understand. Because in their minds it’s just a language. What’s the difference between JSX and JavaScript in a beginner’s mind if they don’t know any of those?
So, what’s great about JavaScript is it’s so accessible. It’s everywhere now. But there are also these paradigms in JavaScript that you get everywhere. You obviously get objects and arrays and for looping and stuff. But if you do it right, you could teach object-oriented programming in JavaScript. You could teach about the ‘this’ keyword. And it’s definitely quirky and weird. But if you take JavaScript and you teach it, but you also as you’re teaching it compare it to other languages and more like the architecture of JavaScript, I think it’s a beautiful language. And it’s fantastic to teach because it’s so accessible. And comparing JavaScript to other languages, it works very, very nicely in the paradigm of beginner’s minds.
DAVE:
So, what is it about the language that does that? Obviously its ubiquity is one thing. The tools are readily available and no one needs to install a development environment. But what about the language itself, the constructs and the idioms and just the style of the code? Is there something about that that makes it approachable for new developers?
TYLER:
I really… there is. Like I said, for loops in JavaScript are pretty much consistent throughout every language.
DAVE:
Did you just say for loops in JavaScript are consistent? [Laughs]
TYLER:
Sorry, from the languages that I’ve seen, right?
DAVE:
I’m just thinking how insane the for...in behavior is. [Laughs]
TYLER:
Oh sorry, sorry, sorry. When I say for loops, I mean for var i = 0
For...in is an entirely different discussion.
DAVE:
[Laughs] Okay.
TYLER:
Yeah, I usually, I try to be very specific with my language. So yeah, for loop, speaking of for var i = 0; i < array.length
That’s consistent. But really, the biggest thing is just the atmosphere and the ecosystem of JavaScript. Not only that… so I know I’m avoiding your questions, like what language-specific things does JavaScript have that aren’t in other languages. But I really think the benefit of JavaScript isn’t necessarily that. But it’s the ecosystem. You can go on Stack Overflow. You can search for anything related to JavaScript and the top answer’s going to have 6,000 up-votes because it’s been asked so many times. And it’s been answered so nicely. And we’re starting to get to the point with the JavaScript ecosystem that there are all these books coming out. And it’s a very, very good time to be getting into JavaScript because it is starting to get everywhere.
DAVE:
Neat.
AJ:
So, this question probably would have been better asked right before. But I wanted to ask about the situation. How many students do you have in the class? 20, 30?
TYLER:
We have, yeah we usually try to have about 30 in the class.
AJ:
Okay. So, on the one end of the spectrum you’ve got the two whiz kids that before you even have done anything, they’ve already researched the night before because they’re just on fire and they’re like, totally ahead of everybody else. And they’re not even paying attention to you most of the time after that first week or whatever, right? On the other end of the spectrum you’ve got the two guys that completely did not understand anything from the first week. And then you’ve got all these people in the middle. What do you do to mitigate that problem of, you have X number of instructors and you’re trying to reach this audience that is actually, the gap widens as you go along sometimes?
TYLER:
Yeah. I think the unsung hero of DevMountain and the system that we built is our mentors. So, for the fulltime class that we have, there are five or six fulltime mentors. And each student is assigned a mentor. So, what we’re able to do there is now all of a sudden, each student’s accountable to one person. And that one person who they’re accountable to just has five or six students that they need to watch out for. So, what I’ll do is I’ll have weekly meetings with all of my mentors and we’ll talk about each student. And we’ll verify that students are where they need to be and things like that. So, obviously the more advanced students go and just do their own thing and they just love it. But we’re able to keep an eye on the entire class because we’re able to have those mentors who each are responsible for just five or six individuals.
AJ:
That’s cool. Are you also able to use people that are on the upper tier to become pseudo-mentors
to the people on the lower tier?
TYLER:
So, we don’t have a system that enforces that, just because I feel like, and what I’ve seen is that enforcing someone to help out someone else doesn’t really work out a lot, because it’s not coming from a good place.
AJ:
Right.
TYLER:
But naturally, that’s actually what occurs, is that people who feel confident and they love it and they’re just so engulfed in this learn to program idea that they naturally become these mentors to other students who aren’t doing as well. And then there’s this relationship that forms. And it’s really cool to watch as a teacher, because now all of a sudden all the class is helping the class. And you could just, you don’t even have to provide resources and they naturally just start learning and growing on their own. So, it’s really amazing to watch. But we do obviously provide resources just in case that doesn’t happen.
DAVE:
So, can you tell us some stories, Uncle Tyler?
TYLER:
[Laughs]
DAVE:
Specifically, I’d like to know. Tell us about a student, and you’ve seen quite a few now, maybe a couple hundred.
TYLER:
Yeah, yeah.
DAVE:
Go from basically zero knowledge of programming to a point where they can actually do some programming, right? Tell us a story about a student who did so well and learned so much, so quickly, that you were just super impressed with them. And tell us what they did and what made them special in that regard compared to other students?
TYLER:
So, we had a woman in one of our classes. And from the very start of the class she was just extremely excited. She would do the pre-course material. She would come to class and she’d participate in classes. And not only did she do that but she obviously did all the curriculum. But during the weekends she’d actually build projects on her own that allowed her to reinforce the things that we learned in class. And so, she came in not knowing anything. And by the time the three months was up, just because she’d been working so hard and she’d been building all these projects, not only did she have an awesome GitHub account because she was doing all these side projects. But when it came time to interview and do job search, a bunch of companies that wanted her just because of the excitement that she had for web development and for learning specifically was so powerful, she basically just picked the job she wanted. And now she’s there and she’s been thriving ever since. So, I see that.
We have another student who worked up Subway before. And I’m not saying Subway’s a bad career or anything. But he graduated high school, was working at Subway, and was doing his own thing. And he came to DevMountain, and just same thing. Just loved it, just worked hard, and now he’s at a dev shop here in Utah. So, it happens a lot where I see someone and they come in and they don’t have much experience, but they drink the Kool-Aid in a sense I guess. And just trust the system and trust the teachers. They’ll get great results.
DAVE:
So, would you say that a common theme is people working on stuff that interests them?
TYLER:
Yeah.
DAVE:
Like on their own personal projects?
TYLER:
Yeah. I would say the common theme is for one, finishing the curriculum that we write and then on your own trying to take the principles that you’ve learned in class and build a project around those principles.
DAVE:
Okay.
TYLER:
I think you could build so many static HTML and CSS sites that don’t really help you. But if for example you’re taking, you’re looking at Angular, services versus factories. One app you would build, you’d use all services. And the next app you would build factories. And the next app, you just...
DAVE:
[Chuckles]
TYLER:
You would just combine them, right? And it sounds weird from a senior level looking down. But it’s how beginners learn. Taking different things and taking different things about the language and then just tweaking them slightly and putting your own taste on them I think is super powerful.
DAVE:
So, when you have these students that are obviously very interested in it and they’re very good at it and passionate about it, why in this case did they never learn on their own? Why for those students did they not jump into programming until they came to your bootcamp?
TYLER:
I try to really create an environment where those kinds of students, even if they never felt that before, they will learn to feel that kind of emotion when they’re at DevMountain. I think that’s the biggest thing. And I think it’s what a lot of bootcamps really do well, is that they’re able to create this environment and this culture of learning and growth and loving and helping other people that is really, really hard to do if you’re an individual just starting out learning to program. That’s probably the biggest strength of bootcamps in general, is that idea where people could come. And even if they’re not super excited going, by the time they’re a week or two into it, if you did it right they’re just going to be absolutely in love with the idea of learning itself.
DAVE:
So, you’re saying that sometimes programming is just overwhelming and discouraging to people unless they’re surrounded by people who are excited and can guide them?
TYLER:
Yeah. Turns out that true at any part of your career, right?
DAVE:
No yeah, that’s interesting.
JAMISON:
Yeah. I was just thinking about how many parallels this has to learning as an experienced developer. The basics of how computers work and programming in general are familiar. But you still have that same feeling of getting totally stuck and have no idea what’s going on and getting discouraged. And so, those are good principles to learn.
TYLER:
Definitely. I think the biggest thing or one of the biggest things we try to tell our students is, “Hey, if you don’t enjoy learning right now, then you need to find something else because you’re going to be doing it the rest of your life.” If you don’t enjoy that, this is not a good place to be, right? Because think about the Angular versus React wars that I know everyone hates. It’s not really a thing. But the idea was Angular was really big six months ago then React came along. And now we all have to learn React. And when Angular 2.0 comes out, we all have to learn Angular 2.0. We’re always learning. And if you don’t like the idea of learning it’s not going to be a good career for you, I don’t think.
JAMISON:
I remember the first time I feel like I became really an expert in a stack and then I went to try and learn something new. And I forgot that I had to be a beginner.
TYLER:
[Chuckles]
JAMISON:
Because I was used to being an expert. And it freaked me out and made me really grumpy. And I took it all out on the technology I was trying to learn. “Oh, this thing sucks. It’s so awful.” [Laughter]
JAMISON:
It’s terrible, it’s hard to learn. No, it’s just new and you forgot how to be a beginner.
DAVE:
Okay, well…
JOE:
Are you sure it wasn’t awful and terrible?
JAMISON:
I’m sure, yes.
DAVE:
[Laughs] Okay, what was the technology, Jamison?
JOE:
[Laughs]
JAMISON:
I will not say.
JOE:
Oh, come on.
[Chuckles]
JAMISON:
Visual Basic 3. [Laughter]
JOE:
You liar. [Chuckles] That’s a national, interplanetary liar right there.
JAMISON:
[Chuckles]
DAVE:
Okay. Uncle Tyler, can you tell us another story?
TYLER:
Yeah, cool. Actually, I want to stay on this topic real quick.
DAVE:
Okay.
TYLER:
So, we’re doing… right now at DevMountain we’re hosting this thing called React Week which is basically just, so Ryan Florence who works at Instructure wrote a React router. He’s here and he’s teaching. It’s basically just a week-long workshop with React.js, Flux, React Router, and essentially everything React. And it’s been amazing to watch, because some of our students, they’re either working on group projects right now or they’re down there with Ryan in React Week. And we have senior developers from Twitter and all over the world here at DevMountain right now.
And I was actually talking to Cahlan, our CEO, about this. It’s really interesting to watch because our students are down there. And if you had to ask Ryan who was a DevMountain student and who was the senior dev at Twitter, it would be very hard to distinguish just because day two of learning something… whenever you have to learn something new, the playing field gets leveled. And obviously, the senior devs are going to learn a lot quicker. But when you’re on day one and day two, everyone’s down there. Everyone’s struggling. Everyone’s frustrated but everyone’s excited about learning. It’s amazing to watch just the difference between really beginners and really senior developers is very, very thin when they first start learning a new technology or something new.
JAMISON:
Hopefully, the difference doesn’t disappear by the really senior developers becoming really snooty. That’s the nightmare.
[Chuckles]
JAMISON:
Like, okay, I’ve seen this for a week. I clearly am qualified to give these sweeping opinions about how terrible it is.
TYLER:
[Laughs] Yeah, how bad JSX is?
JAMISON:
Yeah, this reminds me of this thing that I saw 10 years ago which sucks, so I hate it today.
TYLER:
It sounds like you’re talking about maybe the Flux debate. [Inaudible] I don’t know.
DAVE:
[Laughs]
JAMISON:
Nothing specific.
TYLER:
No, [inaudible]
JAMISON:
It’s just something…
TYLER:
Yeah, no, no, that’s true. Yeah, I think, and that’s the biggest thing is the beginner, or as a senior dev, is you have to, if you’re giving advice to beginners or if you’re teaching beginners, anything with beginners you have to understand where they’re coming from. And you have to not give bad advice to the beginners. A lot of the times you’ll hear, “Oh, I’m starting out and I’m doing Objective C because I want to write iPhone apps.” Then the web guy goes, “Why are you learning Objective C? That’s completely dead. You should learn Swift or you should learn JavaScript.” That’s terrible for a beginner because now it just confuses the beginner, right? So, I think yeah as a senior dev or whatever, the biggest thing that we could do to benefit beginners is just try to understand them and try to empathize with them whenever we can.
JAMISON:
Yeah, there’s something called the beginner’s mind. There was an article about learning Emacs and it talks about how, especially if you’re good at another text editor, you have to clear you brain of that feeling of being really comfortable and knowing exactly what you’re doing, because that feeling will not exist when you’re learning new stuff.
TYLER:
[Chuckles] Yeah, absolutely.
DAVE:
Okay. So, can you tell us the age of the youngest developer that you’ve seen go from no skill to proficient coder, and the oldest?
TYLER:
So, the youngest is a young woman named Katya. She’s actually Joe Eames’s daughter, which we talked about earlier. Joe, how old is she? 17 now or 16?
JOE:
Still 16.
TYLER:
She is still 16, yeah. So, she’s in the current cohort right now. And she’s just done absolutely amazing. It’s been fun to watch her. She spoke at ng-conf obviously. So, she’s probably the youngest. The oldest one we have…
JOE:
Is it this cohort? I met a gentleman. One of the guys I met in this cohort seems pretty experienced.
TYLER:
Yes, there are a lot. We have guys probably in their early 50s I think, would probably be the oldest we’ve had. So, it’s amazing to watch. It doesn’t really matter the age. The only thing that matters is if you’re willing to work hard, if you’re passionate, and all those things we always talk about but take for granted. So, it’s been cool to watch because also too is the people who are older are coming at it, they usually have some finance background or business background. And they’re coming at programming from an entirely different perspective, which I think we take for granted. Especially me who just, I’m going to program and then I programmed. And now I’ve just been programming as my career. I think I have so much to learn from them. But they also have so much they can learn from the programming world as well.
JOE:
Yeah, I really think those are some of the coolest stories. Those that are super young, but those that are super, like not typical age. So, they’re not in their early 20s or mid-20s, just got out of college, didn’t like what they were doing, and then found out about a bootcamp. These are people that have been doing something and for one reason or another decided, I want to do something new.
For example, I have a close friend. He was in the finance world. And then the downturn in the economy, he felt this pressure to become dishonest, didn’t want to do it, so he decided to leave the industry. And he’s told me, “Hey, I would like to learn to program,” because he’s always liked games, liked computers, been fairly technical. So, I spent two years coaching him through programming, right? Learning to program in .NET. And then he got a job. It took him about two years of being on his own. He was coding 60 hours a week on his own before he finally landed that junior developer job. And now, this was before there were bootcamps. Now with the bootcamp you can do the same, almost essentially the same thing in 90 days, just because it’s a lot more intense. There’s a lot more regular feedback, that feedback loop about how you’re learning and how you’re doing. And the curriculum obviously is a lot better than me just telling him, “Alright now go spend some time learning this.” [Chuckles] Watch these videos on the internet and then try it out.
TYLER:
Yeah, definitely. I think bootcamps, sometimes they get a lot of flak for just being these factories that just create these junior devs. But I really think they’ve been a benefit to our industry, just because we’re finding these people who wouldn’t go into programming and we’re giving them an option. People who don’t really like traditional academia, who would do other things, we’re bringing them into our industry. And I think that’s fantastic, because it’s making it so our industry is more diverse. But it’s also a benefit for them because they’re able to come and they’re able to get to that junior level really quickly, which I think is important. Because then once you’re at a junior level, you can go and learn anything you want, once you understand the fundamentals of things.
JAMISON:
So, I want to ask a little bit about, obviously it’s valuable to DevMountain to talk a lot about the success stories. And it sounds like you’re pretty familiar with lots of the most successful people that have done really well in the program and gone onto great jobs. What about the people that it doesn’t so work so well? Can you talk at all about employment rates? What if I go through the program, just do okay, I finish it, and then I don’t have a job at the end. What happens then?
TYLER:
That’s actually my biggest beef with this industry, is we become so… getting a job is the most important thing. And I think that’s, and that’s obviously good and it speaks a lot for quality. And I’m not avoiding the question. I’ll give you our job statistics in a bit. But I think it really doesn’t help the idea of, “Hey, you’re going to come and you’re going to work extremely hard. And by the end of it, if you interview well and if people like you and you can learn to program, they’ll give you a job and they’ll pay you to do this.” So that’s, I guess that’s just a side note is I wish we would focus more on the quality of the program and teaching people the fundamentals of JavaScript rather than job statistics. But sadly, that’s not what students want. And that’s not what our paying customers want.
JAMISON:
Sure.
TYLER:
So, we finished, we have two classes for web. One’s the part-time and one’s the fulltime. As far as jobs, we try to say, “Hey, if you’re looking for a job after this, if you want to do this as a career, you really need to come to the fulltime class. Because we’re with you every day and we have mentors dedicated to helping you all day every day.” We just have so many more resources we could provide them that we can’t for the part-time class which is just a few hours a week.
So, we finished our first fulltime cohort about three months ago. And from what I’ve heard, so we have a woman inside DevMountain who her job is to follow-up the students and make sure that they’re doing well. She reported to me last week that all but one of them have a job at different places. There are people in California, people in Utah. So, I don’t know what the statistic is for that when it’s like 29 out of 30. But that’s been successful. And I hope that we could continue to provide people jobs. But that’s not my biggest priority as an instructor. I’m just here to help people learn to become web developers as good as they can. And usually, that correlates with a job but sometimes it doesn’t. So, I’m not too worried about job placement or anything.
JAMISON:
Sure.
TYLER:
We have people onboard who are. But I just want to have students enjoy their experience and struggle yes, but learn to be able to build things at the end of it.
JAMISON:
Sure. So, maybe some of that comes down to the messaging. I haven’t looked too much about how DevMountain markets itself.
TYLER:
Mmhmm.
JAMISON:
But I know lots of the bootcamps are like, give us this paycheck, guaranteed you’ll have a job.
TYLER:
Oh, yes. It’s terrible. I absolutely hate it.
JAMISON:
And then they do sketchy things to manipulate numbers like…
TYLER:
Yes.
JAMISON:
They don’t count people as graduated if they don’t get a job.
TYLER:
Exactly. Now, it’s a complete problem in the industry and it’s something that every bootcamp I know besides maybe a few try to hide [inaudible]. And so, when I first started with DevMountain they kind of had that. They weren’t fluffing their numbers or anything, but it was very number-focused. And on the website there was statistics and all these things. And the problem with statistics is they’re always changing. We’re always graduating people. So, since I’ve came on, that’s probably the biggest effect that I’ve had on our marketing team which I’m sure they hate, is I just hate bootcamps who do that.
JAMISON:
[Laughs]
TYLER:
Because if you know me, I try to be really straightforward. And if I don’t think you’re going to be a success story, then I’ll have you not come and do more pre-course stuff. So, if you look at my website, there should be no statistics on there just because I don’t want to be labeled. I don’t want DevMountain to be labeled with that group that’s like, oh, they fluff their numbers and you can’t really rely on their numbers.
And I would say for anyone who’s listening to this and is interested in going to a bootcamp, talk to their alumni. Because their alumni are like their customers. And their alumni will tell you the true story. Where if you come to me or if you come to anyone else on staff here or any other bootcamp, they’re going to tell you their marketing pitch. But I think going to the alumni can give you the real story of what happened there. And I think that’s the best way to approach it.
DAVE:
So, I just wanted to insert a funny story. I heard about a law school that had the same kind of job statistics that they would post. And if people didn’t get a job as a lawyer out of their school, they would actually put them to work on their school’s newspaper so that they could claim really higher…
TYLER:
Oh, geez.
DAVE:
Employment percentages.
TYLER:
Yeah, it’s terrible.
DAVE:
[Chuckles] So, it’s not just bootcamps.
TYLER:
Yeah. I think it’s any business that is teaching people a skill will try, or if they need to try to do something like that where it’s a little bit scammy. I’m not a big fan of it. So, I hope we don’t do it at DevMountain. [Inaudible] but I try to stay pretty close to the marketing team to make sure that doesn’t happen.
JOE:
Awesome. Tyler, is there anything specifically about DevMountain or getting into a career in web development that you thought we might discuss that we haven’t discussed yet?
TYLER:
I think we nailed it all. Just, if you’re getting started, just expect to struggle, expect to be frustrated, but know that if you persevere through that, it’s like anything. If you persevere, you’re going to come out on top.
JOE:
Awesome. Okay, well let’s move on to picks. Dave, do you want to do your picks first?
DAVE:
Sure. Okay, so first I have a very unorthodox pick. It’s a food item and it’s delicious. And it comes from an American store called Costco which probably most of our American listeners are familiar with, right? Panelists, am I right?
TYLER:
Absolutely.
DAVE:
Costco makes the most delicious peanut butter cup. It’s Kirkland brand. They are so incredibly yummy. That’s all I have for you about Costco. They’re very tasty.
The other thing I wanted to pick was Tyler McGinnis who we’ve just been talking to, gave a fantastic talk at MountainWest JS 2015.
TYLER:
Dave, I’m recommending you. You can’t recommend me. It’s going to look like we staged this.
DAVE:
Too late.
TYLER:
Aah.
DAVE:
Too late. Already baited. So anyway…
TYLER:
[Chuckles]
DAVE:
Tyler gave a great talk on, what I learned about learning, teaching people to program. And it was pretty darn insightful. I really liked it. Now, I haven’t seen the video online yet. Tyler, have you seen it?
TYLER:
I don’t think it’s out yet, no.
DAVE:
By the time this comes out, which should be middle of March, we should probably have that video online. And I’ll try to get it in the show notes so that we can link it.
The other talk I wanted to pick is Katya Eames’s ng-conf talk. I have never seen a speaker able to, in one sentence, get the audience cheering and clapping on their opening sentence. And she did. 700 people in the room and within one sentence, they were all cheering and clapping for her.
And then I wanted to pick lastly, Miško Hevery’s talk on Angular 2 syntax and semantics from ngconf. These are both, Katya’s and Miško’s talks are available on YouTube right now. And Miško talks about the new syntax for Angular 2 templates, which is pretty cool looking, and the motivation behind it which to me was the most important part, instead of just saying, “Well, now you use a square bracket and now you use a parentheses.” And he talked about why those things are and it made a lot of sense to me and I really enjoyed it. So, I wanted to pick that. Those are my picks.
JOE:
Awesome. AJ, you’re up.
AJ:
So unfortunately, I’ve been in an echo chamber/cave the past couple of weeks. And so, I haven’t been thinking a lot about cool tools that I’ve been using or fun things. I’ve just been heads down, working. But I do have one pick that I can pick which is Mandy, the person that makes the podcast really happen aside from Chuck, that’s Mandy. She does all the editing and gets everything worked out in the scheduling. Her fiancé buys everything I mention. Anytime I mention a video game or something cool, he goes out and he gets it.
DAVE:
Oh no.
AJ:
So, I pick Mandy’s fiancé because he makes me feel awesome. [Laughter]
DAVE:
Careful, AJ. With great power comes great responsibility.
JOE:
That’s awesome.
AJ:
Just as a fair warning, Mandy. I will be putting together a list of all the games I have for Wii U and 3DS and picking that next week.
JOE:
[Chuckles] That’s awesome. Alright. I’ll go and we’ll let our guest be our last pick. So today, I’m mad at Dave for picking my pick. [Chuckles] Obviously…
DAVE:
Oh.
JOE:
I should pick my daughter’s talk.
DAVE:
Double pick.
JOE:
That’s right. I’m going to give it the honorary pick, because it is my daughter’s talk. I’m glad that you picked it though, Dave. Because it sounds like, oh, well every father would pick what their kid does, right? But I agree with you. I think it was actually an amazing, great talk, great for a conference. So, I pick that.
I’m also going to pick a new program that we did at ng-conf this year, which was ng-conf Kids where we had 50 kids come in. And for two days, the Zaniac company came and taught them the fundamentals of computer science. They had a blast. I had a blast watching them do it. And I think it was a huge success overall.
And then my third and final pick is going to be the movie Salt with Angelina Jolie. I think it’s one of the most awesome movies and one of the best heroines in all of cinema history. So, I really love the movie Salt. And that is my third and final pick. Tyler, you are up.
TYLER:
Cool. So, I was actually going to pick Katya as well. But I won’t, because that would make it three times.
JOE:
T-t-t-triple pick.
TYLER:
Anyway, so I got some for you.
JOE:
[Chuckles]
TYLER:
The first one is Dave Smith’s talk at Angular conf. It was ‘Angular + React = Speed’ and it was fantastic just comparing the two frameworks. I know a lot of people like to jump to either side, but Dave let us all know that that’s a silly argument and why. So, that was a great talk. And he did some cool comparisons with Angular 1, Angular 2, and then React.
My next one was a talk by Igor at ng-conf called ‘Power Management’. And I think a lot of times as developers we get so carried away with learning and we get carried away with deadlines and projects and things like that, that we forget that we’re human. And we forget that we need to take care of ourselves. So, Igor did a great job of talking about neuroplasticity in the brain and the important of meditation, the importance of self-reflection, which I think is a fantastic topic, and one that a lot of us forget.
And then my third one’s kind of self-serving. If you’re interested in React.js I run a React.js Newsletter which is just ReactJSNewsletter.com. So, just a typical tech newsletter that I do every Thursday. And that’s my picks.
JOE:
Awesome. Thank you very much. As the show host, I pretty much get to do whatever the heck I want. So, [chuckles] I’m going to come back in with one more pick.
DAVE:
[Laughs]
JOE:
And that is because although Dave Smith’s talk was really awesome, I think there’s one aspect about his talk that should be mentioned on the show.
TYLER:
Yes.
JOE:
And that is that he made a small mistake when giving his demo live. And rather than try to ignore it or hopefully just let it sweep under the rug, Dave really stepped up, recorded an addendum that got posted to the YouTube video, where he points out that, “Hey, I made a mistake. I made some things look a little bit different than the reality is,” and also talked about the fact that even though you see these sorts of things, don’t take this as a judgment that you should be doing your own research and make your own decision and not based on what you see in a talk. And I thought that was really awesome. And we need a lot more of accountability like that in this industry of those who give talks. So, my hat’s off to you, Dave, for doing something I think was amazing.
TYLER:
Absolutely.
JOE:
After you gave an amazing talk.
DAVE:
It was really a waa-waa-waa moment for me. [Laughter]
DAVE:
Hey, I’ll give you a little bonus material for JavaScript Jabber listeners only. There is a secret. You can take my little demo app from that talk that these guys are talking about and you can make the Angular 1 version as fast as the React version. Woo, uh-oh.
AJ:
Oh.
DAVE:
If you want to know how, just contact me and I’ll give you a leak. [Chuckles]
JOE:
Cool. I like it. Secret stuff. Okay, well thanks everybody for listening and we will see you all next week. Thanks again Tyler for coming.
TYLER:
You’re welcome. Good to be here.
DAVE:
Bye everybody. I missed you!
[Have you noticed that a lot of developers always land the job they interview for? Are you worried that someone else just landed your dream job? John Sonmez can show you how to do this with the course ‘How to Market Yourself as a Software Developer’. Go to DevCareerBoost.com and sign up using the code JJABBER to get
$100 off.]
[This episode is sponsored by React Week. React Week is the first week-long workshop dedicated entirely to learning how to build applications in React.js. Because React is just the V in MVC, you’ll also learn how to build full applications around React with the Flux architecture, React Router, Webpack, and Firebase. Don’t miss this opportunity to learn React.js from Ryan Florence, one of the industry’s leading React developers. If you can’t make it out to Utah they’re also offering a React Week online ticket. Go check it out at ReactWeek.com]
[This episode is sponsored by MadGlory. You’ve been building software for a long time and sometimes it’s get a little overwhelming. Work piles up, hiring sucks, and it’s hard to get projects out the door. Check out MadGlory. They’re a small shop with experience shipping big products. They’re smart, dedicated, will augment your team and work as hard as you do. Find them online at MadGlory.com or on Twitter at MadGlory.]
[Hosting and bandwidth 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.]
[Do you wish you could be part of the discussion on JavaScript Jabber? Do you have a burning question for one of our guests? Now you can join the action at our membership forum. You can sign up at
JavaScriptJabber.com/jabber and there you can join discussions with the regular panelists and our guests.]