Chun Hao “Charles” Wang isn’t one to brag, so it took until his fourth week at Hack Reactor for word to get out that he’s an accomplished cello player. While his passion for coding is a relatively recent phenomenon—he started a year and a half ago—he has been playing the cello for about 14 years.
“I didn’t like it at first,” he says, of the large string instrument. “It’s really big, very clunky.” With persistence (and parental encouragement), he kept at it, made friends through music, and before too long, he was hooked. Wang performed in orchestras and chamber ensembles over the years. Eventually, he earned himself a spot in the San Francisco Symphony Youth Orchestra, and toured Europe with them.
Though his studies have taken him in a different direction professionally, Wang has developed a YouTube following of over 4,000 subscribers with his sonorous cello and piano arrangements. This one man quartet rendition of Pachelbel's Canon in D has over 160,000 views on YouTube:
While programming and music might seem like opposite pursuits, Wang finds plenty of similarities between the two.
"There are many different ways to play the same passage of music," he notes. "As a cellist, I constantly have to make technical decisions on fingering and bow technique to produce a desired result in my music. Similarly, in programming, there are many different ways and techniques to solve a problem. For example, I can choose to solve a problem iteratively or recursively. They are both valid ways, but I need to make a decision on which methods to use. As a programmer and a musician, I have to go through my bag of tricks and a make a technical decision on how I would like to implement things."
Both music and coding combine precision and personal style.
"Yo Yo Ma and Rostropovich can play the same piece and they sound very different," Wang explains. "Every musician has a different way of interpreting music that is very personal. At Hack Reactor, when we're pair programming, I notice that sometimes my partner will have a very different way of solving a problem. We still get the same results in the end, but it was simply a personal preference for doing it one way or another."
Wang got the taste for coding by learning C++ and Objective C, and eventually building apps.
“I would stay up really late just trying to debug or make my app work. I realized, I really like this, why don’t I try to make this a career?”
That was a bold choice for someone who could also choose to be a musician or a physicist—after studying physics as an undergrad at U.C. Berkeley, Wang worked with Nobel Prize winning astrophysicist Saul Perlmutter on supernovas and gravitational lensing. Later he went into electrical design. But it was coding that began to obsess him more than anything else, and he started to look into programming schools. Hack Reactor’s reviews on Quora and Yelp and student outcomes he found on LinkedIn won him over.
“A lot of [schools] were saying, you come in here, you come out as junior.”
Hack Reactor graduates typically take roles as mid-level Software Engineers, and some start at a senior level directly out of the school.
In time, Wang may look for ways for his different loves to converge into projects and ventures. He’s thought about building an app to help musicians find gigs by connecting them with venues within a certain radius. He might even work on a project that involves coding, music and physics by exploring sound files:
“I just talked to a friend about understanding data compression. Is there a better way of preserving the sound? That’s a possibility.”
Whatever he ends up doing, it’s worth keeping an eye on this student with a unique set of high-level abilities.