Students in Flatiron School’s immersive classes are on campus a lot—more 60 hours a week for three months. That’s over 700 hours at the very least. So what do they get up to in all that time?
Honestly, there’s no “typical day” for a Flatiron Student. It changes a lot over the course of the program—but here’s a summary of how a typical semester evolves and of all the day-to-day fun baked in.
In general, semesters are set up so students can get basic concepts really quickly, figure out how to apply to them independently, and continue to learn new technologies on their own. This means that courses start off really structured, but they end up more project-oriented and driven by hands-on software building. Regardless, students spend 80-90 percent of their time at any point working in teams or pairs.
Before the programs begin, students go through anywhere from 50 to 150 hours of Prework designed to establish a baseline skill-set among the class. While our students range from having very little experience to computer science degrees or some experience working as developers, the Prework gets everyone to a certain skill level, so we can hit the ground running from the first day of class. While most students do this work remotely, a lot of them stop by campus for a few hours a day to get it done.
Lectures and Labs
Toward the beginning of the semester, students spend around three or four hours every day in lecture, and the rest of the day on labs and assignments. This time is basically spent giving them a roadmap, so they can later do whatever they want—getting them comfortable enough with learning programming fundamentals that they can use to quickly level up to more unstructured learning and building their own stuff. While students certainly deploy applications during this phase they’re typically smaller and more structured.
Later in the semester, the days get much less structured, with maybe one to two hours of lecture per day and the rest of the day focused on hands-on projects, almost always in teams or pairs. While this is definitely a great opportunity for students to flex their creative muscles, we ask that their projects fit the following criteria:
- Large enough that they need to be completed in a team
- Small enough that the team is able to complete, deploy, and refine the project before the semester ends
- Require students to apply technologies they learned in class, but also use something new in the building process—we’ve had students use everything from Node.js to Arduino to Xbox Kinect
Students in the iOS immersive actually do apprenticeship-style projects, during which they meet with local startups and work on iOS apps for them. So far, they’ve worked on apps for Artsy, Songza, Plated, and a bunch of other great companies.
All said and done, students typically leave Flatiron with 2-3 completed apps, at least one of which has been built with a team over a few weeks.
Events and Student Life
Above is basically the arc of a semester, but there’s a lot more to it than that. Woven into every semester are plenty of other events and learning opportunities.
Learning to Learn
Part of being a developer means being exceptional at learning new things. So, a lot of time here is spent “learning to learn.” This manifests itself in a few ways. On the technical side, we have assignments specifically designed to make students teach themselves and their fellow students new skills. We also encourage them to use new technologies that weren’t necessarily covered in class.
Aside from that, a big part of learning to learn is putting yourself out of your comfort zone and being OK with being a beginner (read: sucking at things). So, while they’re here, we make students try all kinds of new things.This semester, they’ve already learned improv, dance, and lock-picking. Next week they’ll learn how to make board games. In the past, we’ve also made students try DJ’ing and knot tying. Learning to be an awesome beginner is probably the most important skill we teach. It’s as fun as it is valuable—and we teach it every day.
We’ve been lucky to host a ton of really great guest speakers from the community to chat with our students about what they do and how they work. While the best skill training comes from great practitioners who’re also skilled teachers, hearing from folks in the industry is a great way to help students really understand what they’re getting into—so far we’ve heard from people like Joel Spolsky, John Resig, and David Heinemeier Hansson.
Technical Blogs and Meetup Presentations
Being able to communicate what you’re working on is an incredibly important skill that all developers have to exercise eventually. So we require students to keep technical blogs (Xida’s, for example) and learn how to express technical concepts in words (and sometimes GIFS).
They also have to exercise their communication muscles at our weekly technical Meetups for the iOS and Ruby community. All students have to present a project they’re working on, or a technology they’re learning, at least once during the course. So far, it seems to be super rewarding. A lot of alums maintain their blogs and continue to speak at Meetups.
Also, we kind of take the work-hard play-hard motto to the extreme. While most weeks students be coding in excess of 80 hours (don’t worry, it flies by), we find lots of opportunity to blow off steam. Aside from our weekly “Friday after Flatiron” happy hour for students, we’ve gone to baseball games, thrown outdoor hackathons, hosted 100+ person Magic tournaments, and have done way too much (not enough?) karaoke. We also host two big social events every year—a holiday get together and a ridiculous summer bash.
…And days at Flatiron School keep evolving (and hopefully getting better and better) every semester. We love feedback and are always thinking of ways to make our students’ experiences the best we can. For more on the cultural stuff, follow us on Instagram, check the blog to see what’s up, or just attend a Flatiron School Meetup to see the space, meet the instructors, and chat with current students and alumni.
Make yourself useful.