When Dave Fontenot moved to the University of Michigan from his home in South Florida in the fall of 2011, he brought the standard equipment every freshman college student needs -– clothes, shoes, books, and a backpack. One item, though, was missing.
“I didn’t own my own laptop,” he said.
That didn’t stop him from attending his first hackathon several weeks later at Hacka2thon, where he built his first website. The experience ignited his enthusiasm, and over the next two years, Fontenot would found and develop MHacks into one of the largest hackathons in the country, last month hosting more than 1,000 students from across the Midwest and the United States to Michigan for a weekend of coding. “#hellyeah,” as Fontenot puts it subtly.
For the first time next semester, more than 10,000 students are expected to participate in one of 10 mega-hackathons, in a discipline that graduated just about 16,000 students in 2012. That could mean that a majority of CS students will have participated in a hackathon before graduation in just the next few semesters.
Hackathons, though, are just one part of the coming transformation of computer science education. Once a theoretical subject to the chagrin of many undergraduates, computer science students are increasingly finding outlets like hackathons, open source projects, and startups to learn the applied skill sets desired by industry – and are getting the job offers to prove it.
Yet, this rebuilding of the pipeline for new engineers poses deep questions about the future of educating software developers. What is the proper role of universities and degree programs? How should the maker culture, which exists at the heart of these projects, connect with the traditional education mores of research universities? And at a time when access, particularly for females and underrepresented minorities, remains a deeply salient issue, how can organizers ensure that programs lower rather than raise any barriers to new entrants?
Changing The Culture
One of the defining moments for Dave Fontenot was PennApps, the first and one of the largest student-run hackathons in the United States. He had heard that the organizers were paying students to attend from other schools, and so he worked to recruit his fellow Michigan friends to join him, eventually convincing around 25 of them to trek to Philadelphia. The environment and atmosphere were rousing. “We came back and half the people switched their majors to CS,” Fontenot recalls.
Alexey Komissarouk, who founded the PennApps Hackathon in fall 2010, believes that part of that excitement is the ability to create using one’s own skills. “They learn to make, as opposed to doing homework,” he says of the students attending these events.
There is clearly demand. This semester, there are expected to be 10 or possibly more student mega-hackathons across the country, up from three last semester, and their growth appears likely to accelerate. To assist in that growth, Komissarouk helped to organize HackCon last month to teach student organizers how to run effective hackathons. Even so, Fontenot, a speaker at the seminar, notes that “the evangelism is spreading faster than we can scale the events.”
Computer science majors have traditionally followed several different career paths, including corporate software development and academic research. That divergence between theoretical and applied work has been a key battleground in the development of computer science curriculum since the discipline was formed.
Computer science is a relatively young discipline in academia, coming out of the emergence of computer technology for missile targeting near the end of World War II. Much of the education in this early period was informal, or attached to other academic programs like mathematics or electrical engineering. Progress moved at a much more torrid pace starting in the 1960s, with the rise of formal departments and divisions of computer science.
It was clear in those early days that computer science had enormous potential, but there were deep concerns on the state of the discipline. For researchers at the time, the question was whether computer science should be seen as a technical and applied subject, or whether it should develop a coherent set of abstractions that would afford it intellectual legitimacy within the academy.
The debate did not last long. Under pressure at universities like Stanford, the discipline quickly moved in a theoretical direction. This can be seen in the development of Curriculum 68, which promulgated a set of model computer science programs in 1968. Computer science education was focused on mathematics and data structures, with limited credit to be awarded for software development. That direction still underpins many of the top computer science programs in the United States.
Since the publication of the landmark curriculum almost five decades ago, however, employers have completely changed their hiring standards. They increasingly desire engineers ready to develop software from day one, and target graduates who already have significant software experience under their belts. This is particularly acute at startups, many of which lack the mentoring and training infrastructure to bring new graduates up to speed.
It is telling then that these hackathons are almost exclusively student-run, filling in the gap between their enthusiasm for building new products and their curriculum’s emphasis on theoretical constructions.
Fontenot believes that “People are going to realize that this is more than just a hobby, but an educational revolution.” He emphasized that the skills developed at hackathons go beyond just pure programming, and include product design and working in teams, skills that have traditionally been excluded from computer science work.
Komissarouk, though, cautions that the changes need to be seen more as additive to a traditional computer science education, rather than a replacement. “Hackathons are a reasonable adjustment of the CS curriculum. Penn’s IR [international relations] department has a huge MUN [Model United Nations] program, our creative writing program has a writing program, but all we had in our CS curriculum was a bunch of PhDs talking about advanced research. Which is cool, but it’s not what many students will be doing after college and it’s not why most of them came to CS.”
Learning Through Open Source Projects
Hackathons, though, are only one means to building a new product. Open source projects are increasingly being seen by both employers and students as a viable means to develop key skill sets in new graduates, and inculcate a long-term development mindset.
Google has offered its Summer of Code since 2005, placing about 7,500 students on prominent open source projects around the world. But it is not just large companies that are focused on the potential of students in open source, but startups as well.
Quinn Slack and Beyang Liu founded Sourcegraph to help developers find usage examples of code across codebases. They see students playing a key role in expanding the company’s knowledge of development and its role in the open source community. Last month, they announced the selection of 10 Open Source Fellows working on a range of projects, from MIDI input libraries to data-analytics tools for political analysts. They hope to shortly select a second class of fellows.
“Working in open source gives students experience with real-world code, teaches them how to collaborate with others on software projects, and builds their reputation as a programmer. And it can be super fun,” Slack writes to me in an email. “By getting involved in open-source, students see how some of the best, brightest, and most passionate programmers actually do things.”
For Julia Lee, a computer science undergraduate at Stanford and an inaugural Sourcegraph Open Source Fellow, she appreciates that the projects are more involved and closer to real-life software development.
“A lot of Stanford CS courses have final projects, but projects tend to be smaller than many open source projects.” She also likes the flexibility to define her own project. “I’m teaching myself Android development in the process of building an app that public health researchers from Stanford will use later this year.”
The hackathons are killing the career fairs, particularly the engineering school ones. [Recruiters] want people who can actually build something.
For companies like Sourcegraph, it also doesn’t help to get an early introduction to some of the top software engineering graduates out of Stanford, Berkeley and other schools. Indeed, everyone I talked to agreed that recruiting developers is going to fundamentally change in this new world.
Fontenot from MHacks is very clear on this point. “One thing that is very concrete, the hackathons are killing the career fairs, particularly the engineering school ones. [Recruiters] want people who can actually build something,” and demonstrating that ability through hackathons or other projects gives candidates a “huge competitive advantage.” Komissarouk from PennApps believes that hackathons are becoming a sort of “farm team” like the minor leagues in baseball.
The two see VCs and other recruiters pouring into hackathons to find the best talent. Fontenot particularly noted the visibility of Andreessen Horowitz at these events. “I did a survey on where [participants] started their job search, and close to a majority said that A16z’s website was the key place they went through,” Fontenot says. “They have been very effective, since they bring a lot of top founders and engineers from their portfolios decked out in A16z swag and it gives a great impression.”
Fontenot believes that hackathons are already starting to replace the process of interviewing at a company. “For companies, it is all about relationships. It is like a meritocracy, where you bring your best engineer [to these hackathons], and he actually has to help mentor and help a team to achieve some large problem. You don’t need to interview the candidates, you are seeing them right there at crunch time. You don’t need to evaluate them, because your engineer is experiencing the person live.”
Access And Acceleration
One benefit of these events is their democratized nature — anyone can sign up for a hackathon or work on an open source project and receive credit for their work.
But Komissarouk points out the problem of access here. “On one hand, it’s great that hackathons are becoming more popular. The fact that more engineers are being exposed to the fact that theirs is a maker profession, and there’s more to CS than homework assignments and jobs, that’s wonderful. On the other hand, as the bar for what makes a great hack goes up, hackathons become more exclusionary and intimidating to exactly the kinds of people we want to attract.”
Indeed, while students in the past needed only graduate and apply to a company (perhaps with a small portfolio of class projects), today’s students have significantly higher expectations set for them. For instance, many startups use GitHub to keep track of code activity for potential recruits. That may make the hiring process a bit more transparent, but it also raises the requirements for students, who must actively contribute code before they may have even reached their first algorithms class.
Fontenot and other hackathon organizers are acutely aware of such concerns, and have actively worked to broaden the base of students in engaging in CS. “As you get bigger, you get more diverse,” he notes.
Slack of Sourcegraph sees the changes as a positive development, giving students the ability to accelerate their learning. “Today’s CS students will be the future leaders of the tech and open source community, so if anything we’re just helping them get there a few years sooner.”
That acceleration can already be seen in MHacks, where two of the seven top prizes were awarded to high school students. Indeed, Fontenot argues that if you want to get into college today, doing a hackathon is a particularly strong approach.
“At Michigan, we sent over 50 names of high school students to the admissions office, because they all want the next 10 Mark Zuckerbergs,” and will look at their applications accordingly.
But that acceleration comes at a potential cost. If students need to start demonstrating their aptitude for engineering well before college, that precludes a large number of students who may not even have access to a computer during their adolescence. And while the open and flexible nature of such programs are indeed positive for students, the more they become associated with recruiting, the more these programs will become about demonstrating recruitment potential rather than opening opportunities for further education.
Like many professions today, software development is developing new rules for education and status identification. At one point, a degree from MIT or Stanford was the key ticket to a major Silicon Valley company, and from there, a start-up or a management role.
The new culture around hackathons and open source projects is going to upend this forced march. Students increasingly are engaging with startups earlier in their careers, and they are building products rather than writing code samples. With a continued focus on education, there is an opportunity here to solve the engineer crunch, and perhaps even expand the range of people who are involved in engineering the next great startups.
Top image: The MHacks Hackathon 2013 opening ceremony in the Crisler Arena on September 20, 2013 in Ann Arbor, MI. [By Joseph Xu, Michigan Engineering Communications & Marketing, All Rights Reserved, used with permission]