Learning To Code

Instructor Spotlight: Joe Burgess, VP of Education

Flatiron School / 19 August 2016

Below are highlights from Course Report’s recent interview with Flatiron School’s VP of Education, Joe Burgess. For the full post, head to Course Report

Joe Burgess has a passion for teaching and education and has been part of the Flatiron School academic team for three years. After working at IBM, he joined Flatiron School to write and teach the iOS curriculum. Joe is now the school’s VP of Education and oversees the instructors and the curriculum development for both the online and in-person programs. We spoke to Joe about the Learn platform that powers their online campus, how Flatiron School constantly iterates on the curriculum, and why Ruby and JavaScript are such important first languages to learn.


Can you tell me about your background and experience before you joined Flatiron School?

I have been programming since middle school. I’m one of those kids who discovered coding at an early age, and fell in love with it. In high school, I taught at a computer camp for middle schoolers. That’s when I caught the teaching bug.

I went to Carnegie Mellon to study computer science and information systems; but it got very theory based, which didn’t really swing with me. I wasn’t good at it. The reason I love programming is because I love making and solving things. I couldn’t figure out how the deep theory was connected to building better software, so I dropped computer science and picked up economics and information systems. During school I was TAing for CMU courses: statistics, economics, Intro to C, and Rails. In my senior year, I helped write curriculum for an iOS course.

When I graduated, I actually just wanted to travel, so I joined IBM and consulted. I was looking for a way to give back to the community and wanted to volunteer to teach at the public library, but they needed people during the week when I wasn’t available. I then heard about Flatiron School through a friend of a friend who was in the school’s second ever Web Development class. I got in touch to see if I could help out on the weekends, and it eventually became a full-time job. I’d always loved teaching and programming, but I’d never thought of it as a career.

What did you think of Flatiron School at first?

I really liked how instructors spent so much time with students in these immersives, building really strong relationships. I also realized that people were quitting their jobs, spending a lot of money, and just dedicating their life to this so it’s our duty to make sure they learned as much as possible. It is on our instructors to make sure they have an amazing experience just as much as it is on the student.

What has your progression been since you started at Flatiron School?

I started working at Flatiron early July 2013. For the first year and a half, I was the lead instructor for the iOS class. We’re a small company, and if a teacher was sick, or needed someone to cover, I’d help out. I would also represent the company at events.

Then I started helping Avi Flombaum, our co-founder and dean, with onboarding new instructors, instructor training, and some curriculum development stuff. We were trying to build processes around how we capture issues, how we respond to them, etc. Then we found another Lead iOS Instructor who took over the iOS class and I was able to become Director of the Faculty. In that role, I was working on instructor training, hiring, and mentorship of new instructors – coaching them through the process of teaching, and emotional support for the students.

This year, I became VP of Education. I oversee the online curriculum, our in-person instructors, as well as help out with some of the online instructors. So I’m interacting with the students, but never as much as I’d like. I am currently teaching our iOS course, and I also do a lot of guest lectures in the web development courses.

Tell me about the launch of Flatiron School’s online curriculum. How did that work?

Towards the end of 2015, we launched our online campus, powered by our Learn platform; and at the same time, we did a huge curriculum lift. Our in-person curriculum was based around lectures, so we had to work out what the curriculum looked like for an online program with no lectures. It went from about 200 to 680 lessons – we effectively wrote almost a book and a half of work. We added new things, including Angular and deeper JavaScript.

It’s nice to no longer be constrained by 12 weeks. We now have the ability to give students extra work during or after the program if there are technologies they want to learn or practice.

Can online students start anytime and how does that impact the sense of community?

Students start whenever they like. One of the biggest features of the online program is flexibility; flexibility to start whenever you like and to build relationships with people who are either close to you geographically or in the same spot in the curriculum, even if they’re in different time zones. We recognize that when you think of amazing educational experiences, you think of the people you did it with, and your instructors. So we want as much as possible to really prop that up and facilitate the social aspect of education.

What’s the structure of the online curriculum?

Essentially the online and in-person program are the same. All of the online curricula came from the immersive class. The immersive is where we beta test new stuff, and push the edges of what’s possible to teach within a short amount of time. Because we have 30 students with three instructors, we’re able to create really tight relationships with our students. We use these relationships to figure out the pacing and to get a tight handle on how fast to go.

The order of things we cover is basic Ruby, object-oriented design, and programming, SQL and databases, then students build their own version of active record which is what Rails uses to talk to databases. From there we move into Sinatra, Rails, JavaScript, JQuery, Ajax, and then Angular.

How often do you update or iterate on the curriculum?

It’s a pretty constant process. It’s an open source curriculum, so it’s constantly changing. We get 30 to 60 issues or pull requests per week. Some are from students, some are from instructors, and they’re getting merged at a rate of about 50 a week. It’s great to get feedback from students and be able to quickly iterate and push a new change within days.  

Instructors are moving stuff around and playing with ideas all the time. Last semester we played with teaching Ember, and our instructors just pulled it together on their off time so we could see how it worked and if we could teach it. Having open source curriculum and having a standard developer flow of GitHub and pull requests means that it’s frictionless for us to try out new content and approaches to teaching, so we do it all the time.

How do the in-person on-campus students use the Learn platform?

We run the whole course through Learn, but usage is a bit lighter compared to the online students. Although the students are able to hit the “ask a question” feature in Learn, it’s more natural to ask a teacher in person because they’re standing right there. We do use Learn a lot for its pacing. It shows us how the students are progressing. We can actually look at the data to see how many tests they’ve passed, how quickly they are working, and if they’re engaged to be a bit more data-driven in our decisions.

How do you assess students’ progress through Learn? Can students fail?

In the online program, students who fail assessments have to go back and make some modifications before moving on. It’s really important that anyone who graduates from Flatiron School really knows their stuff. If you happen to get through some content without understanding it, then we want to make sure that you understand it before you move forward. If you just compound shaky on top of shaky, when you get further into the curriculum – to Rails and Angular – it’s going to be difficult.

If students are struggling, we step in immediately and provide additional materials in the form of Learn lessons, extra one-on-one time, or extra one-on-small group time. We also continue to work with students after they graduate if they need additional practice ahead of interviews.

Why do you teach Ruby and JavaScript as the main languages in the web development program, and why are those good languages for beginners to learn?

Learning to program is hard. So the thing that will help you push through the hurdles is staying focused on your goal and finding what part of coding you’re passionate about. So you should focus on whatever languages excite you. If your friend told you JavaScript is the way to go, and now you’re just stuck on that, go ahead first with JavaScript. That’s why we provide as many choices as we can in our course. I think learning Ruby first is incredibly beneficial. It is object-oriented so it’s similar to every other language, including the bigger languages like Java, C++, Go, Perl, and Python. It’s very accessible so you can just write what you think, which I love.

We’re doing more and more JavaScript every day and you’re going to leave our school as both a Ruby and a JavaScript expert. The challenge with only learning JavaScript is because it’s not a traditional object-oriented language, it’s not quite as transferable to other languages. We’re teaching the concepts of programming and how to think like a programmer. Object-oriented design, and a lot of the ideas it brings, are super important. That’s why we love teaching Ruby, and Objective-C or Swift first. It’s because you will make amazing things; they are similar enough to other languages, that if your profession takes you down a Python path instead of Ruby, you can pick it up fast.

What kind of person do you think is the ideal student to join a coding bootcamp like Flatiron School?

I think the person that really values it is someone who has just fallen in love with code and wants to be completely immersed: physically, mentally, and philosophically surrounded by people who are passionate about coding. They want that really close knit relationship that comes from constantly interacting with your teacher. You sit next to your teachers, you have lunch with your teachers – so if you really love being driven by instructors and you can come to New York for three months, it’s a great option.

Learning this stuff is hard, so you need a community to support you. That’s true whether you’re learning online or in person. Both programs really embrace that concept.   

Excited by Joe’s description of learning on the Learn platform? You can explore our online campus right here.

Forging New Ground with US Department of Education to Expand Access to Job Skills Training Previous Post Five Tips for Getting into Y Combinator from Flatiron Grads Who Have Done It Next Post