What graduates grok.
Become a Production-Ready Developer
The Ruby program is a 12 week, full time, intensive program, designed give you the equivalent skillset and experience of an entry-level Ruby developer. Because we focus heavily on collaboration, you are required to be on campus Monday Thru Friday, 9AM-6PM throughout the duration of the program. There is certainly a fair amount of work to be done beyond those hours (many students choose to stay late and come in on weekends), but that’s the minimum.
Prior to arriving to campus, you’ll also complete 4 weeks (80-120 hours in total) of prework assignments at home. This, plus the following 12 weeks of on-campus learning, amounts to a 16 week commitment.
The cost for the semester is $12,000. However, if you accept a position through our job placement program, we will refund $4,000 of your tuition. Grants and scholarships are also available for students from underrepresented groups like women and minorities.
We Teach What We LoveWe ♥ Ruby so you'll be spending a lot of time in the Ruby ecosystem. The goal is to make you a full-stack developer, so we'll also teach you the other required technologies, buzz-words, and acronyms.
Work in Pairs
Throughout the your time here, you'll be learning and working in teams. We're huge believers in pairing and basically feel that all work, not just programming, is better done in pairs. So get ready to make some new best friends.
Learn to Learn
Part of being a good programmer is just being able to learn new things quickly. In that spirit, you'll be learning lots of new random skills, like maybe knot tying, beat-matching and DJ'ing, a little dance, some yoga, and whatever else we can come up with. There's a bit of "wax on wax off" going on here, so you'll have to trust us that these skills will make you a better coder.
Build Real Things
Obviously, the best way to learn is by doing. But there's no point in building another sample blog, micro-status, or todo list application. Instead, you'll actually be building software that the school will use everyday. That's right, we eat our own dogfood. Expect to work on projects that will require a full-stack of skills and technologies.
While building, you'll go through all the phases of a project: figuring out what features to implement, breaking them into small iterations and stories, delegating and accepting work, automating a test suite, deploying to production, and everything in between. By the end of the semester, you'll be able to point to specific commits and features that you had ownership over. What's a better resume then that?
You’ll build at least one side-project on your own and at least one, more complex project, as part of a team. To see some examples of what students have built so far visit built.flatironschool.com
Our student applications are temporarily down as our students this semester are experimenting with an automated Chef-powered infrastructure solution and well, might have taken out some other servers accidentally :-) We celebrate failure!
A few previous projects we're proud of:
Viewfinder.io - Ruby Week 8 Side Project
Viewfinder is a game built on the Instagram API. The application pulls in geo-tagged photos from instagram and asks users to guess the location where the photo was taken by dropping a pin on a google map.
Built @ Flatiron School (Ruby Team Project)
Built@FlatironSchool (a.k.a GitGallery.com) is a CMS designed to store and share galleries of open-source software projects. Designers have awesome resources to visually showcase their work, like Behance and Dribble. While we all love Github, GitGallery allows developers to showcase their projects in a more visually appealing way. When a project is added, GitGallery automatically pulls in all kinds of awesome Github stats, including information on all the contributors, and does some pretty cool analysis on the commits over time.
Octomaps (Ruby Week 4 Side Project)
Octomaps is a mapping application designed to show how people from all over the world work together in creating great open-source software.
HandRaise (Team Project)
HandRaise is a classroom management tool. It allows students to post their questions online and see what questions other students are asking so they can help out. It also contains a dashboard view (usually projected on screen throughout the day - yep, we actually use it :) so students can see which TA’s are helping whom. TA's also get mobile notifications if for some reason a student isn’t being helped quickly enough.
Before arriving on campus all students complete 100+ hours of prework online. During this phase we go for breadth over depth. The goal is to familiarize you with some basic concepts and get everyone to a minimum baseline so that we can hit the ground running on campus.
Unit 1: Collaboration
The first thing we focus on is collaboration. While the first 4-5 weeks will be focused on fundamentals, everything will be done with pairs, and in teams. Learning to play guitar on your own is one thing, but if you want to be part of a band, you need to play with real people. We use Git on Day 1 and live in it for the rest of the program.
Unit 2: Applications
Every student works on 3-5 projects throughout the semester. While it’d be great to build the next big thing, our focus is on making you a great developer, so you’ll be building applications that strengthen your skills, not make you a billion dollars. All projects are designed around the technologies we want you to have mastered and when complete, all projects are open sourced.
Unit 3: Specialization
Towards the end of the semester students have time to dive into technologies they want to master. Want to get awesome at front-end? Cool! Build an iOS app with Ruby Motion? Sweet! We also dedicate time to focus on on-boarding and test-driven development. Students switch projects, learn to read each others’ code, write test coverage, and add features. Break things and fix them :)
HTML is the structure that supports the web. Whether writing it through ERB or vanilla HTML, you'll have no problem applying semantics to documents and utilizing the power of markup.
CSS: SASS & LESS
Fluency in the language that makes the web beautiful is a requirement. You'll use the popular SASS and LESS extensions to CSS to create efficient and organized front-ends.
The Ruby Language
Easily the most beautiful programming language ever. You will be so immersed in Ruby it will become the language of your thoughts.
Ruby on Rails
The number one web framework in use by Ninjas, Rockstars, and Hackers. Seriously, it makes web development a productive pleasure. You will be a Rails guru.
The speed and efficiency of a programmer can be measured by proficiency with their tools. You'll fly through Sublime Text shortcuts, and never ever touch your mouse.
Your code will be safely tucked away into Git and you'll collaborate with the world through Github. Tame the rainbows and work fluidly with teams, both remote and onsite.
Relational or Document Store? MySQL or Postgres? Mongo or Redis? Cloud or dev/null? Learning the fundamentals to data storage is a must, and yes, you will know SQL.
Every developer should be a basic system operator. So you'll know how to setup a cloud server on AWS, deploy to Heroku, and SSH your way around any shell.
Whether you're designing your own Sinatra powered API or consuming the Facebook Open Graph via RubyGems, you'll be part of the read/write web revolution.
Test Drive It
Whether test-driven or behavior-driven, testing is a crucial part to professional software development. You'll assert your way to confident code with continuously integrated test-suites.
Agile is more than just a development practice, it's a philosophy for life. You will iterate your way to being a Scrum Master.
You will become part of the phenomenon of open source culture by contributing code and documentation to a variety of projects.
The best way to learn is to teach. Throughout the semester you will be writing blog posts on what you're learning and making presentations at NYC on Rails.
Finally, you'll have all the street cred you'll need, complete with a StackOverflow reputation, HackerNews account, and CoderWall endorsements.
The Students //
Here’s what we look for in future developers:
Learning is a team sport. As such, we value diversity in background and perspective. We accept about 10% of people who apply into the program. While we could probably admit 30 investment bankers who would make awesome developers, that would make for a much less interesting group dynamic. Our student backgrounds have ranged from professional poker players, Major League Baseball scouts and entrepreneurs, designers, lawyers and, yes, investment bankers.
Our students are smart. Real smart. Sure, we’ve got the Oxford, Harvard, etc. grads. That being said, we see code as a form of expression and value creativity above all else. Throughout our first two Ruby semesters, we realized that over 80% of our students have a background in photography, design, writing, or music. Go figure. Ultimately, students learn more from each other than from lectures. Smart students means great teachers.
There are lots of great reasons to learn how to code. You can get an awesome job at a sexy tech startup! Or launch an app and be the next Mark Zuckerberg! While those are great goals, if that’s what you’re looking for, this program is not for you. We approach coding as a lifelong craft, rather than a means to an end. Our students are passionate about being great developers and writing code that impacts people. As a recent Ruby alum told us in week 7, “I dream in Ruby.”