coder-camps-bootcamp-curriculum-spotlight

Coder Camps has been teaching programs in full stack JavaScript and .NET since 2013, but in April 2017 they launched a new, modular curriculum. Students can now choose which technologies to learn over 12 weeks, preparing them for the job market in their city and pushing students to understand the “why” behind their decisions. Coder Camps COO, Chris Coleman, explains how students will learn via a blend of in-person and online instruction, and how the Coder For Life program enables students to continue learning after graduation.

Q&A

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?

First and foremost, our new modular approach gives our students options. We are de-emphasizing the specific technologies we teach, and emphasizing the foundational principles. Our goal is to teach the concepts and the principals, with technology as a tool. So we don't want our students to become JavaScript developers; we want them to become software developers and understand that JavaScript is one of many tools that they need to use.

What are the new modules that students can choose from?

In our new curriculum, we start by teaching the essentials like HTML, CSS, and Javascript. Once we get to server side programming, front end frameworks or databases, there are a lot of different tools available. During those stages, we actually take our curriculum and we replicate it for each available technology. Each student can choose which technologies they want to learn and have the same common outcome for that week.

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?

It's all driven by market analysis of the demand, particularly in the cities where we have a strong presence and where the majority of our online students are. We looked at partnerships with employers and the demand in the industry in terms of what technologies they are looking for. We feel like those four–JavaScript, .NET, Java, and Ruby–really give us a strong start there.

Historically, we've always had full stack JavaScript, or .Net, and those have served us really well. When you go to branch out from there, adding another enterprise solution like Java and another lightweight solution like Ruby, gives us a wide range of options. And that's certainly not the end of it–we will continue to evaluate demand and add, change, and improve our offerings.

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 was definitely a primary challenge when we set out to make these changes. If we've got a classroom of 15 students and at least two want to learn Java, and at least two want to learn Ruby, it’s challenging to find an instructor to teach both. So for each module we have a lead instructor. So if last week we were working on HTML, CSS, Javascript, you'll be with one instructor, then this week if you opted to take a front end framework with React instead of Angular, you would attend the lecture with a React instructor. Students bounce around through different expert instructors.

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.

Find out more and read Coder Camps reviews on Course Report. Check out the Coder Camps website.

About The Author

Imogen crispe headshot

Imogen is a writer and content producer who loves writing about technology and education. Her background is in journalism, writing for newspapers and news websites. She grew up in England, Dubai and New Zealand, and now lives in Brooklyn, NY.

Not sure what you're looking for?

We'll match you!