Avi Flombaum has never taken a programming class. He wrote his first code in grade school (to make a computer game more difficult), and learned how to build applications as he needed them, for instance, automating his high school internship with a congressman using an Outlook plug-in that sorted constituent email. A creative writing major, he dropped out of college after a hedge fund recruited him to write software applications.
In many ways Flombaum’s background fits a stereotype. He's a self-taught programming whiz who dropped out of college for a job.
But he doesn’t necessarily think that’s a good thing. "I think that the way I learned how to program is why there are so few programmers," he says. Nor does he think a traditional computer science degree is worth the record-high tuition.
In September, he cofounded something between the two extremes. Called the Flatiron School, the program offers 12 weeks of full-time, intensive instruction (plus pre-work) "designed to turn you into a web developer" for a $10,000 tuition fee.
The school's only classroom, located in a walk-up near Madison Square Park in New York City, looks more like a startup. Some students work at Ikea desks pushed together to create one long table. Others sit on a sofa with their laptops. About 80% of the class has a background in either writing, music, or photography. Two are pregnant. One is a former professional poker player. Another is a founder of SparkNotes.
Turning all of them into developers in just 12 weeks is a bold promise that some say "stinks of snakeoil," but here’s how Flombaum and his cofounder Adam Enbar plan to do it:
"The way I got serious about technology in high school wasn’t’ through building things. It was through hacking and lock-picking and cracking Wi-Fi passwords and making free phone calls," Flombaum says.
But even Flatiron School's adult programming classes are run less like math classes than creative writing classes. Students build projects, review and discuss each other’s work, and then rewrite them. "People think that being a programmer basically makes you half machine," Flombaum says. "I think there’s a fundamental misunderstanding of what this craft is about. If more people saw it the way I see it and the students see it, everyone would want to be a programmer."
You might not think you’d be a good programmer because you’re not good at math. Flatiron School wants to change that. "It’s about communicating clearly," Flombaum says. "Just like writing and art. So if you see them more as a practice of expression, it’s easier to learn it. It’s not about math or science or anything like that."
To drive home the idea that much of coding is about breaking problems into smaller steps and creating compositions, the school exposes students to other skills that fall into a similar pattern. So far its students have taken origami, lock-picking, balloon animal, and yoga classes. They have taken no calculus.
Flombaum and countless other programmers have taught themselves to code without paying anyone a $10,000 tuition. So why pay to learn when, in the words of one Ruby on Rails forum contributor, "$10k would buy you a killer computer, plenty of books, and pay for a years hosting to practice with?"
"I think a lot about that," Flombaum says. "I had to learn how to code by reading a ton of books, by sitting alone in my room at four in the morning. It was basically trial by fire...The way I had to learn how to program, not everyone should have to go through that. In fact, going through that, you start to develop some habits that make you actually a bad programmer. Because you learned how to code alone, you don’t learn how to work in teams and break up work...It makes you go into these mode of I’m going to put my headphones in and not talk to anyone. I’m going to code until four in the morning and wake up at 2 p.m."
Bringing students together not only opens up the opportunity to learn code for people with different types of learning styles, but, Flombaum argues, is the equivalent of teaching someone who knows how to swing a hammer how to build a house. Or teaching someone who knows how to play guitar how to play in a band. Knowing the language is only the first step to becoming a good programmer.
Before students start Flatiron School classes, they complete about 100 hours of prerequisite coursework—resources cobbled together from sites such as Code School and Treehouse—intended to get the "hammer swinging" skills out of the way. From there, the instruction is as project-based as possible.
Learning to code in 12 weeks isn’t the same thing as learning computer science. Flatiron School’s students won’t be writing Google’s algorithms or programming NASA’s next launch right after graduation. The goal is a solid understanding of Ruby on Rails that allows them to work as entry-level developers.
"They have the rest of their life to become super-amazing really technical people and understand the depth of efficiency algorithms and stuff like that," Flombaum says. "I want to get them productive and teach them to love programming and see code as the solution, and then build stuff, and get a job, and start working, and then you’re going to read books, you’re going to push yourself, you’re going to be inspired by new technologies and see them as how can I leverage that into something new. So you have a long time to get your PhD—at work."
Work is not always the best place to get a PhD, and there are plenty of reasons to get a well-rounded education along with your coding skills. But there is one problem that Flatiron School's students have not had: Jobs.
All 19 students in the first class took programming jobs after graduation, and because the school charges a fee to employers that hire its students, each of them earned a $4,000 refund on their tuition by doing so.
When I first arrive at the building where Flatiron School holds class, I ask a man in the hallway what floor it’s on. Mistaking me for a student, he asks if I’m a developer.
I later learn he works upstairs at a startup called Lover.ly.
And yes, it’s hiring.