A month after Nam Vu earned a bachelor’s degree in psychology and liberal arts, he decided to take an abrupt and unusual turn into the world of computer programming. Attracted by the job prospects in tech, Vu enrolled at LSU to pursue a second undergraduate degree — this one in computer science, despite no background whatsoever in the field.
“When I came into computer science I had no experience,” he says. “I wasn’t really much of a tech-savvy person. I was using a MacBook Pro and an iPhone. That was as much experience as I had.”
His first computer science class at LSU was a rude awakening. “It didn’t make a lot of sense,” he says. “I understood the lecture but when we came to our first lab and had to write our own code, I didn’t really know which piece of code should go where or how to compile a program.
Much has changed over the past three years. The now-senior student has transcended those early difficulties to become an expert coder focused on the complex discipline of systems programming and design. He has tutored less-experienced students, tackled multifaceted coding projects and continues to explore multiple job prospects in his field as he wraps up his second degree.
Challenges and Perseverance
Vu’s struggles over his first two semesters in computer science were so profound that he wondered if he had made a mistake in pursuing a tech career. He pondered the possibility of taking a degree route focused more on math, which he had enjoyed in high school, instead of programming. Still, he says he never considered dropping out despite already having a college degree in his pocket and a standing job offer from a previous employer.
“I don’t think I have it in me to give up and walk away,” he says. “At some point I realized this is my second time going to college. I really wanted to succeed and do much better than my first time. I wanted to learn something.”
The turning point, he says, was when he decided to supplement his coursework with online coding classes and other resources. Those self-guided lessons helped him understand that at its core programming is about problem solving.
“Every time we solved a problem through a program, it just made me happy,” he says. “That’s the point I decided I wanted to be a good programmer. After spending more time on it I realized I really enjoyed programming.”
Vu credits his friends at LSU with helping him overcome his challenges and early self-doubt. “The people around me, my friends, encouraged me,” he says. “Coming together and trying to do better than each other was the reason I got better.”
He also leaned on his experience conducting research while pursuing his psychology degree, where he learned to track down vital information that was not immediately available to him and to build off the work of scholars that came before him..
“It’s important to know where to look, find the right sources, and understand the previous studies,” he says. “I’ve found that these type of skills are very important, especially in the workplace, because often times a programmer will not start a project from scratch, but rather continuing a previous implementation. So learning how to research and understanding previous works will help save time, even money, and definitely tons of headaches for both you and the company you work for.”
A Project and a Path
Last semester Vu tackled a complex project for professor Golden Richard III, a world-renowned malware analyst, that involved creating an entire file system from scratch. “That was one of the best classes I’ve taken at LSU,” Vu says.
Vu and his project teammate were consumed by the effort, working late nights throughout the semester, often testing their system only to have it fail and force a reset from scratch. In the end the work represented a defining moment for Vu, who came to understand he wanted to be a systems programmer — typically installing, customizing and maintaining an organization’s operating system. “It was one of the best things I’ve ever experienced in my life,” he says.
Vu is currently leveraging that experience through a project for a prospective employer by writing a back-end SQL database chat API, a task he hopes to translate into a full-time position.
Lessons Learned and Advice
Vu says his early struggles gave him the focus and drive to power through complex programming challenges and produce positive results.
“If someone assigns me a project I don’t know anything about, it might take me a long time, but I have the determination to work and get the project done,” he says. “And I think that’s what’s important as a computer scientist to understand: not to give up when your program breaks down. You just have to keep working on your project.”
Vu is a strong advocate for computer science students supplementing their college coursework with projects and learning on their own, especially for students who don’t have a strong coding background heading into their freshman year.
“School will only teach you so much,” he says. “In computer science, when you learn one thing it’s going to connect to another thing. So it’s always good to have a broad range of knowledge across the field.”