Heidi Lam (2007 Grad)
Heidi Lam, who holds two degrees from UBC and two from Simon Fraser, has an impressive string of academic credentials, but she laughs off any suggestion that she’s a super-achiever. Instead, she suggests with quiet, yet focused, determination that she’s been seeking the best way to develop her intellectual interests while being true to her personality: a functional way to balance what she wants with who she is. For Heidi, a software engineer at Google, this search to date has yielded impressive results.
Heidi began her career in as a scientist in biochemistry and chemistry, attaining her B.Sc. from UBC in 1993. Having an interest in these subjects was enough for her to “have a lot of fun” at school, yet she came to her third year unsure of her career progression. Many of her friends were applying to medical school and this seemed like a logical next step for her as well, so she applied to the University of Ottawa. In three years’ time, though, Heidi realized that she wasn’t suited to be a doctor, interacting continuously with people day to day without time to think and reflect. Leaving medical school, she decided to take courses in physics, math, and computer science, observing that many industries and government were employing computer scientists at the time and that CS was therefore a strong career possibility.
Finding the computer science course immensely interesting, she embarked on an undergrad degree in applied computer science at Simon Fraser University and it was at SFU that she became turned on to the possibilities in human-computer interfaces (HCI). In HCI, Heidi saw that she could weave her biochemistry and medical background into practical applications. At SFU she developed a “two and a half dimensional map” that she also describes as a “bouncy, springy graph display,” helping users capture knowledge and use what they’ve learned to identify gaps in their understanding of a problem or subject area. This research led her in 2002 to begin the Master’s of Applied Science program at SFU, in which she developed applications for handheld devices for medical personnel so that doctors could capture and retrieve patient-specific information quickly and efficiently at a patient’s bedside.
At that point Heidi decided to do an internship at Microsoft Research, where the full possibilities of a life as an applied researcher hit her with force. “I was fascinated,” she recalls. “The energy at Microsoft Research was incredible. The brainstorming sessions were energetic. I was completely amazed and I thought, ‘I want to be here.’” In looking further into the lives of her researcher colleagues, she discovered that despite individual differences each had a Ph.D. “Therefore, I decided I was going to get a Ph.D!”
Admitted to the UBC Ph.D. program, Heidi began to work on perceptual side of HCI with Professor Ron Rensink. Her developing interest in this CS sub-field led her to take a course in information visualization with Tamara Munzner, who then became her advisor. Looking for internship opportunities, Heidi first worked at Agilent Technologies in California, where she helped develop a project for visualizing how chemicals separate during gel electrophoresis and then at Google, where she helped develop a method for researchers who analyze large datasets of online search behaviour. These internships were, she believes, important in developing ongoing collaborations with other researchers. In Heidi’s case, internship projects were integrated in her thesis work, allowing her to finish her Ph.D. in a speedy four years.
Heidi found the Ph.D. program challenging, stimulating, and crucial for her success as a researcher. “UBC grad work trains the person to think about a problem in a systematic way. You do the background work for implementation work and testing. When you think about it, the Masters and the Ph.D. are just a series of projects that the student takes responsibility for. This helps you at work, where your co-workers will come up to you and say, ‘we have a problem and we don’t know how to solve it.’
Learning these skills has served her well in her current work as a Software Engineer at Google. Google’s User Experience researchers conduct many field studies to understand web search behaviours, and analyzing these behaviours can be tricky given the size of the data sets. Heidi gives the following example. Google conducted studies where in-house participants were asked to look on the web for “a watch under $100.” Their searches were generally protracted, with many time-intensive searches occurring across multiple web sites. If the participants were asked to conduct a more specific search, say, for “a man’s black Casio waterproof watch under $100,” search behaviour times would shrink and fewer web sites would be accessed. To present this data in ways that researchers could see and use, Heidi developed a visualization tool where specific web hits were presented as small boxes arranged as vertical “tiles,” visually delineating the difference between lengthy and shorter searches.
Another crucial skill for a researcher or engineer is communication. Coursework with Tamara Munzner and others helped her see how to meet and surmount challenges associated with making presentations. “The good thing about a Ph.D. is that you have to talk in front of people. You do a lot of presentations and demos at conferences. Demo-ing is the most stressful thing for an engineer because the computer is almost always going to work against you. As a student, people are almost infinitely forgiving, so that [by the time] you get to your “real” work, you’ve had practice and you won’t panic when something breaks!” She also feels that students learned a good deal about the “softer” side of presentations as well by learning effective oral communication skills and by presenting ideas to the group and getting constructive feedback prior to writing a paper.
The UBC Ph.D. program was also very useful in helping students understand the range and complexity of work-life balance issues that will crop up in their professional lives. Early in her program, the Jade Project (a five-year program designed to increase the participation of girls and women in CS and engineering) and Tamara Munzner paid for Heidi to attend a Computer Research Association—Women workshop in San Francisco, where she met with researchers and professors to discuss everything from presentation skills to how to decide whether to start a family early in one’s career. In this workshop she also learned that life in a Ph.D. program can be “a bit of a rollercoaster ride,” but that with perseverance everyone can learn to adjust to the ride. Being able to time manage is also crucial for a workplace like Google where Heidi is free to make her own hours. “In that way, Google is like a grad program. You have to think independently and lay out the course of the project.”
Learning about work-life balance issues has served Heidi well in a profession noted for complex projects generated under time-intensive deadlines. Heidi tends to rejuvenate by practicing yoga, which she’s been doing since 2004, and by playing the piano, which she’s been doing since age four. There she feels she enters a “semi-automatic” state where the playing serves as a backdrop for her thought process. Playing the piano, “a fairly relaxing and enjoyable experience,” somehow keeps her from becoming distracted, and after she’s played she sometimes finds she’s further along in solving a work problem than when she sat down at the keys.
For students considering a Ph.D. in the computer science department at UBC, Heidi believes that upfront research is important, advising students to spend time talking with professors and his or her students to understand if the fit will be a good one. She suggests that students who are UBC undergrads try out a small project with the professor to begin to develop rapport. It’s a large, often difficult undertaking to pursue the Ph.D. and this upfront work will help determine the measure of a student’s eventual success.
Where will she go from here? Having worked for 2 ½ years on building visualization tools for internal decision support analysts at Google, Heidi may be now turning her attention to designing visualization strategies for data explorations on public databases. Google Fusion Tables is such a tool where the public can explore large databases about important topics such as the environment and the economy in a fun and engaging way.
Looking back on her time at UBC and how it’s brought her to where she is in her career today, Heidi says that the program was challenging and engaging, but not so much that it ever caused her to stop and say to herself, “‘Oh wow, what am I doing here?’” Instead, she says, “It was one of the happiest periods of my life and I was very thankful I was able to do it.”