While working in the startup world, Michael Choi was tasked with finding skilled web engineers. His difficulty finding qualified developers inspired him to start training smart people himself, and thus Coding Dojo was born. Michael talks to us about the importance of iteration for the Coding Dojo curriculum, expanding beyond Northern California by adding Seattle and Los Angeles coding bootcamps, and the diverse community of students that attend and excel at Coding Dojo.
Tell us about your background, Michael.
I was involved with a startup about four years ago and I was managing engineering teams, operations, and marketing. One of the biggest pain points we faced was finding good engineers. We interviewed a lot of CS grads who had theoretical knowledge but when it came to just jumping in and building things and adding value from day one, they lacked the practical knowledge of how to build enterprise-level web applications.
Because I knew how to code since I was a kid, and have been the CTO for many SASS startups, I could identify good engineers. I was thinking about starting another company and in all of those endeavors, I would need engineers. That’s how I got involved in trying to solve a problem in the space. We’ve been iterating and we’ve made a lot of improvements over the last four years. I started Coding Dojo as a founder and CEO; now I focus more on curriculum development, training the instructors, improving the curriculum and so forth.
You said that you have been programming since you were a kid. Were you largely self-taught or did you do a Computer Science degree also?
I am self-taught. I’ve been programming since I was 12. I had a friend who was really good with computers and he taught me.
I spent a lot of time learning the fundamentals of computer science and got really good. I took some CS courses in college and it was too easy for me because I had already spent a lot of time when I was a kid on building games and things like that. I don’t have a CS degree. I wanted to study math and science – although I did do a fair amount of programming.
When was the first official Coding Dojo class?
I started training my own employees four years ago. We didn’t call it Coding Dojo. It was an internal training program for my own engineers. Fall of 2012 is when we started Coding Dojo and it was initially a part-time program; evening courses. We transitioned it into a full-time program in January or February of the following year.
How has Coding Dojo changed since September 2012?
The curriculum today compared to the one we had three years ago is about 25 times more effective. In a way I do feel like our first cohorts didn’t learn as much as the people who are going through the course now.
What’s the secret? One is the power of iteration. As we teach the students over and over again, we find out what methods work best and what analogies work really well. A lot of those things we solved along the way; we iterated a lot and we learned a lot. Every single time that we learned something, we tried to incorporate that into our platform for the next cohort. If we make the boot camp 5% more effective for the next cohort, and we’ve been doing that for the last 2 ½ years, we can see how that 5% improvement can really add up.
How often do you start new cohorts? Do you do a rolling start?
Every 6 weeks.
So you’ve graduated quite a few students.
We have. We’ve trained over 300 people in our full-time bootcamp.
Where was the first campus?
We started the part-time bootcamp in Sunnyvale, then we started the fulltime bootcamp in Mountain View. And we just opened a larger location in San Jose (Silicon Valley) now.
We also expanded to Seattle and we’ve been running that branch for about a year and a half. We’re expanding to Los Angeles in two months and we plan to have two more locations opened next year.
How did you decide to open an office in Seattle and Los Angeles? What’s important about those markets?
There are a few factors we looked into. Right now Richard, our CEO, is the one that does the market research and decides which location we’re going to open up. We look for markets with a demand for a bootcamp like Coding Dojo. Markets with lot of jobs so that our students who graduate from the program can find a job if that’s what their goals are.
Tell me about the curriculum at Coding Dojo. How did you decide to include three technology stacks in the curriculum?
The curriculum is based on the topics I thought were important for engineers to know through my previous experience as the CTO for many startups.
That was why we chose LAMP Stack. It took us three months to train people to be at a certain level. We’ve been iterating until we got it down to six weeks. We just expounded on the curriculum as we’ve grown.
Do you find that people choose one of the languages to go deeper into?
Absolutely; towards the end, they do. They focus on the one that they like most and people like different things.
What types of students is Coding Dojo designed for? Is it for beginners or for people with more experience?
We have students at Coding Dojo who are fairly new to programming and as they go through the bootcamp, they get caught up really quickly. In Seattle, I also trained three former Microsoft executives with 15 to 20 years of experience, with Computer Science degrees. They went through the curriculum, found it really challenging, spent a lot of time on it, and they learned a lot.
We have assignments and challenges for people who get ahead. We also have mandatory assignments that everyone needs to complete. Regardless of whether you have done a lot of programming or not, we try to have something for everyone.
Have you found that a beginner can go through Coding Dojo and get a job as a developer at the end of it?
Absolutely. The fact is that the more time that you spend on coding, the better you will get. There is no question about that. We do have students who haven’t done a lot of coding; they work really hard, they spend a lot of time with the pre-boot camp material and they do extremely well. It really depends on how much time they’re willing to put in and how hard they work.
Just like learning a new language; you’ve got to put in the time. You hear that some people were just not born to be programmers. I would completely disagree with that. I say everyone can do this. Some people can do it better than others, but of course it’s only fair for people who pay their dues to do better. It’s about the attitude that they have.
Tell us about your instructors with Coding Dojo.
We have quite a few staff members and we’re always hiring and trying to expand. The student-teacher ratio varies. We have staff members who are experienced in different areas and we try to bring in the best people we can find.
I heard from talking with another student that you were the best instructor they had.
Well, I have been doing this for the longest time. Every instructor has a different style. If those students were taught by me four years ago, I don’t think they would have had as good of an experience. I try to pass down the things that I’ve learned to the new instructors we’re hiring. Over the years, we’ve done a better job of attracting talented instructors.
How did you come up with the assessments and exams at Coding Dojo and why do you think assessments are important in a bootcamp setting?
The assessments are really more of a goal. We give these tests, qualifying exams so that the students have a goal to work towards. By the end of the bootcamp we set the expectation that students need to be at a “black belt” level.
Black belt level students are those to whom we can assign a single app with login, registration, features like collecting messages etc. We expect students to set up their own framework from scratch, set up their database, write all the instructions and make it all functional in 4-5 hours. It’s very tough.
In fact, this is the same exam we will give to a lot of people who apply to be one of our instructors and 80% of them completely fail. If students can get that type of application done in a few hours, we know they’re job ready. It doesn’t mean that they know everything, it just means that they are at a certain level and they can learn something new in a short amount of time.
Those exams are there to help the students. We don’t kick any students out. If they are falling behind, we just work with them more.
Do people leave voluntarily after taking those if they fail? Have you had an experience with that?
No, not at all. Many of our very successful black belt students have to retake some of these exams. It’s really the attitude.
Are students getting placed in jobs even if they don’t pass the Black Belt test?
Yes. However, the mentality should be to master the material and skills first. Our students’ goal should be to become a black belt. Get your black belt to master the skills first, and afterward, we will start the career placement process. In fact, our goal is to help people become self-sufficient developers. We want them to learn how to build things. That’s ultimately what our goals are.
Does Coding Dojo have formal hiring partners?
We do have companies that we partner with and companies that ask for our students. We also work with an exclusive recruiting company to help with our students as well. Having said that, we also provide some tips on resumes and other things. If our students want to interview beyond the companies that we have a relationship with, that’s fine as well and we will help them with resources.
Do you make your job placement rate public?
I believe our last stat was a 92% placement rate for our black belt students getting jobs within 60 days. The stat is a lot better now.
Is there anything that we skipped over that you want to add about Coding Dojo or your experience with bootcamps in general?
I think one thing that makes Coding Dojo unique is that we embrace people from all different backgrounds. I think that’s something that’s quite unique and that’s something that we enjoy. I love working with entrepreneurs; I love working with people who are making a career switch.
I had some students who have started companies after they graduated from the bootcamp, or VCs coming to our boot camp because they wanted to better understand tech. I’ve had executives coming in because they wanted to learn how to work with their engineers and speak the same language. I tell the students that it’s not necessarily the staff members that make Coding Dojo great, it’s the students and the community that we’re trying to build.