Week 10 Roundup

Well I certainly didn't keep up with blogging through the 10-week rollercoaster that is HackBright. I learned, laughed, cried, went through crazy emotional times, and made friends. I also drank a lot of alcohol. 

Week 2 was a blur, mostly lectures in which I trolled Christian to make sure certain points got across well, and to keep him human to our students, rather than some kind of job-bestowing godlike figure. I don't know that I fully succeeded with the second one.  We did a lot of breakout sessions, which I feel like were really helpful. They helped keep each lesson in context so that everyone understood that we may have been doing simple things, but that those things built up to me big deals.

Week 3, my son came to visit. By that point, our students had formed a bit of a bond with me, so me being not there was not too bad for morale. It was however, really tough on me, because I brought him in to work 3 out of the 5 weekdays he visited on. He enjoyed himself enough, and ingratiated himself with most of the students pretty well. Christian showed him the roof and talked to him about physics, which made him instantly reverent. It was pretty cute. 

Week 4, I was playing catch-up, in terms of energy (9yos are very tiring) and in terms of where everyone was in the program. I also stopped making progress on the project I was working on at this point - students needed too much outside help for me to spend time on it, so I was forced to just kind of back off. In the middle of the week, Donglegate came to a head and got really nasty online. Like many women in SV, I responded emotionally to the threats Adria was getting, especially as she's a friend of mine. Due to complexities and traumatic events in my past, seeing some of the images posted online and the vitriol spewed at her, I was emotionally drained and very upset for some time after. Even now, it's tough to write about. At some point, I'll post in detail on this.

Week 5 was a blur - bringing people up to speed on common web technologies and the idea of markup was a big deal. We explained HTML and how it was like Markdown or Wiki Markup, only with a lot more eccentricities helped them deal with what seemed like an impenetrable world. We covered a slight bit of CSS, and then I got to delve into JavaScript. At this point, my energy from the kid visit and ensuing trauma, plus 18 hour days were beginning to wear on me. The lesson I learned here was that we needed more instructors, and that I cannot take time off during Hackbright, or have visitors. Downtime is going to have to be the only time someone can come to SF to see me. 

During Week 5 we also began preparing for projects. We had to very explicitly state that we're not an accelerator. We're not an incubator. We're not here so that you can develop an amazing product vision and start a company. Our students are here to program and to learn things - you can't do that if you're worried about the marketability of a product. Sure, learning happens better when you're solving a specific problem for yourself - when you listen to a lecture on SQL and can imagine using it to solve the problem of how to get two rows of data to JOIN together, it makes sense. If you talk about JOINS in the abstract, it kind of sounds like a crazy, useless concept. So it's useful to have a project you're excited about - but focusing on becoming a crafts[wo]man means you have to focus on the craft, not the business. They're two separate disciplines, and we're not here to make companies, we're here to make developers.

Week 6 was the official start of projects - students were finishing up the final tutorials that would show them how to use SQLAlchemy. Many wouldn't end up using that kind of thing at all for their projects, but understanding the principles behind an ORM is important, because they're more than likely going to encounter them in the wild. 

One thing I wasn't prepared for was the scope of some of these projects. We had webapps of varying complexity - some that had to keep consistent state between two people, some that used multiple APIs and a lot of data, one even used single value decomposition to intelligently rate movies on millions of rows - dealing with datasets larger than the RAM on your computer is not a simple task. But the next tier of projects, things I've personally never even done (although, this does not mean I won't try), things like database engines that handle concurrency, written in a language we didn't teach, using concepts we didn't teach. Things like compilers, lexical parsers, people writing their own programming languages. 

We had a student who read a paper on someone who found correlations between genes and characteristics that had never been noticed before by doing Natural Language Processing on Pubmed papers. This paper kind of contained some abstract notions on how you might do this, but I watched her tear the paper apart, and put it back together in python. It was amazing. Her twitter is @cadeparade, and she's still for hire as of me writing this (but probably won't be for long.) I also got to learn a bit about Part of Speech Processing - which is incidentally really cool.

I had to mention at least one of them, not to show favoritism, but I feel like what happened wasn't real. Like it was somehow removed from the real world. It was like I was out of the country for 10 weeks, and my friends and family kind of watched this amazing thing occur from my excited tweets and late night rushed updates by phone. But it wasn't. It happened right here, in San Francisco. 

Tonight, some of them got offers, which were beyond anything I expected whatsoever. I have no doubt that every single one of them is employable, and would contribute a lot to the organization they end up at. Plus, I have 26 new best friends. 

In 4 weeks, I have to start all over again.