When thinking about a college major, John Pham was most interested in art and robotics. So, when it came time to declare a major at the University of California, Riverside, he felt most drawn to mechanical engineering, well aware of the challenges that lay ahead. John’s first experience in coding happened at Citrus Hack, the April student hackathon at UCR. “I just went to check it out,” he says, but John actually produced a video game with his team. John discovered that web development and machine learning allowed him to integrate his artistic interests to solve problems.
John initially braced himself for a tough start learning C++ in CS10, the introductory computer science course at UCR. “This is probably going to be the hardest class I’ve ever taken,” he remembers thinking. At first, John would take several tries on learning activities using zyBooks. By the end of the course, it typically took 1 or 2 attempts to understand the problem. John attributes this growth to programming more, both in and out of the classroom, and the immediate feedback in zyBooks’ activities and labs, where he didn’t need to wait for an instructor or TA to let him know if his code was correct.
Student life played a huge part in keeping John’s focus on computer science. On campus, John observed that “students struggle together.” He further developed his interests by joining the Association for Computing Machinery (ACM). There, he learned more about web development, game design, and more, all taught in context from the ground up. Faculty support was also critical. Once, an instructor even allotted server space for a machine learning project.
John’s parents were initially skeptical of a computer science degree. “Being first-generation, they think the ideal career goal for their child is medicine or law,” he reflected. “They just think I’m on the computer playing games all day.” John set out to prove the value of his education in an interesting way: by saving them money. “They wanted to buy a home security system.
Instead of buying a commercial product, I said ‘I can spend $60 on Raspberry Pi and a web cam.’ I built the system for them and they were, like, ‘Wow. This is something that is very viable.’”
Now in his third year, John continues to both develop his expertise and give back. He currently serves as president of the local ACM chapter and spends time tutoring others. Along the way, he developed tips for students to lay a great foundation for a computer science career. First, “get an internship that has a high percentage of programming time,” even if it is not for a traditional software firm. Next, “find a problem that you or one your parents are facing and solve it with code.” For example, one of John’s friends wanted to order new speakers before they sold out on the release date. Rather than abandoning his friend to chance, John wrote a program to order it immediately without being present. John is passionate about the applications available to programmers today. “If you like technology and want to make cool stuff, CS is the way to go. If you can think about it, you can make it.”
What’s next for John? “I intend to be a Developer Evangelist.” The computer science role combines marketing, programming, and teaching. “Companies have developers who go to national conferences and teach people how to use their product, collect feedback, work on solutions, and return.” And coming full-circle, John sees himself visiting hackathons like Citrus Hack, where he got his start in computer science.