After graduating from the Code Fellows iOS Dev Accelerator, Brad Johnson decided to combine his interest in education with his new programming skills and join Code Fellows as a co-instructor. He's currently teaching his second cohort alongside iOS Developer and instructor John Clem, and took time to chat with Course Report about his ideal students, how the Dev Accelerators are structured, and how Code Fellows fits into the Seattle tech scene!
What were you doing before you started at Code Fellows?
I had a job doing Help Desk IT. I was miserable. So I began to look into ways that I could change my career. I had taken a few C++ course in college and really enjoyed them, so I decided to look into programming. I began teaching myself iOS programming using the vast resources online, but when I heard about Code Fellows and the opportunity they provided people, it seemed like a no brainer. Best decision I have ever made!
Did you get other job offers or go through the job placement process before you decided to take the job with Code Fellows?
Yes, I had a number of companies contact me about possible employment, but continuing what I had started at Code Fellows seemed like the perfect fit for me.
What is your position at Code Fellows now?
I’m a co-instructor in the iOS Dev Accelerator.
Tell us about the differences between the Foundations, Bootcamps, and Dev Accelerators at Code Fellows.
Foundations I is an introduction to computer science and web development, which gives students the groundwork they’ll need to think like a developer and understand the basic programming terms they will encounter in Foundations II and Development Accelerators.
Each Foundations II class corresponds with a Development Accelerator (Foundations II: iOS Development and the iOS Development Accelerator, for example) and prepares students for the 8-week program.
Bootcamps are 4-week, full-time programs that cover the material from Foundations I and some Foundations II material as well, and set students up for transition into a Development Accelerator. The structure follows that of the Development Accelerators (3 hours of lecture and 3 hours of project work/homework per day), but the material is geared more toward novice developers or people who are self-taught and want that computer science foundation.
Foundations and Bootcamp students get a personalized growth plan that helps them grow in their knowledge of computer science, web development, and their chosen stack, and get the experience that will help them understand and retain material in a Development Accelerator.
Development Accelerators are intense, 8-week programs ideal for experienced developers who want to switch stacks, studied computer science in college, or are advanced in their self-education. Of course, we’ve had students of varying experience levels do really well in these programs, but have found that students with a lot of prior coding experience have an easier time keeping up with the intense nature and work of the Development Accelerators.
So somebody who has some past experience in tech can jump straight into the dev accelerator?
They could, yes. It depends on their experience level and how hard they’re willing to work. We’ve had students with not a lot of programming experience take a Development Accelerator, work really hard, ask a lot of questions, and land a job at the end. We try to steer novice programmers toward the Foundations I and II classes because it can be frustrating to jump straight into the 8-week program only to feel confused and like you’re constantly behind your classmates. The instructors are great and work with everyone, but it’s easier on the students to have the proper practice and foundation in place. But Foundations I and II aren’t a requirement by any means, and if you get through the Development Accelerator interview process and are accepted into the program, it’s because we have confidence in your experience level and abilities.
What does a day of teaching look like in the iOS course?
From 9 to 12 every day, John and I do lecture. John is the other instructor for the iOS class. We basically live code and constantly answer questions and explain each line we write, and everyone’s following along with their own laptops.
Then we break for lunch; 1pm to 4pm is homework time and they’ll do the assigned homework. Students will work in pairs or groups or individually and the instructors are there to help them the entire time; everyone’s working together to get the homework done.
How are the two months divided up into a curriculum?
For the first month, we make one app per week. So for this dev accelerator, the first app was a class roster app. It’s functionality manages all of the students and teachers. You click on a student and it takes you to their bio. We thought it was a good way to teach the students fundamentals and also it’s a good ice-breaker because they have to ask each other their names, bios, what their dreams are, their Twitter handles, things like that.
The second week, we built an app that you could use to relay Morse code with the flash on the iPhone. You could send in your message and then the flash would actually flash out the message in Morse code. Someone else could have their phone a couple feet away and they would receive it.
The third app was a GitHub app. That’s where we focused on networking and using APIs. So you could log into your GitHub account and view your own repositories, other people’s repositories, search for users, things like that. Then in the fourth week, we have them create their own app and send it to the app store.
The second month is a similar approach except that instead of one app per week, it’s more like two apps per week, and we hit some rapid-fire topics for all the different frameworks in iOS. So we hit game development, and we hit core data which is like a database-type structure. The final week, we do our group apps where they create an app in groups and submit that to the app store.
How are you helping your students get jobs?
We do demo days at the very end of the program. Also, the second month is when we devote the most time to actually get students jobs. We go through their resumes, we hook them up with a mentor, somebody in the industry. We have speakers come in and talk about technical interviews and culture fit. After students graduate, many (if not all) of them come back to work and apply for jobs from our coworking space. They’re also working on building their portfolios and continuing to process what they learned the last eight weeks. We send their resumes to our hiring partners as well.
How set is the curriculum that you use? Do you feel like you can make fluid changes, or is it set in stone?
It’s very fluid; it just depends on the speed of the class. Also, Apple changes their frameworks a ton so we need to be constantly adapting to their changes as well. So it is not, by any means, set in stone. Before the students start the Development Accelerator, we give them a layout of everything but we specify that the curriculum could change based on a number of different factors.
Do you give students pre-work before they start the Dev Accelerator?
We do. To get into the Dev Accelerator, you have to interview for it and there’s a coding challenge. If they applicant is accepted, then we send out an email with a list of things they need to touch on before the Development Accelerator starts. That includes checking out some of the online coding programs to cement your fundamental knowledge, and reading through Apple’s documentation.
Do you help with admissions at all?
The instructors don’t currently do any sort of admissions. Brook Riggio, one of the Code Fellows co-founders and our Ruby on Rails Development Accelerator instructor, is currently interviewing applicants along with our head of admissions. So specific instructors (except Brook) don’t currently do any sort of admissions.
Can you tell us what the interview process was like for you to become an instructor?
I was interviewed for it by the CEO, Will. He asked me how I would improve the Development Accelerators, because I actually was an education major in college, so teaching is another hobby of mine. I talked about that and talked about my experiences, and I was recommended by the other teachers. I had this great perspective because I had already been through it, so I could totally help out and make this thing great.
Do you feel like you can stay at Code Fellows for a long time, or do you need time off to learn and stay fresh in the dev world?
I think it’s viable to stay at Code Fellows for a long time. I get about a month off between Development Accelerators so I’ve got all the time in the world to work on my own things, study up on new technology, study languages; on my last break I learned C Sharp. I’ve got a lot of time; I love working here so I’m hoping I can stay as long as possible.
Have you found the ideal student who will do really well at Code Fellows?
We do a lot of group work, so someone who is very easy to work with, very flexible, very accepting, and willing to try new things. When you work in groups, you don’t always get your way, and you can tell if someone is used to just having their way the entire time because it’s difficult for them to work with other people.
The ideal students are ones who can go into any group and just immediately start participating; it doesn’t matter if they’re the leader or if they’re just taking orders.
Do you see students who come from outside of Seattle to join?
Oh yeah; a lot of them. And most of the students stay in Seattle afterwards.
Can you describe the tech scene in Seattle for us, and how Code Fellows fits into that scene?
We’re right in the middle of the Amazon campus. It’s in South Lake Union which is basically the tech capital of Seattle. Amazon and a bunch of startups are here, as well as a bunch of coworking spaces. So you go outside and you’re just surrounded by tech people.
For lunch, we get a ton of food trucks, and when you go outside for lunch and you’re waiting in line, you’re going to meet people who are engineers. The opportunities you can get by just being in the area are amazing.
From the students’ perspective and also as an instructor, can you tell us what makes Code Fellows unique from other boot camps?
I don’t have any experience with other boot camps, but what I can say is that I love my job. I feel like I have the best job on the planet. Every day I get to come and do things that I love and teach other people how to do these things.
One cool thing is that a lot of people come from out-of-state. They don’t come here having this group of friends, so Code Fellows is their network of friends. You get this camaraderie that’s built over these two months and friendships are made that are really lasting. I still hang out with people from my first bootcamp and I hang out with students from my last bootcamp and I’m making friends in my current Development Accelerator, too. Everyone has the same passion; we go to happy hour and social events all the time. One of the best things about doing Code Fellows is just all the friends you’re going to meet.
Also, the people who run Code Fellows are very ingrained in the tech scene in Seattle; they’ve got a lot of connections. If you aspire to work at Microsoft or work at Facebook and things like that, Code Fellows can get your foot in the door; they’ve got a lot of connections.