What are the responsibilities of a mentor?
We generally start new mentors with a single student. You are responsible for one hour-long video chat session each week, over a period of 21 weeks for that single student.
What expectations do students have?
Most students have the goal of landing a job as a junior web developer after the conclusion of the program. Obviously, reaching that goal depends on a lot of factors, but the complex code students produce as a team on the group project, prepares them for building applications in the real world.
Our students have gone on to switch careers, launch their own businesses, and become successful freelancers.
What do mentors do during the hour long video chat?
Students will come to mentor sessions with a series of coding questions they want to go over with you. This usually takes around 15 minutes.
Next, you typically pair program with your student. Sometimes you may work on adding new features to a web application, and go into intricacies of the rails framework. Other sessions you may pair program more abstract coding topics like object oriented programming, inheritance, test driven development, sorting algorithms and depth/breadth-first search.
Are mentors paid for their time teaching?
We obviously pay all of our mentors. But honestly the real satisfaction comes from seeing how far your student progressed since your last mentor session.
How do you screen students to make sure they're motivated to learn and enjoy coding?
To make sure you get motivated students who also have enough coding background, we actively run all of our students through a pre-work program. During the pre-work program students need to complete several coding challenges to be admitted into the core program.
What guidance is provided from the Firehose Project to students?
Our students have access to the entire Firehose learning platform, which consists of the following:
- Practical rails instruction, we have step-by-step guides on how to build three applications which increase in complexity, and an overview of the Model/View/Controller architecture, HTTP Protocol, and routing in Rails. These tutorials prepare the student for building any CRUD app they would want to build.
- Sprinkled into our lessons are "Self Directed Challenge" lessons, the student needs to accomplish on their own without any guidance from the tutorial.
- Abstract coding concept instruction, we give students a run-down of object oriented programming and inheritance.
- Best practice tutorials, we have students learn best practices like test-driven development, git branching and pull requests.
- Coding challenges, that increase in complexity and will allow the student to solve complex problems, so they'll be able to build sophisticated applications as a junior web developer and not just CRUD apps.
- A group project, where students learn all the fun things that happen when one codes collaboratively. The group will build a chess game as a team during the last 8 weeks of the program.
- Our support system, includes access to a Q&A forum. We help students resolve errors in their app within a few hours when they ask questions in the forum, so you can spend your time in mentor sessions teaching rather than debugging.
How experienced are students when they start working with a mentor?
We screen all students by having them go through pre-work. This means before they start the program they know HTML & CSS and enough ruby to solve FizzBuzz and write a simple Celsius/Fahrenheit conversion script.
Before the first mentor session most students have already built one simple web application in rails with our tutorial, and gone over an overview of HTTP, the Rails Framework, and Model/View/Controller architecture.
I’m interested, what are the next steps?
We generally have all potential code mentors do a few things before we match them with one of our students:
- First, email us, which will allow us to review your code on GitHub.
- Second, solve a coding challenge. We give you one of the challenges that our students need to solve. This helps you to get a quick understanding of what our students are doing, and it helps us to make sure you actually know your code :)
- Third, jump on a Google Hangout with a member of the Firehose Project team. That gives us a chance to go over the process in more detail and answer questions that come up.