Collin Miller is a self-taught developer (he actually started building applications in high school)! After leading the Front End Engineering team at The Onion, Collin was itching to teach programming. Now he’s shaping new developers as an Instructor for Fullstack Academy’s 17-week Software Engineering Immersive in Chicago. Learn why Collin’s non-traditional education makes him believe in the efficacy of coding bootcamps, how his background in improv makes him a better teacher, and the one trait he sees in his most successful Fullstack Academy students!
First, how did you learn to code? Did you do a traditional computer science degree?
I had a lot of exposure to computers when I was growing up because my father was a software developer. I had access to computers and did a little bit of programming (meaning graphs and formulas in spreadsheets) at a young age. When I really got earnest about computer programming – making websites – it was 2005.
I did not do a traditional computer science degree. I started doing homeschooling during the 10th grade. As part of that, I had a video technician internship at a company that made infomercials. After about a year of that internship, I took a job at that company and did not graduate from high school, because I figured that this job would be a good credential to get the next job. Outside of work, I was teaching myself Ruby on Rails, which was the cool thing at the time, with a friend.
My path was pretty self-directed. We had access to a lot of blog posts and books, but there was no guided classroom experience for us. We had to do a lot of self-teaching, researching, and finding our own materials. After about 6 months, I got a job at a startup that built applications for HD DVD, which was a competitor to Blu-ray. From there I've just been learning on the job and trying to build from that step-by-step.
Why did you transition into teaching programming?
As my career went on, I started getting more teaching and leadership roles. Before Fullstack Academy, I was the Director of Front-End Engineering at The Onion, a satirical newspaper that is now a website (when print died and went to the internet heaven). As a director of engineering, I naturally took on some of those duties of mentoring and teaching. If you're choosing a new technology, then you're responsible for making sure the team learns how to use it. Teaching is enriching. You're not trying to just create a product, you're trying to help people transform themselves, which is very satisfying. You're giving them new tools, new ways to think, and new ways to approach programming.
I felt like I had mastered my technical skills, and when it was time to move on from The Onion, I wanted to merge tech with education. I thought I had to choose between writing code all day long and being an instructor. But teaching programming allowed me to do both.
In addition to being a programmer, I've also been a performer and a comedian. My career gave me the opportunity to move to New York City to work as a programmer, and I was also the director of improvisation at a high school for 4 years.
What stood out about Fullstack Academy – why did you want to work as an instructor there?
At The Onion, we interviewed coding bootcamp candidates, and one of them was from Fullstack Academy. I got a bit of an introduction to their process and the capstone project. The bulk of his resume was about the work he did at bootcamp. We wanted to hire that candidate, but he ended up taking another offer. After that, I was fairly convinced that Fullstack Academy worked.
When I started researching Fullstack Academy, it seemed like a transparent company; nothing seems to be very hidden here. I had worked in startups and knew I liked the culture because you get a little bit more freedom and room for experimentation. I wanted to work at a company where the DNA of the company was freshly built.
Since you’ve worked in tech and had a non-traditional education, did you need to be convinced of the bootcamp model?
Being a self-trained programmer, my inherent bias is towards the bootcamp model (versus someone who's gone through college for programming). Friends used to ask me about the education model of a bootcamp, but until The Onion, I had never worked with somebody who trained at a bootcamp. At The Onion, I worked with a developer who had worked as a Laser Lab Technician in the Air Force before attending a coding bootcamp in Austin, Texas. Working with her, I realized that this model definitely can work.
Do you think that improv has made you a better teacher?
After teaching improv, I’m more comfortable leading a room as a facilitator. That has been a great experience to be able to take into teaching. I also found that I was able to learn while running a workshop, and that made me truly care about the material.
I would be remiss if I didn't mention that improv helps you become a better listener. In improv, you have no prior information about the scene – your only tool is paying attention. You have to know when someone checks out or gets confused and be able to, if necessary, intervene and facilitate a conversation. It forces a certain level of presence that I feel is definitely useful in this kind of teaching role.
Give us an idea of your personal teaching style. What is class like?
My teaching style involves asking my students a lot of questions. How do they think we should approach a problem? As teachers we ask ourselves – are we using our time well? Are we able to engage in a conversation or dialogue?
Fullstack Academy is split into a Junior phase and a Senior phase. The Senior phase is more project-based versus lecture. Right now I'm working with the Senior teams on projects, which means that instead of solely lecturing, my role is to be available for any and all questions. My experience as an instructor is lecturing, doing live coding, and teaching different one-off concepts.
What is Fullstack Academy’s teacher:student ratio at the Chicago campus?
I think the ratio is 10 students for every 1 instructor. We have three full-time instructors, four full-time teaching fellows. Currently, we have 30 students on campus. Even if an instructor is busy, there's usually a Fellow who's available to help you, so I do think it’s the right ratio.
Is there an ideal type of student that excels at Fullstack Academy?
The ideal student is one who can celebrate failure. Failure is happening left and right constantly, all the time. You don't immediately know the answer to everything – you have to think about it, write some code and it may not work. There’s a relationship between learning and failure for everybody. An ideal student is someone who can dive in, try something, and if it doesn't work out, they won’t be discouraged. You have to be able to feel comfortable in that zone of discomfort.
For example, one of our new teaching fellows, Camden, was a Summer of Code student. He's a student who is relentlessly positive and engaged – if the world was full of Camdens, it would be a better place.
He had the fearlessness to say, "I'm going to take a little time off of the traditional college path to focus on being a Fellow at Fullstack." Being able to look at what is in front of you and trying to make the most of that rather than doing the status quo is amazing. It’s rewarding to be part of Fullstack Academy, which is creating an environment where someone can take those risks and succeed.
How does Fullstack Academy assess student progress? How do you make sure that students are on the right track?
A big part of this is that our students pair program. There is built-in social accountability when you pair. You're sitting down at your workstation with another person and they can't get their work done unless you're also working. Students keep on task in that way.
We also have an internal website called Learn. Every day students do a check-in: how are they feeling? Are they keeping up with the curriculum? If they are feeling particularly low in a category that day, they can leave us a note, and we’ll then help to encourage or fill in gaps.
From week-to-week and between Phases, we give students at-home and in-class assessments. There are also checkpoints at certain parts of the curriculum. For example, if we’re teaching React, then the React checkpoint might have 20 test cases that you need to pass. Oftentimes, we'll sit down in a room, talk about that code, and try to catch any problem spots before they snowball into too much of an impediment.
It's an interesting time for the coding bootcamp industry – some schools are closing, others are growing. Why is a coding bootcamp like Fullstack Academy the best option for people looking to change careers.
Something that I've really come to appreciate about Fullstack Academy’s company culture is a very strong focus on outcomes. We adjust what we're doing to make sure that we're creating the outcomes that students want. We need to keep it consistent for students so there's not a chaotic environment.
Between phases, we talk about how and what we can improve. What are the things that just aren't working anymore? There's a lot of very courteous, but frank, discussions about the curriculum. We’re always improving the student experience.
Have you been able to contribute to the Fullstack Academy curriculum?
We have 6-week phases, so there’s a limit to how quickly you can change the curriculum. Instructors have a Review Week between phases that gives us time to look at the curriculum and make changes. I’m really excited about a piece of curriculum that we're trying out for the first time. There’s a movement happening in Design Systems best practices around synchronizing the thought processes between the design and development teams. I’m now designing a lecture and workshop training for students to work together on Design and Development. I think my strongest contributions to the curriculum will be in the front-end – thinking about how developers can use design techniques to help them understand how to structure and architect applications.
What's special about the Chicago tech community? Do you have any tips for aspiring bootcampers?
Meetups! Absolutely, you should go to meetups in Chicago. People tend to be very helpful and friendly. You will notice that people who go to meetups love this job and this career. You can draw immense satisfaction from programming – you get the ability to create things which can be very joyful and rewarding. So going to a place where people can come together to discuss programming can be fun.
I owe my career to meetups and conferences. There have been a number of times where a meetup exposed me to some piece of technology, some framework, or some tool in advance that I wouldn't have heard about until months later. Also, once you are looking for a job, the social network you’ll build at meetups can be a very powerful resource.
Is there anything else you'd like to share with our readers about taking the first step into a coding bootcamp?
If you're learning, don't worry about breaking a few things along the way. Be a little reckless! You're not going to break everything and if you do run into problems, just keep trying until you get it right. Play a little recklessly and try different things.