Code Your Own Adventure: Life at Montana Code School

I attended Montana Code School’s full-time class from February to April 2016. It was the best learning experience of my life. It’s one year later and as the Executive Director of Montana Code School, I have a different perspective. I have spoken with many students who go through a similar journey that I did before making the decision to attend. I’ve also done a lot of thinking on what makes Montana Code School unique. We teach modern web technologies, as do many other code schools. We are held accountable by our job placement rate, as are other code schools. So, what makes Montana Code School different? I believe it’s our culture. Culture is hard to define, but a large part of the culture is the vision, values, practices and people. So, here’s what makes Montana Code School, well, Montana Code School.

We are Fun, Loving & Collaborative

I remember the first day when we were doing standup and our teacher and co-founder, Harold Shinsato, said that “success is when the entire team wins. No one gets left behind. We are all here to support and learn from one another.” That really set the entire tone of the class.

At Montana Code School, we are a fun, loving and collaborative environment. We are not a cutthroat and competitive environment. In general, we don’t really learn very well when there is extreme competition. If you are trying to always stay ahead of your peers then there is no space where you can learn from each other. We encourage and foster collaboration during the entire time. Students work on group projects during 50% of the class. Even when the focus is on learning the curriculum, students help each other by solving problems and challenges together.

It is one skill to understand how a problem works but it is another skill to be able to explain it to another person. That is why we encourage pair programming and mob programming.

We are Agile

Pair programming is an agile software development technique in which two programmers work together at one workstation. One, the driver, writes code while the other, the observer or navigator, reviews each line of code as it is typed in. The two programmers switch roles frequently. Mob programming is when the entire team gathers around one (preferably big) screen, takes turns sitting at the keyboard, and works on a problem together.

We are an agile space and how we teach is agile. This is largely driven by our co-founder Harold Shinsato, a software developer who is passionate about implementing agile practices in education. Agile is a time-boxed, iterative approach to software delivery that builds software incrementally from the start of the projects instead of trying to deliver it all at once near the end. How does it translate to our teaching? We are constantly iterating based on the needs of our students. Our classes are small (average size is 9 students) and thus, we are able to shift quickly based on students’ needs. We do standup every morning. Standup is when everyone stands in a circle and checks in personally (optional) and checks in regarding curriculum. We also do a short improv game afterward. Improv helps unleash creativity, breaks down barriers as well as teaches people how to think on their feet. Standups are a great way to assess where everyone is at from a teacher’s perspective. From the student’s perspective, it’s great to know that you are not the only one having similar struggles.

We are a Tribe (& how that helps with Job Placement)

Montana Code School is a tribe. I’m using. Seth Godin’s definition of a tribe, any group of people who are connected to one another, a leader, and an idea. Montana Code School was a labor of love for our co-founders, who volunteered their considerable time to launch it and grow it. They founded the code school because of the demand for programming talent in Montana. The co-founders possess a large network of people in the tech space and they help connect students with companies in the tech industry. Our job placement is high because of this large network.

Also our graduates are now at multiple tech companies in Montana. They also create a path for our current and future students to find internships and jobs.

Core Value: Stretch, Learn, & Grow

We push people out of their comfort zones. It’s only when we challenge ourselves that we grow intellectually and emotionally. Montana Code School not only taught me a valuable skill, it forced me to confront many of my own preconceived notions of myself. Everyone who comes to the code school comes with ideas of the type of learner they are. Often, we are not even aware of these assumptions. Our job is to challenge many of these assumptions.

The thrilling part of learning code is that it is hard. There’s always a new problem to solve, and it can often keep you up at night on trying to solve it. But it’s when we are pushed to solve these problems when we are truly forced to do something that we never thought we could, that’s when growth happens.

We teach people to code. But more than that, we really teach people how to learn software programming. Once our students know how to learn, they will be able to go to any workplace and succeed.