Hack Reactor has a relatively new bootcamp prep program. Here?s my experience from day 0 to receiving a scholarship.
2019 Update: Hack Reactor has renamed its bootcamp prep program from SSP to Premium Prep.
An Introduction
I quit my job and moved halfway across the country to start a new life and career in Silicon Valley. After some research into coding bootcamps, I visited the Hack Reactor campus in San Francisco and decided to apply. Hack Reactor is a very selective coding bootcamp, with an acceptance rate of 3%. In their words:
Hack Reactor is not a ?0?60? course, this is a ?20?120? course.
Unlike most other coding bootcamps, Hack Reactor does not teach from the ground up and instead requires incoming students to have a certain level of programming knowledge. To get from 0 to 20 first, I enrolled in Hack Reactor?s Premium Prep. Starting the day before the course started, I studied 8?10 hours a day for 18 days before getting accepted to the immersive program.
What is Hack Reactor?s Premium Prep?
It is a live, online class that prepares students for the Hack Reactor immersive. There are multiple schedules available. I signed up for an evenings and weekends class, which spanned five weeks: 3 hrs Mon-Thu and 7 hrs Sat-Sun. It is $250 and counts as credit towards tuition if you were to enroll in the immersive program.
Getting into Hack Reactor?s Immersive Program
There are two ways of getting accepted to Hack Reactor?s immersive program:
- The Technical Interview is open to all applicants. After solving a short challenge on the Hack Reactor application, you will schedule a one-hour interview. Each interview is specific to a start date and location, and passing gets you a reserved, guaranteed spot. You can take up to three attempts.
- The Readiness Assessment is only available to those enrolled in Premium Prep. Near the end of the course, you will schedule a 30 min ?readiness assessment?, which is basically a shorter technical interview. If you pass the readiness assessment and have completed the precourse material (more on this below), you will have a spot in the immersive program. Those who have passed the technical interview are given priority, and therefore you may be deferred to the next available start date. You can receive one free retake the Premium Prep program.
The Premium Prep Experience
Most communication is done through Slack, daily live video lectures are through Zoom, and other material (readings, slides, coding challenges) is hosted on Hack Reactor?s own web platform.
Although the schedule of each day differed, it followed a basic formula. Every class started with a kick-off that covered daily announcements and an overview of the day?s schedule. Most days, there were additional lectures:
- Technical lectures: lessons that covered new concepts.
- Solution lectures: walking through the solutions for weekly assessments.
- Live demos: introductions to new tools (eg, git and testing frameworks).
- Town Halls: technical Q&A sessions.
- Tech Talks: student-led mini TED Talks to share discoveries. For example, I demoed useful keyboard shortcuts and plugins for Sublime Text.
- Staff Q&A: short presentations and Q&A over financing, scholarships, technical interview vs readiness assessment, etc.
Lecture recordings and slides are made available to students the next day. The remained of class time is for working on assignments. During official class hours, there is a ?help desk? where you can get one-on-one help from an instructor.
The first part of the program covers JavaScript fundamentals: basic functions (conditionals, iteration, traversal), nested data structures, higher order functions, coding style, pseudocoding, and soft skills for technical interviews. We are given a list of ~180 coding challenges to complete.
The second part of the program is the Hack Reactor precourse, material that must be completed before the start of the immersive: HTML and CSS fundamentals, git workflow, testing frameworks, debugging in chrome devtools, jQuery, recursion, and more advanced JavaScript topics (prototypes, scopes, closures). Projects that incorporated these skills include performing automated testing, rewriting parts of the underscore.js library, and creating a clone of Twitter.
The precourse content is expected to take around 90?120 hrs. Students who pass the technical interview are given access to the precourse six weeks before the immersive and must complete it before the immersive. Students in Premium Prep are required to finish the precourse material by the last day of the program (~4 weeks for my class) to be eligible for acceptance through the readiness assessment. The readiness assessment is scheduled sometime in the second to last week of the program, and results are given by the last day (+1 week for the SF campus).
My Premium Prep Experience
I signed up for cohort #17 the day before it started and got a surprise: there is prework! The hard requirement is Udacity?s Intro to JavaScript course (10?12 hrs), and strongly recommended is the first five sections of Watch and Code (80 min of video) and the first four chapters of Eloquent JavaScript. I frantically had to complete the hard requirement so I wouldn?t be behind on day one.
In part one, I found out that you could look at other students? solutions to a problem after you had successfully completed it. This became my obsession; I looked at nearly everyone?s solutions! Why? Because it is such a great resource for learning as many students had prior experience. Whenever I saw a new pattern, I figured it out and then either refactor my own solution or implement it in the next problem. You can learn so much by doing this. I was using higher order functions and ES6 features before learning what they were!
The Technical Interview
I and many other students opted to take the Technical Interview because:
- The spot is guaranteed and you will find out your results earlier.
- The TI only covers material from part one, and the RA covers more advanced topics from part two.
- If you fail, you can still take the RA at a later time for the same start date.
And this is what I did to prepare:
- Redid the coding challenges from part one.
- Completed countless challenges at codefights.com (arcade mode) and codewars.com (filtered by 6 kyu, fundamentals).
- Practiced talking through my thought process while coding. I would record myself tackling a code challenge, rewatch it, and take note of my performance (this is part of the course). I also pair programmed with fellow students (this is not part of the course but is very helpful).
The last point is the most important. With its reputation, Hack Reactor attracts many bright applicants who can code well. Because pair programming and group projects is an integral part of the immersive, the school filters good programmers by those who can also communicate effectively. Practice talking code. Be able to clearly describe your strategy for each problem. Be able to explain how each line of code works with the correct verbiage. Be able to discuss a systematic approach for debugging errors.
I spent so much time preparing for the interview that I fell behind in the class, but it paid off! My interview was 18 days into the program, and I received an acceptance letter six days after.
Finishing Premium Prep
Students who were accepted through the Technical Interview were unenrolled from the program. Fortunately, they removed that rule with my class, and therefore I could continue to use Premium Prep resources while completing the precourse.
Personally, the best part of the program were the other students. Simply being around (albeit virtually) other like minded individuals who are also starting a career in programming was quite motivating. It felt like a community because students would share helpful resources and help each other out.
But it didn?t last. Of the fifty students who attended the first lecture, less than a dozen students finished part one on time. On the last day of class, no one other than myself had completed the precourse material on time. Therefore, the deadline was extended by seven days and four students met this extended deadline.
Scholarships
There are two types of scholarships available; one is merit based and the other is for underrepresented individuals in software engineering. Both are full scholarships of $18,000. For either, you have to write a series of short essays and record a short how-to video on any skill.
I submitted a merit based scholarship application one week following program completion. For my video, I taught how to throw a boxer?s left jab. I was a finalist and was awarded a partial scholarship of $2,000.
Overall thoughts
The pacing of the class is a bit rough. But that?s the point as the immersive program is very intense at 11 hrs a day, 6 days a week, for 12 weeks. However, the instructors are very understanding and supports everyone to succeed. There were one-on-one check-ins that discussed progress and comfort with various topics. Partway through the course a separate, more relaxed schedule was created for students who were planning on retaking the course that focused on the fundamentals covered in part one.
Actual teaching material is few and far between. But it is really well written. The material is straight to the point; it is like an abridged textbook that only focuses on relevant content. As great as some websites and YouTube videos are, most cannot compare to the content created by Hack Reactor?s staff. Many were annoyed that we weren?t spoonfed everything. However, I think it?s very important to develop the skills to learn on your own by shuffling through the internet (aka StackExchange and documentation).
Tips and resources
Be active in the class. Don?t be afraid to ask questions on Slack (after Googling first). Check out the resources others post and share your own. Pair program with other students. Share something in the Tech Talks. Learn by teaching other students.
Be curious. Make an effort to understand unfamiliar code; don?t just gloss over it. Always understand your own code because you won?t learn if you trial and error a working solution.
Do all optional, extra credit, and advanced assignments. I was the only student to have completed all of it. They take up a bit of time time but you will learn so much by struggling through them.
Always be coding. Change it up by refactoring your code. Use a different function (or three). See if you can do it recursively. Continue doing code challenges and learn from them.
Here are some resources I used outside of those provided by Hack Reactor. These are roughly in order with the program. (Thanks to Jason Te for sharing some of these.)
- Video Speed Controller chrome extension speeds up videos.
- Visualize Javascript runs through your code step by step.
- YT: Fun fun functions makes learning JS fun fun fun!
- SoloLearn to learn on the go (try the ES6 series).
- Codecademy teaches basic HTML and CSS (not a fan of Hack Reactor?s recommended resource).
- GitHub?s Hello World introduces you to GitHub.
- Try Git teaches you git.
- iTerm2 and Oh My ZSH makes terminal friendlier.
- Hack Reactor recommends Sublime Text. Set it as your terminal editor, give it a JS console, and add plugins.
- YT: LearnCode.Academy covers intermediate JS concepts.
- YT: Traversy Media gives a crash course on DOM without jQuery.
- RegexOne teaches regular expressions (for advanced content).
- This picture helps with recursion.
Thank you for reading and best of luck starting your journey into code!