Martin Puryear has been programming since he was in junior high. After studying Computer Systems at Stanford and working in software development at Microsoft, Martin decided he wanted to transition to web development. He graduated from Coding Dojo, and realized that his dream job opportunity was to be a bootcamp leader with the chance to lead teams and mentor others at the Dojo. We talk to Martin about his extensive history in tech, what he loves about Coding Dojo’s three full stack curriculum, and the best ways he’s found to keep students moving forward and passing Belt exams.
Tell us about your background before Coding Dojo.
I started programming at a pretty young age, in junior high. I went to Stanford, where I studied computer systems. After that I started at an industrial conglomerate writing software, then worked for 5 years at a Silicon Valley startup, before joining Microsoft.
After a long time at Microsoft across four different divisions, I still wanted to do something completely new. So I left Microsoft a couple of years ago, looked for the right type of opportunity and decided that I wanted to learn more about web software specifically. I’d been writing software for a long time but it was all inside Windows. So I became a student at the Coding Dojo.
What did you think of your experience as a student at Coding Dojo?
I was a student at the Dojo a little bit over a year ago and loved the program. I really enjoyed the discussions with Michael, our technical founder. After the bootcamp I looked for that perfect company to work for and eventually came to realize that the opportunity that was going to fulfill me the most was actually returning to the Dojo as a bootcamp leader.
I loved leading teams and mentoring people and helping them grow. More recently, I enjoyed understanding the business aspects of what goes into running a bootcamp. Being at the Dojo tickles both those pieces of my mind, as well as guarantees that I’m going to stay technically current, which had become increasingly important to me.
Before Coding Dojo it seems like you had a traditional education- a CS undergraduate degree and an MBA. Did you have to be convinced of the bootcamp model at all?
Not really. There are some things for which more traditional education is a good preparation but I really do feel like the bootcamp format is so much more focused and pragmatic – it’s practical and well-grounded.
When I was writing software for a living, there weren’t that many situations that required a deep understanding of esoteric computer science data structures. Lists and arrays and trees were usually enough. That’s what brings me to believe that certainly for almost all front-end software jobs these days and in many cases for back-end or full-stack jobs as well, the bootcamp format is the perfect format. Sure, there can be times when more advanced data structures are needed, but for most projects, you can be productive without them.
Why did you decide to attend Coding Dojo as a student? Did you look at other coding bootcamps as well?
I was already established in the area with a wife and kids, so I looked for a bootcamp that was local or entirely online.
Previously I had tried to pace myself through materials, and I had a sense that an online bootcamp might work, but I wanted to look into the ones that were face-to-face first because of my personal learning style.
I’m in Redmond which is 10 miles from Seattle so I looked into the bootcamps that were here: Coding Dojo and Code Fellows. I wanted a broad exposure to web development because I didn’t want to decide before I had even started what I would focus on. There are a number of good bootcamps that are scoped more narrowly to a certain language or technology. That can be good if you’ve already decided that you’re going to be a specialist in one specific area.
I wanted to get really broad exposure, because I was hoping that the years I had spent doing lower-level software would be somewhat transferrable in many areas.
Did you find that it was an easy transition from software to web development?
It was not bad. The process of breaking problems down, writing software and building things from small pieces to larger pieces, all those skills are transferrable. My instructor at Coding Dojo was interested in my goals, and he was able to give me tips based on my background. That was so helpful. I’ve brought that into my approach of instruction over time as much as I can.
You learn the front-end -- that’s going to be universal -- then we learn the AMP back-end and turn that into a full-stack, then the same for Node.js and Mongo, then Ruby on Rails. It’s gratifying to see people who come in thinking they’ll specialize in front-end, eventually knowing back-end pretty well too. If they take a job as a front-end developer, they’ll still be better off being able to have cogent conversations with the back-end team.
After you graduated, what was the process like to become an instructor at Coding Dojo?
The process to become an instructor is evolving. When I joined in November, I had developed a relationship with Michael and the Coding Dojo team. I continued learning the materials that I didn’t feel 100% about. I also spent time in the classroom observing an established instructor and helping out like a TA. They did a really good job of making me feel supported but also pretty empowered to teach.
Maybe I’m biased but I feel like the instructors are really the engine of the company. In fact, we no longer refer to our role as instructor; we refer to our role as a bootcamp leader.
When did you start in your role as a bootcamp leader/instructor?
I started teaching my own cohort of students at the beginning of 2015. We’ve split the boot camp into two sections. The other master instructor is teaching the first half and I’m teaching the second half.
Are there things that you have changed or wanted to change about the curriculum after going through it as a student?
I remember feeling at the time that the material was fairly solid. Having said that, we’re always iterating on the content, pushing to improve things. Some of that change comes from the changing technologies. For example, PHP is stable but the MEAN stack is still evolving, so our course will continue to be updated.
One of the pieces of feedback I had when I went through the course is that I really wanted us to spend more time on deployment. These days, we do spend a little more energy on that.
Are you teaching full-time with Coding Dojo?
Yes. We are in the middle of adding another bootcamp leader to our team. At that point, if we have three bootcamp leaders and two cohorts to teach, we are fully intending to rotate our instructors. The intention is that once we have an additional instructor here in Seattle, one instructor can be working projects (either internal or external) or adding to our curriculum.
Are you involved at all with the online course?
No. We have a separate instructor that is in charge of the online course. He’s the other co-founder of the company and really impressive in his own right.
For the hybrid course, it is effectively online but we have students join an onsite location for two different two-week intervals. The material is the same between on site and hybrid and online.
Tell us about your personal teaching style.
First, let me describe the Dojo approach more generally. Because we’re trying to cover so much material in such a relatively short amount of time, we use an 80/20 approach. We’re covering the most essential basics and showing students how they can discover the rest of the idiosyncrasies of that specific programming language or technology.
Our curriculum is a fairly curated set of content. We’ve worked as hard as we can to create material so that our content is effective at leading students through, without tons of hand-holding.
One of our most important ingredients is the 20-minute rule.
What is the 20-minute rule?
We believe in strength through struggle. If you are hitting a bug, we want you do all you can to try and figure it out. Having said that, after 20 minutes your odds of solving it on your own are lower, and you probably need some type of nudge from elsewhere.
Your next step is to talk with the students around you, because the students who are in step with you are going to be the freshest, most able to help relate and fill in a missing piece.
If the people around you also can’t figure it out, that’s when we want those students as a group to come to the TA or the bootcamp leader. As the instructor, we’re still hoping to give just enough nudge so that the students discover the answer themselves.
At that point, the two things that would also be going through my mind are, “Okay, here’s something that I need to improve in our platform materials for next time around” and also “Gee, maybe I need to do a 10-minute special session right now on this topic for everybody.”
Do you have a daily lecture at Coding Dojo?
For me, the day does include a lecture. At 9:00 we start with a lightning challenge of sorts, a type of algorithm puzzle. The students work on this solo or in pairs. I’ve started having them do it either on paper or on the whiteboard instead of at their computer, to simulate the interview environment, because there are still so many whiteboard scenarios in interviews.
After the algorithm challenge, I start a lecture on the material. Generally, the lecture is not intended to be very long. It’s just intended to double check that the students understand the main points that have been covered in the platform materials; to make sure that they have watched the videos and have gone through the different tabs in our platform.
After morning lecture, often it waterwheels into a group activity where groups of two or three work on something related to the lecture or related to the material on our learning platform.
When that’s done, the students go back to working solo on either small assignments that build on the different topics that we’re talking about that day, or continuing through the learning materials. There are larger projects that we have as the last week of each three-week section, basically about a week of working on a project on AMP or MEAN or Ruby on Rails. The project teams are generally teams of two or three. Occasionally, a person wants to work solo and that’s okay but we do feel like the best learning is going to happen in groups of two.
Do you assign projects at the end of each lesson?
The syllabus of daily assignments is established upfront. Also, at the end of each of the three stacks, the students do two more significant things. One is the capstone project for that stack -- I mentioned that a second ago. The other is the “belt exam” at the end of that major section of the bootcamp. Once you’ve taken the first fundamentals unit, you can take the yellow belt exam. When you pass that, you’ve demonstrated your mastery of HTML, CSS, and front-end fundamentals. The next one is a full-stack belt test on AMP, the next one is a full stack exam on MEAN, and the final one is a full-stack exam on Ruby on Rails.
What do those Belt Tests look like?
For each of those tests, we give students the wireframe of a system that we want them to create in four hours. This includes the front-end views, the server, database, everything. They build it all themselves, zip it up and submit it inside the four hours.
What do you do when someone doesn’t pass a Belt Test?
I’d have to look into the exact percentage of students that pass exams the first time. My guess is it’s maybe about half. For the earlier exams, certainly much more than half pass the first time. We give students a few different opportunities to loop back and pass those exams.
In the cohort that I just finished with, there were a number of students that didn’t pass the second exam. They came back a week or two later, took the test again and passed.
What do you do when someone’s totally struggling or not passing those exams?
That does happen sometimes. At Coding Dojo, we’re selective about our students, but we are not specifically selective based on technical background. We pick based on their attitude and focus and their desire. I feel we’ve been pretty fortunate to have cohorts of students that are focused; they want to work hard, they have a good attitude. They’re willing to help each other and be helped. When a student starts to struggle, they pull together and we pull together with them. We really are trying to make it so that nobody’s left behind.
What do you do at Coding Dojo to prepare students for the job placement process?
Our approach is that while they’re in the bootcamp itself, they shouldn’t stress out about a job yet. They should think about learning the material really deeply and focus on their projects, passing the test and becoming a Double Black Belt Ninja.
The day after graduation is when we really swivel and start working on a plan to get a job.
At that point they are welcome to return and be a Dojo Resident, for resume proofing and other things. I spent time yesterday red-lining a bunch of resumes for our recent grads, working on LinkedIn profiles, making sure that their Github was up-to-date with all the projects they had done at the bootcamp, working with them on getting their projects deployed out to AWS or Heroku. We also have sessions on interview training, or specific tech topics they feel they need.
What do you like most about the Coding Dojo approach?
The thing that I love about the three-stack approach is that we try really hard to be intentional about the way that we teach the first stack so that once students get to the third stack, there are these universal ideas that keep recurring. It helps keep the student energized and moving forward even though the pace is relentless.
The first stack is the hardest and once you have those ideas, the other ones come more easily and that’s just something that I love about the Dojo. As we think about growing our offerings, I’m excited because I think it’ll continue to snowball from there.