Based in New York City, The Flatiron School is a tiny for-profit school dreamed up as a way to reinvent education by training the next generation of computer programmers. The goal is to take a handful of students who know nothing about web development and then make them into hirable entry-level computer programmers. The whole school is an experiment of the power of collaborative learning.
The school’s founders Avi Flombaum and Adam Enbar have adopted a D.I.Y.-like approach to higher education by insisting that the only way to become a good programmer is, well, to program. With one graduating class under its belt, there are signs the school is on to something. Of the school’s first class of 19 students, 18 have since found jobs. The accelerated learning style should sound familiar to creative teams who often have to learn new skills with a deadline looming.
We asked the school for its strategies for venturing into the unknown as a team, and how to learn a new talent – programming or otherwise – as quickly as possible.
1. Understand the context and backstory of what you are learning.
Before the students ever touch a line of code, the Flatiron School starts each morning with a “programmer of the day.” Learning about databases? Interesting. Learning that the creator of the modern database, Edgar Codd, created it because of a bet made at a local bar? Fascinating (and memorable).
“It’s much easier to remember something if you learn it as a story as part of the context,” says Flombaum. “The programmers that came before us changed the world and created billion dollar industries.”
2. Learn in groups, and rotate them early and often.
For most of the semester, Flatiron’s students are segmented in groups of four where they work on a single project together.
“Then, once a month, we switch up the teams completely,” says Enbar.
Alternating teams keeps things fresh, and also creates well-rounded team members who learn to work with all types of people. A strong student on one team may be the weakest on another, while shy students may have to learn to step up in a leadership role. This exercise gives the group a real-world toughness that pays off in the job market and on other projects.
“If there is a strong person on the team, everyone starts relying on them for the hard stuff and that’s not good. So, we like to kick the legs from under them.”
3. Share your progress at regular intervals.
After noticing that the students had become a bit loose and lacking direction, Flombaum and Enbar instilled daily stand-up meetings where each team had to present its progress. Forcing students to confront their peers made them much more focused and structured as no one wants to give a bad presentation because they slacked off during the previous day.
4. Get used to not being “the smartest guy in the room.”
Most creative industries move at a breakneck speed, so the Flatiron school tries to have students embrace lifelong learning along with the occasional failure.
“As a programmer, you have to get comfortable feeling stupid as you spend a lot of time talking about the fact that’s it is okay that you don’t get it,” says Enbar.
The group embraces failure so much that Flombaum encourages students break out in applause when someone reveals that they made a mistake.
“Which really bit me in the ass on the one day I walked in 10 minutes late and everyone stood up and clapped.”
How about you?
How does your team approach learning a new skill?