UT Austin Software Engineering
Texas-Austin’s Software-Engineering Graduates Keep Software Sectors Up to Speed
By Rick Docksai
While many positive traits may have helped Austin grab the number-five spot on Forbes’ 2012 list of the “10 Fastest-Growing Cities in the U.S,” a vibrant resident tech sector is indisputably important: Oracle, Facebook, Intel, KPAL, Microsoft, and LegalZoom all have offices in the city, and Dell has operations nearby. And that tech sector benefits greatly from the University of Texas-Austin’s software engineering program, which provides the companies a steady supply of capable new graduates every year.
“We have a lot of students who really want to stay here,” says Dewayne Perry, leader of software engineering and Director of the University’s Center for Advanced Research in Software Engineering. “There is a very large software sector here.”
Dr. Dewayne Perry, Leader of Software Engineering and Director of the University’s Center for Advanced Research in Software Engineering
Those students take up jobs at local startups—of which there are many—or at the established tech giants, according to Perry. The larger companies have IT researcher positions with commanding salaries and benefits, though some graduates like the startups’ dynamism and smaller office settings—even if those startups’ future successes are far less assured.
“It depends on how adventurous they are, because a startup is always a risk. And there are those who thrive on that kind of environment,” Perry says. “Others prefer a safer environment, like IBM.”
Still others follow in Perry’s footsteps and pursue academic careers. Perry remembers one graduate of seven or eight years ago who is now a tenured professor at the Texas State University, San Marcos. That path necessitates earning a doctorate, and thus a few more years of training than the tech company positions that one can pick up with a bachelor’s or master’s degree.
The Levels of Software Knowledge at the University of Texas at Austin
Students in the university’s software-engineering program have the choice of earning a bachelor’s, master’s, or doctoral degree. In the bachelor’s program, which constitutes a standard four years, they learn how to build and maintain software programs. Their senior year concludes with “capstone design projects,” software applications that each student designs on his or her own, or as part of a design team.
Forbes’ 2012 list of the “10 Fastest-Growing Cities in the U.S" ranks Austin 5th
Those applications are often a product that a company could theoretically sell on the market. Perry recalls one capstone project on which several seniors worked together to build an iPod-like system that would store music files in virtual memory—i.e., “in the cloud”—instead of in a chip, thereby allowing for practically infinite storage space. The final product was an app that a user could install right into a mobile phone.
By comparison, the master’s program, which takes one to two years to complete; and the doctorate program, which runs for three to four years; delve deeper into concept and theory. Students learn how to research, evaluate, and improve software products and systems.
“Our graduate and post-graduate programs are more about how to ask good research questions,” says Perry. “They learn to distinguish between a good research question and a bad one, and a good answer and a bad one, and hopefully, they will leave and they will ask good questions and answer them, as well.”
The master’s and doctoral students finish their programs with a thesis, not a capstone project, but it’s typical for a master’s student to create a real-life software project to demonstrate the thesis’s main points. For example, some of our work in the area of program analysis and automated test case generation use of the Alloy constraint solver system and often that research results in ways to increase the speed and efficiency of the analyses or to increase Alloy's scalability (that is, enable it to apply it to larger problems). [Check out PhD Grad, Hyrum Wright, Open Sourc Coding to UT Austin SE PhD Grad]
Students of all levels have a useful resource in the university’s Center for Advanced Research in Software Engineering, a multi-lab institute in which Perry and three fellow software-engineering professors conduct ongoing exploration of software design, with help from students who work in the labs for credit toward their degrees. Each professor works closely with small groups of from six to 10 students on design-related problems and solutions.
“We function very much as mentors,” Perry says. “The emphasis is on one-on one interaction.”
Students with research projects to complete have the lab and its systems at their disposal. They may work as lone researchers, with help from their professors. However, as the examples above prove, they are welcome to team up with other students if the size and scope of the project demands it.
“We encourage working in teams and working together,” Perry says. “Some of the things are bigger than just one student."
" We also encourage collaboration among Professors and their groups." Dr. Perry points out.
Passion and Profit in Software Engineering
The master’s degree is the program that the majority of Perry’s students choose. It may give the graduating student a competitive edge in software-engineering skills over his or her bachelor’s-only counterparts.
"Google and other tech giants give plenty of lucrative jobs to bachelor’s graduates." ~ Dr. Dewayne Perry
“If you're looking at your job simply from the standpoint of money, then your master's degree is probably your most cost-effective choice,” Perry says. “Having the broader research experience will put you in a better position in a lot of areas.”
A bachelor’s degree is still a great degree to get, though, if one doesn’t mind entering the workforce as an entry-level applicant. Perry says that Google and other tech giants give plenty of lucrative jobs to bachelor’s graduates.
“It depends very much on the interview process,” Perry says. “They’re looking for bright people, people who could go on to get a master’s degree or PhD if they choose.”
But if a student’s aspiration is academia, then a PhD is the way to go. Some well-known software-engineering academicians of Perry’s generation never earned a doctorate, Perry says, but the ever-increasing complexity of the field has raised the bar of admission. A young person will not get far in the teaching arena today without the added depth of knowledge that a PhD affords.
“It [getting a PhD] it is a union card nowadays,” Perry says.
A student needs to be deeply motivated by the pursuit of knowledge and desire for an increased research capability to go for the doctorate. Such was Perry’s motivation when he earned his doctorate from the Stevens Institute of Technology in New Jersey in 1978, and he has no regrets.
“It was more for self-satisfaction and reaching a certain level of academic achievement, and it actually changed things significantly for me,” he says.