Kevin SmithWeb Software Engineer

A Typical Day at Hack Reactor and the Math of Poker

Where does the time go? It’s hard to believe I’ve been in San Francisco for an entire month already. I am at a point where the Hack Reactor routine feels normal, and my overall work ethic has increased by a few notches.

Any hint of laziness is immediately dismissed because there is just SO MUCH TO DO at all times. Just when you have an hour where you feel, “Hey, I think I’m getting comfortable with Backbone.js”, the instructors make you save your work, push it up to GitHub and move on to a completely new topic.

I have so many project ideas for cool apps I could build with all of this new-found knowledge, but no time to start any of them right now. I am hoping for some time off at the end of this course to pick a few of the best ideas and actually get them built as portfolio pieces.

I gave my student presentation this week, which had been weighing on me for the past few days. One student gives a 5 minute (most of the time longer) presentation each night after dinner. I had been debating on what to talk about for a couple week now, but ended up deciding on a talk about the math of poker.

I started my talk with the history of math in poker, and the explosion of new strategies and techniques in the last 10 years. I then gave an overview of Expected Value (EV), why it is one of the most important concepts to understand in any poker game, and how to calculate your EV for a sample situation while at the table.


One of the slides from my presentation on the math of poker.

Due to the number of questions I received during my presentation, I ended up talking for about 30 minutes. However, the class seemed to be really enjoying talking about poker strategy. I had many conversations with individual students throughout the week about different poker topics, and it turned out to be a good conversation starter. I’m hoping to get a weekly poker game started, if only we had more free time…

A Typical Day at Hack Reactor
I have been talking about how busy we are at all times, but maybe you’re wondering what a typical day at Hack Reactor is like? Here is a rundown of what a recent day of learning Node.js included:

8:45am – Arrive at the Hack Reactor building on Market Street. Lock up my bike and take the elevator to the top floor.

9am  - I grab some of the free breakfast items. My usual is greek yogurt, mixed berries and granola.

9:15am – The gong signals it’s time to start the day. After announcements it’s time to go over the solution to yesterday’s Toy Problem. These are short, complex problems that are designed to prepare us for technical interview questions.

9:30am – Time to pull down the Toy Problem repo and begin working on today’s problem: Given an array of 99,999 unique numbers ranging from 1 to 100,00 in a random order, find the one number that is missing from the list.

10am – Submit a pull request with your final Toy Problem solution. My class then meets in the presentation corner to begin a lecture about the basics of Node.js, the basics of a web server, and how to use HTTP event listeners in Node.

11:30am – Lecture ends, and it’s time to break into pairs. I join up with my classmate Charles and we dive into the Node.js curriculum that was just posted to the Hack Reactor curriculum site. This part of the learning process is designed to throw you into using a framework or language with minimal guidance. The instructors want us to struggle and find answers on our own. The project for this sprint is to implement a Node.js server that can handle requests from the client-side chat application we built in our AJAX sprint last week.

12:30pm – Charles and I wrote some code early on in the hour, but we were headed down a wrong path, so we scrapped it and started again with a clearer goal in mind. We were just making some progress, but now it’s time to break for lunch.

1:30pm – After lunch, the junior class meets up for a more in-depth lecture about the specifics of Node.js. Now that we’ve actually written some Node server code on our own, the concepts begin to make much more sense.

2:30pm – 5:30pm – This is the main block of time to explore the Node documentation and we start making some real progress on our Node server.

5:30pm – Dinner break, and time to explore some dining options in SF.

6:30pm – Both Hack Reactor classes join up for tonight’s student presentation. One student gives a 5-10 minute presentation each night, about almost any topic they are an expert in.

6:45pm – 8pm – This block of time can vary from student code review sessions, to guest lectures by engineers from companies like Uber and Facebook. Tonight we had a Q&A session with some recent Hack Reactor alumni. It was incredibly interesting to hear about their job search and hiring experiences. Based on the jobs the panel of alumni had secured, I am extremely optimistic about my future prospects.

8pm – 10pm – Most of the students at Hack Reactor stick around after the 8pm dismissal time to work on the sprint from that day some more, or to hack on a personal project.

Pretty much this entire week was focused on server-side scripting and dealing with different database structures. Topics we covered this week include Node.js, SQL databases, no-SQL databases like MongoDB, and an ORM (Object-Relational-Mapper) called Sequelize. We also learned about a great Node de-bugging tool called node-inspector, which I highly recommend looking into if you haven’t used it yet.

Next week we are moving on to Ruby and gems like Sinatra.


  1. August 10, 2013

    Hi Kevin,

    I am currently applying to HackR. Their website says a typical day includes a break for exercise (with gym membership provided). Is this for real, or is this one of those nice perks that you never have time to use?


    • Kevin Smith
      August 11, 2013

      Hi Jeff,

      Yes, you definitely get time to go to the gym. Every other day your lunch break is 2 hours long, and many people use that time for a workout. HR reimburses you for most of the cost of a gym membership of your choosing. It’s not every day, but you get time for a workout 3 days per week. Let me know if you have any other questions. Good luck!

  2. August 11, 2013

    Sounds good. Thanks for the info, Kevin!

Drop a comment

Your email address will not be published. Required fields are marked *