It’s a great time to be a software developer. Companies everywhere are scrambling to find top engineering talent, with some offering bounties of up to $30,000 for high-quality referrals.
Not surprisingly, a number of new paths to developerhood have emerged over the last few years to help meet this growing demand– including MOOCs, intensive bootcamps and online schools like ours at Thinkful.
We’re chatting with thought leaders in the industry to learn more about the rapid changes in the developer education industry and highlight emerging trends that are shaping tomorrow’s programmers.
Watch the interview with Avi above to learn more about how he and his faculty at The Flatiron School are “changing what it means to be a developer” with a relentless focus on teacher quality and student satisfaction.
For the full transcript of the interview, click “Read More.“
Thinkful Interview with Avi Flombaum, Dean of The Flatiron School
Rob: Hi, this is Rob McFeeley for Thinkful. I’m here with Avi Flombaum, Dean of The Flatiron School, a developer school here in New York City. We’re going to be chatting about the future of developer education.
Hey Avi, thanks for taking the time to chat with us.
Avi: Hey Rob. How’s it going?
Rob: Can you tell us a little bit about The Flatiron School?
Avi: Sure, The Flatiron School is a 16-week program to teach developers. We take people with little-to-no programming experience and over 12 weeks in person and 4 weeks at home, turn them into web developers.
Rob: There are quite a few of these developer bootcamps or intensive schools that have popped up. How do you differentiate The Flatiron School from other schools like DevBootcamp or Starter League?
Avi: You know, I think there are a lot of people doing really great work in this field. In terms of differentiation, I’m not sure–I haven’t been to a lot of these programs. I’ve spoken to a lot of people there and everyone has their own focus, I guess.
One thing that we really care about is and put a priority on is really connecting our students to what we think programing is about, and teaching them to fall in love with it. We think that once you really understand a topic profoundly and it becomes meaningful to you, you love it and won’t give up on it. You keep on trying to learn. Everything else takes care of yourself once you really care about a topic.
Rob: Some people have criticized the notion that you can become a developer in 3 months. Some schools are even shorter than that. How do you respond to that? Does 3 months seem like too short a window to make that sort of claim? Or does that seem like an appropriate amount of time?
Avi: I think you become a developer the day you start building something. That happens pretty quickly at Flatiron School. Day 1, they (our students) start building something. After that, they’re a developer, they may not be any good, but what else does being a developer mean besides building things?
To say that you can’t become a developer in 12 weeks–that’s kind of crazy. To become a great developer, that takes years. But to become an efficient developer, or a productive developer, 8-12 weeks sounds about right.
Look, what we’re talking about—this isn’t casual—it’s 12 hours a day every day for 12 weeks. It’s like 700 hours of coursework (at Flatiron School). How many Computer Science (CS) classes do you end up actually taking in a 4-year college? 10? And they meet 3 days as week for 2 hours where most of the time you’re sleeping?
I don’t think that people who criticize (The Flatiron School) like that are really thinking about it carefully.
Rob: Good point. On that note, how do you see the role of 4 year universities and their CS departments evolving as more and more people move into development?
Avi: I was thinking about this the other day—I was watching the Hal Abelson MIT “Intro to LISP” course on OpenCourseware. It’s awesome, but I noticed that neither the instructor, Hal, nor any student, had a computer in the classroom. Because, in 1985, how do you have computers, right?
They (4-year universities) developed this way to teach CS and programming in an environment where you didn’t have instant access to computers and feedback. Have they changed it since then? Now that everyone has computers, and we can all just be typing code in all day, and it’s really cheap to try things and fail and try things again–have they updated their curriculum to reflect that?
If they did, I’d imagine that most CS classes wouldn’t be lecture based–they’d be project or workshop based, kind of like a writing class. When you take a Creative Writing class–I was a Creative Writing major–they don’t lecture you about what narrative is, or what interesting characters are. That’s a literature major, that’s totally different.
As a CS major, all you do is sit around and workshop and write stuff, and sit around and review other peoples’ writing. That sounds a lot more like programming to me than hearing someone talk about algorithms for 2 hours…
Rob: Are there any schools that you think are doing a good job of adapting in that way?
Avi: I think they’re all doing a good job, but their goals are so different (than ours). A CS department isn’t trying to make you employable immediately. For the most part, they’re just trying to teach you what they know. We’re trying to get people jobs as fast as possible. We’re trying to connect people to a topic to give them a really good foundation to master a skill over the rest of their lives—not pass tests.
Rob: On the note of job placement—so you guys obviously have a great placement rate for your students with high-quality employers in NY and elsewhere. Many of these bootcamps, including yours, have a model where you receive a recruiting fee for placing students with companies. Obviously the job market is incredibly tight for engineers in NY and elsewhere right now… How do you see the job market evolving as more and more people turn to bootcamps like yours?
Avi: Well, let’s put it this way. Let’s say that the entire world could program—like the baseline skill of knowing the syntax and code. Everyone knew it. Kind of like reading and writing today. Do you think that the people who are currently employed as programmers would still have jobs if that was the case? If we could all code–if the whole world could program–would the people who that are currently employed as programmers have the only jobs as programmers? Or would there be a lot more diversity. If everyone could do it (code) and they (developers) don’t hold this magic spell, this magic language where they can communicate with a machine, I don’t think the people employed as programmers today would have jobs.
Rob: That’s a good point. More and more, I’m seeing–and we’re seeing at Thinkful–people in roles that are a hybrid between a developer and some other capacity–whether it’s DevOps or Integrations. You could open up more diversity that way.
Avi: That’s right. You’re still going to have engineers—there are still some very technical things that you’re going to need to be able to do that are specialties. But in terms of applications and features and data analysis and marketing–the kinds of things that are becoming more and more code-related, I don’t really think that’s going to be a specialty in the way that it is now–I think it’s going to be the baseline.
The lowest common denominator between all programmers is that they can code. You have to think about what else you bring to this job other than your knowledge of the language. So when I think about what TFS is doing to the programming economy–it’s changing what it means to be a developer.
I think it’s way more important–everything else you know, everything else you do. Everything else that you think and embody and are, more than just your ability to write code. Most programmers that I’ve worked with generally just think about code and nothing else, and I don’t think that’s necessarily a great thing.
Rob: In some of the materials that you guys have, whether it’s for prospective students or other interviews I’ve seen with you, you talk about bringing people into The Flatiron School that will become almost craftspeople in a way—they’ll be able to employ their Ruby development skills in really any setting.
I read a quote somewhere that you guys would like–would rather have people who are happy doing programming work at a boring company than non-programming work at a sexy startup. Are you starting to consider accepting or seeing people in your program that are coming in to augment an additional skill set, or consider themselves more than just a programmer?
Avi: Most of the people who come into our program have had careers in something else or have expertise or majors in something else. That’s what I think makes them really talented. All we do is teach them how to code.
There’s a really diverse set of skills that come into the school–a lot of our students are musicians or artists or entrepreneurs or founders or investors, and that makes sense.
Rob: Great. So, you guys have an acceptance rate that’s about 10%?
Avi: Something like that.
Rob: That’s nearly as low as Harvard or MIT or some other Ivy League school. What are students doing to stand out in the application process? Let’s say that I’m an aspiring Flatiron School student. Knowing my odds, how could I make myself stand out and up my chances to get in there?
Avi: Well, we really like to see that you’ve put in effort into this by yourself – that you’ve tried building things, read things, gone to meetups or watched presentations. We like to see that people are very passionate about this experience, and have put in effort to it.
I remember one of our first students wrote a blog post: something like “How to get into The Flatiron School.” One of the things that he said was, “Have an interesting story,” have accomplished something in your life, whether it’s winning a poker tournament, being a part of a Brazilian drum circle, producing a radio show in college… be sure to have done SOMETHING.
Be passionate, be interesting, be a maker. We want to see that you’ve been able to succeed in an area of your life. If you haven’t done that–do something special. It doesn’t need to be code–direct a play, run a marathon, just do something exciting.
Rob: So, before you started The Flatiron School, you were one of Skillshare’s most popular and successful teachers here in NYC or anywhere. For you personally, thinking more about the actual act of teaching people to code–what was your process like in becoming a teacher? What inspiration did you draw on? And what were some things that you learned that you think apply to what makes a good teacher of development?
Avi: Teaching was really random–I kind fell into it, and really liked it and saw what it was doing to my students. Their lives were changing and they were connecting to their code and that made me happy.
Once I knew that I wanted to explore doing this more, I wanted to get really good at it. I remember that I surveyed the students in my 2nd course—I asked them what they wanted to learn and what they felt that they already knew. It occurred to me–why doesn’t anyone else do that? Like when I signed up for 18th Century English Literature in college, the professor didn’t ask me what books I’d like to read, or where I think that I’m weak…
I started surveying students and collecting a whole bunch of data about what they wanted and how they were experiencing the class–quizzing them to see how well I was doing as a teacher, not how well they were doing as a student. If they don’t get 100’s on my quizzes, I don’t blame them, I blame myself–they didn’t get something I was saying.
I started iterating on my curriculum and teaching until I found something that worked really well. Some things surprised me, like when I tried out this beginning part of the class where we would do something that I called “Programmer of the Day.” It wasn’t about learning how to code, just “let me tell you about a historically awesome and important programmer.” I didn’t know how students would react, if they’d think I was wasting their time—it’s not technically what they pay for. But they really liked that part of the class. Connecting to the narratives and the (programmers’) stories really brought the material to life for them.
Being a good teacher? A lot of it is having good patience. Being really patient and never, ever blaming the student. It’s never their fault—it’s always yours. If they don’t get something, if they’re frustrated, not having fun, want to quit, aren’t working hard enough, not doing H–that’s generally your fault. You didn’t make it interesting, inspiring or motivating enough for them.
Rob: At The Flatiron School, you guys have been celebrated for the teaching that you do and the results that you have. How do you apply those lessons that you learned when you were starting out teaching to the curriculum development and teacher selection and development at Flatiron?
Avi: It’s actually really similar. I mean, “Programmer of the Day” is now a 1-hour unit every day. We also do something called “Current Events” where we just read HackerNews together and discuss what’s going on, and that’s always fun, and you know that it’s what’s happening the tech industry.
We do a lot of fun things like taking dance classes together, doing yoga–we even hired a balloon animal specialist. Anything to break (the day) apart and make it really fun.
That’s also what I realized with Skillshare: the act of learning should be really fun and engaging experience. In fact, more important than how much you’re learning is how much you’re enjoying the experience of it. It should be interesting and fun and captivating.
We work hard here. If you’re here for 12 hours a day, you’ve got to be happy while you’re here. You have to be having the time of your life. Whether it’s playing music while we work, working in teams, making joke or just making fun of me, we try just to keep it light and keep it fun because we’re working pretty hard.
Rob: That’s it here. Thank you so much Avi, we really appreciate it. Best of luck with The Flatiron School and thanks again.
Avi: No problem, Rob!