Andrew Ip (2005 Grad)

Finding One’s Own Range

Like many of the department graduates profiled in these pages, Andrew Ip had a spotty background with computers prior to entering UBC. “And most of my experience,” he says with a grin, “came through playing computer games.” In high school he had developed an interest in web development and followed up on that interest by taking an intro CS class in the fall of 1999. “In truth,” he says ruefully, “I bombed that class and had to take it again the following summer.” The silver lining of that experience came in the form of a “really great TA” who took an interest in him and helped him realize he could master the material. Passing the course boosted his confidence and he decided to major in computer science. Knowing he would benefit from real-world work experience, he then decided to enter the co-op program.

Andrew’s co-op experiences were incredibly successful, generating what’s become for him an ongoing passion to excel in his work. His first placement occurred at Epic Data, Inc., of Richmond, an automated data collection firm. For Andrew, it was again a human interaction, this time with a gifted mentor at the company, which made the difference. One of the supervisor’s talents was in allowing co-op members to manage each other’s progress, with team members switching management responsibilities back and forth between projects. “This was very motivating,” Andrew recalls, “You’re in charge for once. You really matter.” In addition to giving him experience in restructuring Epic Data’s eXpresso product, a line-management data capture program, this co-op placement was responsible for “blowing most of [his] paycheck on computer books,” as his interest in the field deepened. And it was there that his interest in front-end work with web development and customer relationships really took off.

At UBC’s President’s Office, Andrew’s second co-op placement, he worked to help the office develop a new alumni database and more efficiently track sessional lecturers in the university. His third placement occurred at Bycast, Inc., a fixed content storage solutions firm in Vancouver. There, for the first time, Andrew worked on the front-end team, implementing Java programs to parse and summarize the contents of gigabyte-sized log files, evaluating supplemental storage environments, and producing a testing framework for a custom-built Java charting library.

Following each of these placements, Andrew would return to his coursework with increasing enthusiasm for learning about particular aspects of the field. “In each case,” he notes, “I’d already dipped my toes in the water and then I could come back and learn more of what I needed to know.” In an intuitive move, he decided against burrowing exclusively into CS courses, opting instead to broaden his education by taking courses in English, psychology, and philosophy. This move was smart for another reason. “After their first year at UBC, a lot of my CS friends say, ‘No more English!’ They just want to learn the wiz bang programming language of the day. But this isn’t the right way to look at it. In today’s world, the difference between the jobs that get outsourced and those that don’t are the soft skills. You have to be able to communicate well both in writing and speaking. And contrary to what people think, effective communication is really hard. You have to interact well with your team and communicate effectively with your supervisors.”

Andrew thinks he made the right call in broadening his education at UBC by taking a range of courses, and he counsels incoming students to do the same. “A lot of students—and even some profs—are somewhat lacking in presentation skills, but these are really important. In some of my courses I had to learn to make effective presentations and this has helped me a lot in my current job.” That job, held since December 2005, is as software developer for Contigo Systems of Vancouver, a GPS-based fleet management, asset tracking, and personal safety firm. One of just three front-end developers for the firm, Andrew employs all of his technical and soft side skills in helping develop and manage the firm’s web-based products. “I work with a lot of clients,” Andrew says. “You have to be diplomatic. I also have learned how to summarize information for my supervisors to get the most salient points to them without burdening them with huge amounts of information.” These issues are as important, Andrew feels, as working through technical bugs in the customization process that Contigo develops between its GPS beacons and an customer’s fleet of ambulances or taxis, for example, or between the beacons and the assets—earth-moving equipment, construction goods, transported cargo—that the beacons track. For the past year, Andrew has been responsible as well for maintaining the company’s mapping system, working as liaison with Mapquest, from whom Contigo licenses its mapping technology.

An ability to marshal technical skills with equally complex people skills is evident in Andrew’s social life as well. An accomplished musical performer since childhood, he sings bass with the Maple Leaf Singers, a 50-member choreographed choral group that performs everything from opera and gospel to show tunes and comic pieces in 20-30 performances per year. The practice sessions and performances are demanding, making it hard to make time for his other interests, which include snowboarding, kayaking, Kendo, and ultimate Frisbee. It’s a sacrifice he willingly makes, though, due to the joy singing brings him and also perhaps because his views on the activity illustrate for him a larger metaphor of finding one’s way in life: “Stand next to a piano. Say something out loud. Find the key that’s closest to the sound of your voice. Then sing that note and the notes around it, going up and down the scale. Soon you’ll find your range and with practice, you’ll get more and more comfortable in that range and you’ll find your real voice. Anyone can learn how to sing.”