“Millions of software developers need tools that fit their work practices better.”
Learning from Experts
From requirements to design to testing, software developers have to cover a lot of ground. Finding a way to facilitate their work keeps Professor André van der Hoek just as busy. “I’m interested in how expert developers actually design software,” he says. “By studying their day-to-day activities, we can uncover better ways for everyone to do their jobs.” It’s applied research that he also brings into the classroom. “Introducing students to real problems, with solutions tested in real-world settings, enables us to help them realize their potential and thrive,” he says. “It’s a tremendously cool job.”
One of Professor van der Hoek’s recent innovations is Calico — sketching software designed for use on touch-based devices, with an emphasis on supporting the early, creative stages of software design. “Most developers sketch on whiteboards or use pen and paper to work through a problem,” he explains. “Calico is different: It amplifies design work with features that match how developers naturally think through and externalize possible solutions to a design problem.” The software’s fluidity and ease of use have interested prominent companies ranging from Boeing to Intel.
Making Collaboration Click
Software design is deeply collaborative in nature. Yet Professor van der Hoek observes that people often just sit in their separate cubicles to do their individual parts. “The process is both inefficient and ineffective,” he says — something his work is seeking to change. The ultimate goal, as he sees it, is making developers’ jobs easier. “My work is about helping people — advancing their capabilities and enabling them to make smart collective decisions,” he says. “It’s the hallmark of what we do here, and what makes us stand apart.”
Ph.D., Computer Science, University of Colorado at Boulder, 1999
Joint B.S. and M.S., Business-Oriented Computer Science, Erasmus University Rotterdam, the Netherlands, 1994
Software Engineering and Systems
Developing new software technology and solutions that advance the information revolution...
Sustainability and Computing
Developing innovative ways to use and develop computational technologies to address environmental and societal challenges …