When and why did you join Coder Camps?
I came on board at Coder Camps in late 2016. In my career I’ve been a software engineer, team lead, manager, and an executive. So when I started at Coder Camps, I brought an employer’s perspective, because I have experience interviewing and hiring both traditional and non-traditional candidates.
The demand for coders right now is outweighing the supply, but many companies are still requiring four-year degrees and looking for those traditional candidates because it makes them feel comfortable. As an employer, I found it very challenging to fill our teams within those traditional hiring requirements. So I started looking into nontraditional candidates like bootcamp graduates, and had some pretty remarkable success. I joined Coder Camps out of that awareness and frustration from the hiring side. It’s difficult to find the right level of talent in the marketplace right now. Right now, we're pushing for a new curriculum, content, and additional programs to produce quality talent.
Coder Camps has been teaching for three years – what’s motivating these changes to the curriculum?
Many of the changes stem from what I was seeing when interviewing in the field, and where I thought coding bootcamp graduates were falling short.
A lot of candidates were following an overly linear path throughout their education. But software development is not linear! You can’t just follow a recipe – it's about exploration, trial, failures, and learning from mistakes. The people who succeed in this industry are comfortable with problems that they can't immediately solve – a linear path will not adequately prepare students for that experience.
The bootcamp students I interviewed were also having a hard time understanding why they chose to use particular technologies in their projects. I was usually impressed with the project and could see they were well-trained in presenting it. The challenge came when I'd say, "Why did you choose Angular?" And they'd have a hard time answering those types of questions. The logic behind the decisions that they were making evaded them.
How will the new curriculum solve these problems?
What are the new modules that students can choose from?
For example, when we get to RESTful services, we give students the option to learn that through Node.JS or through the .NET Stack. We are introducing Ruby next month, and Java in July. On the front-end, we were only teaching Angular, and now we're giving students the option of Angular or React.
The curriculum is no longer pre-determined up front–it allows the student to evaluate and explore these technologies during the coursework. We like to tell students there are a lot of different tools available to achieve each outcome. You should research those on your own, talk to your peers in the industry, talk to your classmates, and debate like we would in a software setting, about which technology makes the most sense.
How did you choose the modules that you're now offering?
Will those technology stacks and modules change depending on the city?
Yes. This modular approach allows us to cater for the shift in technology demands regionally. We have three campuses in Phoenix, Seattle and Houston, but the majority of our students are online and so we have a national presence. Not every city has the same profile of companies and technologies that are in demand, so this new approach allows our teams to help students navigate through the technologies that are most useful in their area.
It's easy to get wrapped up in the shiny new technologies, so as developers, a lot of the things that we're interested in learning aren't necessarily technologies that employers are looking for. We have to temper our excitement around some of those things. We try to host workshops around some of those concepts, but to really leverage the 12 weeks that we have with each student, we have to focus on technologies that are in demand in their area.
Are all the instructors going to be well-versed in each technology?
That works seamlessly for our online students, but for the in-person campuses, it's a challenge. But our primary goal is to be flexible enough to offer technologies that fit the region, so we can look at our Seattle campus and profile the technologies in demand there, and have some pre-determined tracks for Seattle students.
Occasionally you get a student that says, "I understand that you're teaching to the demand of my region, but I really feel like I want to learn Ruby." And that’s where our online platform is useful for our in-person students. That student then has the option to attend the online sessions on Ruby. They still come to campus, they still have the support of our instructional staff on campus, but they would get the material for that week delivered through an online lecture.
How can students collaborate on projects if they are learning different technologies?
We try to partner students up with a group that has like-minded technologies, and all using the same tech stack. Or they can partner with a group working on a different technology; in a typical software team, people tend to specialize. We really don't see challenges in students being able to partner up and ultimately getting exposure to different technologies and the conversations that come out of that. This situation spawns a lot of really good conversations.
Do you have assessments or a way to track how students are progressing with each module?
Yes. We recently launched a new learning platform to support assessments. A lot of the commonly available learning management systems did not have the flexibility that we needed. So we ended up building our own, which is video-driven.
Students spend most of their time doing hands-on exercises, but when they submit solutions through our online portal, we can systematically grade them, and analyze the student responses. Our system can give them individualized feedback and guide them to the correct solution, and we're able to track student performance. If we have a student who is performing below expectations, we then proactively notify the instructor to spend additional time with them. We can also identify our top performers and get additional materials in front of them.
When you realize that a student is falling behind, can students repeat a module if they wanted or needed to?
Yeah, absolutely. Throughout the 12 week course, there are essentially four milestones, and at any of those milestones students can opt to repeat that segment. Maybe you struggle with a particular concept or something happens in your personal life, so you're not quite keeping up. We don't want to push those students through or kick them out; we want them to be successful. We've had students repeat courses and go on to be successful in the field.
How does your Coder For Life program fit in with the new curriculum?
A 12-week program can offer a great start, but software development really requires lifelong learning. I'd like to teach these students for years because there's so much that you can learn. To address that time constraint we introduced a program called Coder For Life, which means that all of our graduates get access to all of our additional curriculum.
When we launch Ruby next month, and Java in July, all of our former graduates get access to that curriculum. Technologies will shift. One of the biggest decisions the students tend to make is, "What technology do I learn? How am I confident that this isn't going to go away in a year or two?" We want them to feel comfortable because they know they will have access to all our future curriculum as it evolves. If their situation changes or they want to expand their knowledge, they can take additional coursework with us.
We're not just giving students the transactional education that gives them a start, we're establishing a partnership with them that's long-term, and we're investing in their continued education. We tell our students at the end of 12 weeks, “That was your start.” We want you to continue with your education.
You mentioned that Coder Camps just launched a new learning platform – what can students expect?
We wanted everything to be video driven. So even though online instruction is becoming incredibly popular, it does have its challenges and we wanted to do the best we could to replicate the immersive classroom experience. The content available in the system is mobile responsive and has a lot of code snippets and examples for students to explore and experiment with, browser-based exercises and quizzes, and the ability for us to track the analytics and performance of the student.
How will the modular curriculum make students more marketable as developers when they graduate?
I think it helps them to answer the “whys” in the interview. A lot of these candidates are very good at answering “how did you develop a system or how did you build this?” But when it comes to “why would you do it that way,” they might say "because it's the one way I know how to do it, and I didn't have a chance to determine alternative ways of doing it." So this modular curriculum allows students to do those evaluations and answer with confidence.
Career services also consult on the job search and whether a student is lacking in any areas. If a student doesn't have the knowledge they need for a specific role or interview, we can very rapidly build a customized course for them and help them get there. They’ll go through three units for two and a half weeks, then go do a job interview.
Is there anything else you want to add about this new curriculum?
Every time we develop a new module, we try our best to avoid prerequisites where possible–this keeps us out of that linear approach. If someone wants to learn a particular concept, they shouldn’t have to learn six concepts as pre-requisites before then.