Talks

Micro Talk: Building Developers Lessons Learned from Hungry Academy

Here's the quick story of what's worked, what hasn't, and the lessons learned as we try to solve the developer shortage.

GoRuCo 2012

00:00:16.279 My name is Jeff Casimir. I run a company called Jumpstart Lab, and our business is building developers. My background is in teaching middle school and high school. In 2009, I started teaching software developers.
00:00:21.320 Most recently, I want to talk to you about a program called Hungry Academy. It was run in conjunction with Jumpstart Lab and LivingSocial. It started back in September of last year with a good friend and former competitor who thankfully LivingSocial acquired. His company was no longer teaching Ruby classes, allowing us to become better friends.
00:00:41.400 He asked me, "If you had six months and good people, could you turn them into capable web developers?" Because I was trying to run a small business, I said, "Absolutely, Chad! Just cut the check, no problem." He then said, "Okay, great. If it doesn't work, you're not only going to get fired; you're probably going to get me fired." I thought, "All right, great! No pressure."
00:01:06.760 I aimed to shape someone into the kind of colleague I wanted to work with. It wasn't enough for me that they could learn just enough to get by or that someone would give them a job. As you've seen, this job market is desperate; they'll hire anyone. You just have to say you know Ruby and Rails, but it’s questionable if they actually know it, or not, and then they can end up just being off in some corner coding.
00:01:32.680 So, I wanted to build people who were the type I wanted to work alongside—people who could produce work we’d all be proud of. We started with recruitment. The application process had no real requirements; if you weren't beyond high school age, that would have complicated things, but thankfully we didn’t deal with that. Other than that, I really didn’t care about people’s backgrounds.
00:01:58.560 We had an incredibly short application window. We timed it so the application went live on December 15th and closed on January 9th, meaning there were only about eight or so days for people to hear about it. Nevertheless, we received over 650 applications. Those applications included resumes, code samples or writing samples, depending on people's backgrounds, and most importantly, a video.
00:02:34.400 To be honest, I didn’t look at any of the resumes, code samples, or writing samples. All I cared about was the video because I wasn’t hiring for what they already knew; I was hiring based on what I thought they could know. Were they the kinds of people we wanted to work with? Could they communicate clearly and express their passion in an 8-minute video answering five questions?
00:03:05.879 If they had those things, it was worth a shot. Development today has evolved beyond just sitting in a cube and coding. It’s about being part of teams and having excellent communication among team members. If you're good at communicating, the programming part isn’t really that hard.
00:03:34.080 From there, we selected 125 people, conducted phone screens, and narrowed it down to 100 candidates. Then things got tricky; I faced the difficult question of how to assess individuals' programming aptitude when they had no prior programming knowledge. We looked at who was tackling a similar challenge and found that the LSAT, the law school admission test, assesses your ability to comprehend and work with legal concepts without prior knowledge.
00:03:55.600 We took a small section from the LSAT, as I wasn’t interested in putting candidates through the Facebook or Google-style pressure of throwing an impossible problem at them to see if they would panic. My goal was to avoid that kind of experience. I was inspired by one of the GitHub representatives who discussed the theory behind giving challenges, like coding something complex on a whiteboard in five minutes, and having the first person to fail walk out with the job.
00:04:40.239 Our premise was founded on whether candidates were coachable and could communicate effectively. Thus, we paired with them to solve logic problems, sitting side by side with my co-instructor, guiding them through the thought process. I wasn’t focused on whether they got the answers right; rather, I wanted to see how they responded to feedback. The key indicator for me was their receptiveness to coaching.
00:05:06.720 These are the 24 who made it through, which represents a 3.6% selection rate. You can tell Horus, who wasn’t there for headshot day, has his little farmhouse glamour shot back there. Horus is here with us today, and significantly, 16 out of the 24 self-identified as non-developers. Some had never written a line of code, while others had done minimal work with resources like Chris Pine’s book.
00:05:36.640 Among the remaining eight, three were computer science majors. We received questions about how to teach people with such varied levels of programming experience, from those who had been coding for four years to those who had never programmed before. While it might seem absurd to bridge such a gap, it’s important to have a team that consists of both architects and junior developers.
00:05:56.720 As educators, we should enter each teaching situation acknowledging that our learners are at different places in their knowledge. It's crucial to not expect everyone to learn at the same rate or speed; otherwise, you will fail.
00:06:06.760 The program began in March and will continue through July, so we’re currently in the wrap-up phase. Students are full-time and are LivingSocial employees on a short-term contract until the end of July. Their day is structured from 9:00 a.m. to 4:30 p.m., but many of them find themselves working late, which is my only hesitation regarding the program. I don’t want to condition them to think that being a developer means burning the midnight oil every night, as I don’t believe that’s healthy.
00:06:44.560 Typically, each week, they spend about 12 hours in a classroom environment, where they can listen to me lecture on these awesome microphones, booming and talking down their ears. They also spend about 14 hours a week on projects, which initially start as individual efforts, then transition into pair programming, and finally team projects.
00:07:07.160 As part of their training, we do presentations so they can practice giving lightning talks. This is to prepare them for experiences like this one. They also allocate five hours a week to open-source community time, which includes writing tutorials, fixing software gems, and engaging in reading groups, one-on-one meetings, office hours, and shadowing others at the company to listen to guest speakers.
00:07:36.320 Projects drive everything we do. As a teacher, I used to cringe when I would hear students ask, ‘Why do we need to learn this?’ The strategy in our class is built around giving students a project and teaching them what they need to know just in time. When it’s done this way, you never hear that question.
00:08:04.760 Initially, our students needed a lot of handholding, where we'd say to them, ‘Write this method, here are the input parameters, and here’s the expected output.’ Now, they’ve progressed to the stage where they architect complete projects on their own.
00:08:36.760 We spent six weeks working purely with Ruby and since then covered SQL, APIs, software architecture, JavaScript, HTML, CSS, and Agile development. Most recently, they completed a service-oriented design project, thanks to Paul Dix, who took some time to chat with the class.
00:09:06.880 The winning project was an integration between SpeakerDeck, Flash video/audio presentations, and a chat room, powered by WebSockets. This setup enabled remote presentations complete with audio and video, along with an ongoing chat. I admit I don’t know how to do that, but Charles does, and they're pushing the boundaries of what they can create.
00:09:46.920 Out of the original cohort, 22 of the 24 are expected to be in full-time engineering positions. The remaining two will find other roles within LivingSocial.
00:10:05.600 The conclusion here is that this model works. So, what’s next? Although we’re done with LivingSocial, I believe we’ve proven the model and want to explore how to push this further.
00:10:22.800 My true focus isn't on selling deals; it’s on social progress and encouraging diversity in tech. One of my favorite books, 'The Talent Code,' discusses the concept of ignition, helping you see someone you can imagine yourself becoming. When participants in this program look at their peers, they can believe that they can also transition into developers.
00:10:41.600 Are you someone who could be next? Can you identify someone who is? How can we get more people involved in this community? How can we unlock generational growth? For many of these participants, we've doubled, if not more, their lifetime earnings in just six months. What implications does that hold for their families and future generations?
00:11:05.060 If you’re interested in starting a similar program, feel free to reach out to me. I’m Jeff, and I’ll be around after this event. Thank you.