Software Engineering Insider
home button

 

For Hyrum Wright, Open-Source Software Coding Opened Career Doors

By Rick Docksai

Hyrum Wright, PhD
Hyrum Wright, PhD

Volunteering experience—every young person who’s got a career field in mind looks for it, most often through internships and fellowships. If you’re a student of software engineering, though, then there might be no better place to look than the domain of open-source software development. That’s according to Hyrum Wright, who is now happily working as a software engineer in the Pittsburgh office of Google. The path to his present-day job started, he says, with the hours that he logged weekly volunteering code to the collaborative software program Subversion.

“I worked on it first as a hobby and then as a way to feed my family, because I have four kids,” Wright says.

An open-source software program is any program whose designers allow users to alter as they see fit and share with other users. It is an increasingly popular mode of software development that has given rise to thousands of networks of developers who contribute their time and talent to making existing open-source programs better.

Wright started working on open-source code for Subversion while a graduate student at the University of Texas-Austin, from which he graduated last May with a PhD in software engineering. He first downloaded Subversion to use it in some of his courses. But then he discovered the online network of Subversion contributors. Intrigued, he decided to get involved. It was a decision that he says paid off at many junctures throughout his years in school and, later on, during his job search. [Get an Insider look at the UT Austin Software Engineering programs with Dr. Dewayne Perry]

Plugging in to New Opportunities

Once he had spent some time in the Subversion network and gotten a good feel for the programming, he sought out more opportunities to contribute to it. He discovered that the network needed a release manager—i.e., someone to oversee distribution and dissemination of new versions of the software to users among the public—so he stepped up. He would serve as Subversion’s release manager for four consecutive years, 2007 to 2011, while also consistently contributing code modifications to the online forum.

Pretty soon, companies were calling Wright and offering him paid consultant assignments.

“I don’t want to give the impression that I’m the key guy in the project. I’m just one guy in it, one of many, but it was a case where I had the time to get very involved in the development process,” he says.

Over time, other individuals in that network started noticing him. Some of them happened to be in IT companies in need of people with Wright’s expertise. Pretty soon, companies were calling Wright and offering him paid consultant assignments. By his final semester, he was working on his dissertation while working half-time as an IT consultant.

“Not a whole lot of professions have that type of opportunity for people that are still in school, that don’t have that experience star on their resume, they can create that experience,” he says. “The barrier of entry is so low.”

His Subversion work helped him academically, as well. Wright made Subversion’s open-source model and best practices for release management the subject of his dissertation.

“While I was working on Subversion, I said ‘well, has anyone looked at this from an academic research perspective?’ I said ‘this looks like it could be a good area for research,’” he says.

With his graduation date near, he was ready to shift over to full-time work, and he learned that Google was hiring. His network in Subversion was critical here, too—some of them were Google employees, and they were happy to refer him. He secured his Google job last July, a mere three months after graduation.

“Working in open-source software was a great way to establish a great professional network, so that when it was time to leave school, I could look around it and say ‘what are my options?’” he says. “I was able to use that network to make the jump to Google.”

You Can Open-Source, Too

Wright encourages any student seriously interested in software engineering to get involved in open-sourcing, as well. Finding a few good open-source communities is easy—just go online—and the learning experience that one finds in them is, in his opinion, as valuable as anything one might learn in a classroom.

"Take it upon yourself to find chances to contribute." ~ Hyrum Wright

“You’re getting involved in real stuff. You’re getting involved in real software that other people are going to use. And you’re solving a problem that is unique. And you’re working with other people, so you’re getting feedback as you’re working,” he says.

Some groups hold in-person meetings. Others exist strictly in cyberspace, and according to Wright, they are no less fruitful for it. Their e-mail listservs are always buzzing with members posting coding that they created, coding problems that they would like someone to try and solve, and the gamut of questions and comments. Join a few such listservs, Wright says, and you’ll get plugged in to lots of opportunities to try out new programming and to try your hand at working on some programming yourself.

Be prepared for corrections and criticism, though. Wright notes that when you are a novice in the open-source world, you’ll make your fair share of mistakes in your coding, and others who are further along will point them out to you. Hear them out, and try not to be defensive, and you will learn much.

“It’s hard when someone says your code is junk. Just know that they are not saying you are junk. They’re saying you need to improve the coding. Let them teach you. If you can humble yourself like that, then it’s a great opportunity,” he says.

And above all, he says, take it upon yourself to find chances to contribute. That means not waiting for someone in a forum to post a coding problem for you to troubleshoot. Instead, study coding and try to find any problems yourself. When you figure out the solution, let the forum know.

“Being proactive and taking the initiative is a great skill to have, and open-source is a great way to develop that,” he says.

 

Home  |   About Us   |  Contact
© 2011-2014 SoftwareEngineerInsider.com. All Rights Reserved.