Coder's Compass: How to get started in software
Not sure how to navigate the world of code? We built this tool to help you find the answers you’re looking for.Coder's Compass
In short: We're the only coding bootcamp that gives you a real world coding experience from day one.
Going deeper, there's 3 main reasons why our students tell us that we get their coding skills from 20MPH to 120MPH, when other places like, General Assembly, Bloc or Thinkful never get you further than 40MPH.
The first one is depth of curriculum. Our curriculum goes a lot deeper into the technical skills that you need to build any complicated web application with enough utility for any user to engage in. This means, we focus on teaching you the advanced back-end skills (Object Oriented Programming, Algorithms, Test Driven Development, Advanced GitHub and Deep Ruby on Rails skills) while also making sure you know how to turn your wireframes (we teach wireframing techniques to all of our students as well) into working web applications that look great on all devices - mobile to desktop.
The second reason is the fact that we give you the option to work together on a group project so you learn how to code collaboratively with other developers. Just like in the real world, the best products are built by amazing teams. Since our students spend up to 8 weeks working together in teams to build a complicated Chess game (the logic and code needed for a Chess game app is what impresses hiring web developers). This shows hiring managers that you have the skills to be a high-impact employee on day one.
Ken, a former senior Web Developer at PayPal, wrote an excellent blog post on why group projects matter so much: The Most Critical Skill to Getting Hired as a Web Developer.
Third, it's our world class mentors, who come with experience form places like PayPal, eBay, Flickr, bit.ly, Yahoo, ProductHunt, Y-Combinator and Techstars companies. Those senior web developers will take you under their wing and treat you like a junior web developer throughout all of your mentor sessions, so you'll be ready for anything out in the real world.
The Firehose story started with the founders, Marco & Ken, helping people make their dreams a reality and build out their web application ideas by doing freelance web development work for them.
Eventually they realized that giving people skills to build out their ideas would give them a leg up against their competition. So rather than giving people fish, they decided to teach them how to fish, and started Firehose.
We started out teaching intensive in-person coding workshops all over the country at places like Harvard Business School, Brown University, Rhode Island School of Design, Carnegie Mellon, Boston University, Babson, and many other cities and universities.
We even got invited to teach high-school students how to build a web application in a single weekend (you can watch us in action here).
Since people couldn't get enough of our in-person classes and asked for more, we started moving the best pieces and everything we learned from teaching in-person classes online. After teaching hundreds of students through our online classes, here we are - teaching you real world coding skills and accelerating your technical skills from 20 MPH to 120MPH.
Sign-up for our Free Bootcamp Prep Course to get from 0MPH to 20MPH.
Our graduates are getting jobs at tech companies and startups after they graduate, so it's definitely possible.
You can read a few Firehose Alumni's stories here, and see how our Alumni are successfully switching careers and finding jobs at exciting companies.
Here are the three key web development skills you'll need from a coding bootcamp to be in a position to land a job as a web developer after completing the program.
First, you should be able to easily show how you're a great asset to any web development team. In other words you know how to work as a team, use GitHub (the industry standard) in "advanced mode" (pull requests, inline commenting, code reviews, etc.), communicate clearly with other developers (break down features into logical and smaller steps and using Test Driven Development to ensure the red-green-refactor cycle is tight) and overcome the regular obstacles to working as a team (like merge conflicts & miscommunication).
Second, you should have built at least one advanced web application that would challenge a senior web developer. Our students build a chess game during their group project, because it packs a lot of complex logic and technology under the hood and really impresses hiring web developers. Building complicated features while still in the Firehose program clearly demonstrates the high quality of code you are capable of contributing to any team.
Third, you will need to have a solid grasp on how to solve complex algorithms, and an understanding of the underlying data structures, needed to solve them.
One of our Firehose alumni wrote the excellent blog post - How Algorithms Helped me Land a Job as a Web Developer - after he landed a web development job within his first week of graduating the program.
At Firehose we focus our curriculum on all three key web development skills - collaborative coding, advanced web applications, and algorithms - because all three skills are so critical to being a successful developer in the real world.
Absolutely. In fact the most important part of your job training starts in week two when we teach you how to solve real world challenges through code and algorithms. By learning how to write algorithms throughout the full program you will be a complete web developer who's ready for any technical interview.
We challenge students to solve the algorithmic challenges that most frequently get asked in the technical interview process throughout the program. We help you learn things like Fibonacci sequences, Recursion, Linked Lists, Stacks, Queues, Trees, Depth First Search, Breadth First Search and Floyd's cycle detection algorithm (aka the tortoise and hare algorithm) and other coding challenges that show up time and time again in technical interviews.
Technical hiring managers and senior web developers will expect you to know and understand each of those algorithms. Any coding bootcamp which doesn't cover algorithms is simply not preparing you for the real world.
Obviously, learning how to write algorithms successfully, requires more time than the 2 week "job preparation course" that is tacked on to many coding bootcamps and consists of nothing more than optimizing your resume, LinkedIn profile and a few mock interviews.
Working as part of a team to build a complex web application, led by an experienced mentor and following agile methodologies like stand-ups, sprint-planning, code reviews, continuous integration and continuous deployment will give you valuable context in the interview process as well. Having first-hand experience following a similar process than the company you're talking with, will turn you from an outsider to an insider.
Obviously, we also review your résumé, GitHub and LinkedIn profile and make sure you're all ready for the real world.
For a deep-dive into the technical interview process and read this post on How to Get Your First Junior Web Development Job.
The support system at Firehose Project combines our dedicated Q&A forum, weekly video office hours and 1-on-1 mentor sessions.
Next to weekly, hour-long office hours (all students meet in a video conference with several code mentors to learn from each other), you will have 1-on-1 Mentor sessions once per week for a full hour.
We found that splitting mentorship sessions into shorter time slots is not a good idea at all. Having 30 minute slots sprinkled throughout the week usually means troubleshooting simple error messages, that could have easily been handled in the Q&A forum, at the expense of deep diving into a complex topic that will really advance your skills.
With a full hour we can work through a complex challenge, solve an advanced algorithm, write more software tests or build out that complicated feature on top of an existing one.
In short, every mentorship session at Firehose Project will exponentially increase your coding skills.
Students who join a team project, receive weekly group check-ins with a dedicated mentor for 1 hour, meaning you'll have 3 hours of live mentor access per week during the last approximately 8 weeks of the program.
We use a combination of three mediums - detailed written guides, overview videos for the big picture concepts and live instruction during weekly mentorship sessions and weekly video conference office hours.
Our individual lessons are written guides with detailed coding instructions. We have chosen to use a the written format, because it's just like the real world, where you have written documentation explaining how you integrate with this API, or use that piece of open source code, etc.
On top of that our written guides also act as a perfect resource and reference during the group project (to quickly answer questions like "How did I integrate with Mailgun again to send an automated email notification?") and down the road when you're building other web applications ("How do I write a Functional Test for my new feature again?")
We use video lessons to instruct you on the big picture concepts, Model-View-Controller architecture, Object Oriented Programming, Inheritance, and more.
Your weekly mentorships sessions and weekly virtual office hours will be all live via a video conference call.
The full program is 24 weeks long. You will spend time preparing your coding fundamentals in the Firehose Prep Course and 22 weeks in our core program.
We ask all students to dedicate a minimum of 20 hours per week to the program. That said, some of our students dedicate 40 or more hours per week to the program and not a single student has run out of exciting new things to learn and challenges to tackle.
If you're looking to land a job as a web developer after graduating, we suggest you dedicate at least 20-25 hours per week to the program to go through all the Ruby assignments, algorithmic training, group project and Test Driven Development web applications to gain the real-world coding skills you will need in the technical interview process.
Yes. The course is designed to be completely at your own pace. Which means we don't expect you to dedicate the same amount of hours every single day and you can make your own coding schedule to go through all the lessons. That said, we expect our students to dedicate at least 20 hours per week to the course.
We have two options available if you need to take a break for any reason. That said, we generally don't suggest that you pause the course for too long, since it will take you additional time and effort to get back to your previous coding level.
Taking a break means that you will hit the "inflection-point" later on. The inflection-point is the moment when you become a self-sufficient developer, who is learning at 10x the speed of somebody who hasn't hit that same inflection-point.
The two available options are pauses and freezes. A pause is a short break (less than two weeks). If you take a pause you will have the same mentor when you return. The second option is a freeze (a break that is longer than two weeks). If you freeze your program, we will try and match you with the same mentor when you return, but there is a chance that you will be assigned a new mentor. With a freeze, we can't guarantee that you will have the same mentor after your break.
Pauses and freezes are good options if you don't have the time to devote to the program for any reason, but they also affect your learning. For this reason, we only allow one pause or freeze during your program.
You will arrange mentorship sessions directly with your personal coding mentor. Mentors have their sessions throughout the entire week and some students prefer to have them on the weekend as well. That said most mentor sessions are in the evening.
Mentorship sessions are 1 hour long and focus on pair-programming and moving your coding skills to the next level - meaning you really get down to coding together with a senior web developer and improve one of your algorithms or write additional software tests for a new application feature.
Unlike many other programs we will make sure you do not have to "waste" your mentorship sessions to simple troubleshoot error messages like typos and missing semicolons. We handle all of that through our Q&A forum at the moment when you're actually stuck, so you can focus on real world coding together with your mentor.
Every mentorship session at Firehose will exponentially increase your coding skills.
Of course! Marco is one of our code mentors and answers a lot of student questions. Why don't you email Marco directly at marco@thefirehoseproject and get the conversation started.
Of course. All Firehose graduates have lifetime access to the current course materials.
The best way to prepare yourself for a coding bootcamp is to work on your coding fundamentals by going through our free Firehose Intro course. You can apply for a spot in the Firehose Intro course here.
In addition, we suggest you give the following resources a go.
Keep in mind: both resources start out pretty easy but get very complicated, very quickly. If you get confused after a few exercises or things just don't click right away, don't worry too much about it, it's all about exposure and training your coding muscle.
When you're applying for a job, the language only matters so much. It's all about if you are able to solve complex problems. Once you can code in one language, learning another one, is not much more than using a different syntax.
That's the reason why we have all of our job seekers focus a lot of time on learning how to write algorithms and writing good software tests. Regardless of which language you end up using at your job, both of those concepts will be crucial to anything you do.
With regards to finding a job as a web developer in the tech field, we highly recommend giving the back-end (databases, logic and algorithms) a go.
The reason being is that every web development team of 10 usually consists of 9 back-end developers and - if you're lucky and those jobs are not outsourced to another country - 1 front-end developer.
So just from a numbers game, your chances to landing a job when you know the back-end really well, increase dramatically.
Most of the times when you start out learning how to code, you want to learn how to code your way across a busy street. With Ruby and JS you can easily do that and cross the street in a matter of days. Using Angular or Ember is like building a rocketship to cross that same street - it takes a long time, is very complicated and simply the wrong tool for the majority of the jobs.
To really understand why it won't help you learning those tools, read this blog post on NodeJS vs. Rails: How to Learn Web Development the Smart Way
Of course. We integrate with the Google Map API, Mailgun API to send automated email notification messages and Stripe Payment API during the core part of the program.
You can find the curriculum here.
As a professional web developer, you're dealing with almost all of the team interaction in chat rooms, issue trackers and comments in GitHub. Those are the places where you need to be comfortable with and know how to communicate every single detail of what you're going to do.
Obviously, in person conversations are a lot easier to handle than online communication. Therefore, if you can master the remote programming skills that you're practically training for every single day in our program, you'll have a comparably easy time in any in-person setting.
We don't require you to use a Mac during the Firehose program. We have built a custom process to install a professional web development environment that works equally well on PCs and Macs (Linux works too). Some of our students use PCs and others use Macs. At the end of the day, what really matters is how good your code is and that the feature you've built works. Nobody will care which computer you used to write your code. In other words, you should be good with any modern computer.
If you don't finish your program before your graduation date and you'd like to complete the program there is an option to purchase a program extension. If you have any questions about program extensions please contact us and we can provide further details.
Begin your application for our full 22-week or 42-week software engineering program or get started for free with 2-week bootcamp prep.
Not sure how to navigate the world of code? We built this tool to help you find the answers you’re looking for.Coder's Compass
Firehose graduate Pam wrote about why she decided to leap into coding mid-career.Realworld coding.io
We made a video about a common question: how many hours does it take to land a job in coding?Coder's Compass
Ken Mazaika, our CTO, wrote on Forbes about the 2 things that new programmers tend to struggle with.Forbes.com