“Data Scientist” • FB: we want “Data Scientists” • Me: I’m a “Data Scientist”! • What IS a Data Scientist?? • Who knows! • But look! I make pretty graphs! ———>
Learn online things! • So I took a bunch of classes online: • statistics! • data analysis! • machine learning! • startup engineering! • data structures!
But something was missing … • Learning stuff online was good • But so lonely! • I missed people … • I wanted to learn with other people! • Wasn’t there an internship, or something I could do???
This thing called “Hacker School” • My wife remembered reading about this thing called “Hacker School” in Wired or something • Whoa, these people look happy! • The application deadline was … yesterday :( http://archive.wired.com/geekmom/2012/12/hacker-school-experience/
Applying to Hacker School • I found out about Hacker School the day after the application deadline, • about Dec 15th 2013 • But luckily they do rolling admissions • So I buckled down and wrote my application in a couple days • I submitted it on Dec 18th
Application questions • CracklePop: • For all integers from 1 to 100, print: • “Crackle” if divisible by 3 • “Pop” if divisible by 5 • “CracklePop” if divisible by both 3 and 5
Essay questions • “Why do you want to do Hacker School?” • “What would you like to work on at Hacker School?” • “What is the most fascinating thing you’ve learned in the past month?” • “What do you want to be doing in 2 years?”
Response • I got an email from Nick (Hacker School CEO) about 2 weeks later, on Dec 28th ——> • He sent a link where I could schedule a 30 min Skype interview with a Hacker School facilitator • I chose Zach ——> • This turned out to be an informal chat
Pair programming • Then I scheduled a pair programming session with Dave —> • They asked me to provide some of my own code for us to work on together • The goal was to fix or improve something within 30 min or so
Pair programming • I had recently written some Java code for printing a binary tree to a terminal • We worked on generalizing it to multi-digit labels on the nodes https://github.com/paul-jean/code-dojo/tree/master/20131226-array-to-bin-tree
Day 0: meet the space • The Hacker School space is in Lower Manhattan, in SoHo • It’s a big open work space • A row of desks and some meeting rooms • The meeting rooms are named after famous computer scientists • e.g. Lovelace, Babbage, Church, Turing
Day 0: introduction to Hacker School • The facilitators gave us a presentation • They described the parameters of the school ? ? ? ? www.hackerschool.com/about
Hacker School is NOT ? ? ? ? www.hackerschool.com/about • NOT a bootcamp • the stated goal is to learn deeply about what interests you • NOT for learning a specific tool (e.g. Rails)
How does Hacker School make $$? ? ? ? ? https://www.hackerschool.com/manual#sec-recruiting • Hacker School is also NOT a nonprofit • Companies pay them to recruit HS graduates • Companies pay them 25% of the first year’s salary
How does Hacker School make $$? ? ? ? ? https://www.hackerschool.com/manual#sec-recruiting • During Hacker School, focus on learning what you’re passionate about • After Hacker School is over, they will help you find a job (if you want one)
No feigned surprise • acting surprised when someone says they don’t know something • “What? You don’t know what the stack is?!” • people need to feel comfy saying “I don’t know”
No well-actually’s • someone says something that’s almost correct • … and you’re like “well, actually …” • that’s usually more about grandstanding than being precise
Day 0: hopes and fears • We all sat in a group and voiced our fears • … and our hopes • The facilitators wrote them down and posted them on the wall for the entire batch ? ? ? ?
Day 0: schedule • School in session Mon - Thurs • Mandatory group check-in at 10:30 AM sharp • Check-in groups will rotate every 2 weeks • Tech talk every Monday night • Optional job prep sessions on Fridays ? ? ? ?
• BUT then an alum Thomas stopped by the space • He said he’d pair with me on React.js • So we refactored my Game of Life again! Now using React! http://paul-jean.github.io/2014/05/17/gol-react.html
• React.js is known for making DOM (browser screen) updates very efficiently • So I wrote a Chrome extension to highlight the updates • Only the cells that change color are updated on each step: http://paul-jean.github.io/2014/05/17/gol-react.html
Code all the things! • GOL in HTML5 canvas • GOL in functional Javascript • GOL in D3.js • GOL in React.js • GOL in Clojure / ClojureScript • GOL in Python • chart animations in D3.js • Clojure hackathon • LudumDare game hackathon • Boggle solver in Scala • url shortening server in node.js • Chrome plugin to highlight DOM mutations • mergesort in Javascript • memoization cab driver problem in Javascript • hash table from scratch in Java • phone book app in node.js • file-based prefix tree in node.js • linked list in Javascript https://github.com/paul-jean
Other Hacker Schooler’s projects • distributed hash table • video BitTorrent client • interactive fiction game engine for the sega genesis • hopscotch hash table in assembly • radio signal visualizer • panoramic 360 video player for the Oculus Rift • Arduino door lock controller • real-time collaborative coding platform • recursive descent parser • graph database engine • BitTorrent client Go • monadic parser combinators • wifi-enabled remote-controlled car using Arduino
Job hunt • Sonali gave me personal coaching through the interview process • Her advice was frank, practical, and super-duper valuable! • I interviewed with both HS and non-HS companies ♥ ♥ ♥ ♥
PhotoShelter NYC! • I’m now a Developer at PhotoShelter! • I’m working on front-end web • Mainly Javascript • Working with an in-house MVC framework • Porting view layer to React.js