In-Demand software engineers know more than one programming language.
Ruby - Readability and Open Source
The open source Ruby community is massive, very active, and welcoming to people of all skill levels. When your programming craft is backed by an active, worldwide community, it means you have ample opportunities to find and work on interesting projects with awesome people.
In-demand software engineers know multiple programming languages; they’re polyglot programmers. When you have experience with more than one programming language, you enable yourself to choose the right tool for the job rather than use the same tool for every job. Having the ability to draw on this flexibility and experience is exactly what will make you in demand.
Prerequisite | Prep Course
A fundamental coding course, including an HTML/CSS portfolio page, Ruby code, flow control, functions and the perfect preparation for the Firehose Core Program.
Week 1 | Build your first app + Web application overview
Build a database-powered quotes generator with a slick, mobile-first design, built with Ruby on Rails, HTML, CSS3, GitHub, and Heroku. Understand how the different pieces of a web application fit together and dive into MVC architecture, HTTP requests, database migrations, and routing inside your app.
Weeks 2 - 4 | Build a Yelp clone + Object-Oriented Programming
Build a Yelp clone integrated with Google Maps and features like user comments, star ratings, image uploading, user authentication, automated email notification messages, and admin dashboards. Understand object-oriented programming in Ruby, learn how to write your own classes, and prepare for the algorithmic coding challenges.
Weeks 4 - 6 | Coding challenges
Understand object-oriented programming and master arrays to solve problems including creating arrays, iterating over an array, using 2-Dimensional arrays, and performing a transformation on image data.
Weeks 6 - 7 | Build a marketplace app + OOP with Inheritance
Build a two-sided video streaming marketplace featuring credit card payment capabilities, user role management, advanced UI & UX, and advanced database relationships. Learn how Inheritance fits into object oriented programming, how it is used inside Ruby and how to use it in your code.
Weeks 10 - 12 | Learn to use a TDD-first approach + Advanced git and version control
Learn the industry standard. Build automated software tests in Ruby, ensure good test coverage, and release code tested perfectly on a professional developer level. Use git and GitHub in advanced mode and understand how to use branches, pull requests, and merges.
Week 16 | Coding challenges
Determining the value of the Fibonacci sequence for a particular number is one of the classic questions that computer science students solve. You’ll also determine the collatz sequence for a number, implement a tree data structure by hand and use it to look for a specific node, and work with sorting algorithms– one of the most commonly discussed algorithms in Computer Science.