Monday, 24 December 2012

Career Focus: Software Engineering


Career Focus: Software Engineering

BY JOHN R. PLATT

A few weeks ago, the IBM-built supercomputer named Watson made worldwide headlines by beating several human contestants on the game show, Jeopardy!. It's a feat that would not have been possible without the software engineers behind the scenes. [Editor's Note: On Monday, 28 February, physicist and Congressman Rush Holt (D-N.J.) saved face for humans by topping Watson in the first of three rounds of an exhibition Jeopardy! match.]


"Software engineering is one of the fastest growing fields in the world today," says Ben Amaba, worldwide executive for IBM Complex Systems. "What we're seeing across all other disciplines is that software is becoming an invisible thread tying all disciplines together. Software is now embedded in almost all devices, mechanical devices all talk with each other, and developing products using software is faster and poses fewer risks than physical prototyping."

CAREER PROFILES
Sandra Robinson
Occupation:Software Engineer
Experience:30+ years
Employer:Lockheed Martin
+ See Sandra's full profile
Phillip LaPlante, PE
Occupation:Professor of Software Engineering
Experience:28 years
Employer:Penn State University
+ See Phillip's full profile


Why Software Engineering is Important
Software engineering was recently dubbed the best job of 2011 by career site Career Cast, and magazines like Forbes and Fortune have also extolled the virtues and importance of the field. Heck, even toy company Mattel recently introduced Computer Engineer Barbie to help inspire young girls into the profession.
So why are these employees so valuable? Look no further than the often-cited Standish Group "Chaos" reports, which most recently (2009) found that only 32% of software projects are, in their terms, "successful." The Standish report found that 44% of software projects were "challenged," usually involving cost over-runs and late delivery, and a full 24% of projects failed. Since companies often can't afford these costly delays or failures, engineers who operate by a set of standard development principles, such as those defined in the Software Engineering Body of Knowledge (SWEBOK), can help keep costs down and products flowing out the door.
"Software engineers can also have higher innovation rates," says Amaba, "because they aren't tied to the physical world. Their only constraint is time. Other areas are more limited by materials and manpower."

The Field
According to the Bureau of Labor Statistics (BLS), the number of employed software engineers has grown more than 25 percent in the past decade, from 745,000 in 2001 to 1,206,000 in 2010. The earning potential for software engineers is also strong, with both computer systems and applications software engineers averaging more than $90,000 in annual wages in 2009, according to BLS data (see table below). Among all other engineering fields, only chemical engineers averaged higher annual wages in 2009 at just over $96,000.

Source: US Department of Labor/Bureau of Labor Statistics (Occupational Employment Surveys)
That doesn't mean there are jobs for everybody, but the prospects are good for software engineers, and they have one of the lowest levels of joblessness among engineering professions. According to the BLS, software engineering unemployment was 4.6% in 2010, compared to 5.4% for electrical engineers.
Chris Ruoff, Sr. Manager of Sales and Channel Development for the IEEE Computer Society points out that professional certifications, like the IEEE Computer Society's Certified Software Development Associate and Certified Software Development Professional, are now becoming recommended or even required by companies seeking to hire software engineers. "More and more organizations are recognizing the benefit of hiring someone who has a solid foundation in software engineering and provides a lower risk as a new hire." The SWEBOK Guide is used world-wide in academia and in industry and provides a great resource to build this foundation.

What Employers are Looking For
"Software engineers need good communication skills, both spoken and written," says Amaba. "They need an analytical capability, and they need to be able to manage a project from end to end while working well with their colleagues." He says employees also need to be able to keep up with rapidly changing technologies. "Also, the more they know about the social sciences, physical sciences and mathematical sciences, the better they will be able to succeed."
"As a hiring manager, I'm looking for candidates to show me two things: that they are smart and can get things done," says Jensen Crawford, director of engineering for Fetch Technologies. "The former includes being able to communicate about, analyze and solve problems. The latter is being able to deliver those solutions." If you're looking for experience, Crawford recommends a few steps, especially for anyone who is still in school: "Contribute to open source projects, work as an intern, and enter programming contests," he says. "Having proof that you delivered software will give you a real advantage over other candidates."
Software engineering will be of great need in a number of fields in the coming years, says Bruce Douglas, chief evangelist for IBM Rational. A few examples include probability and statistics, environmental engineering, economics, ethics, and electric vehicle mechanics. "Software engineers with knowledge and fundamentals on electric vehicles will be in better position to create complex battery systems, electric drive units and cabin electronics," he says.
"What we have found is you need product-oriented people," says Arvind Srinivasan, chief technology officer and co-founder of ZL Technologies. "They need to be able to work on a project from A to Z and solve problems at every level, not just be able to write code. We hire people with a mathematical background and a strong engineering sense." Srinivasan says one of the main things he wants to see from a job candidate is if they have already shipped a product. "If not, it doesn't matter how well you write code."
A software engineer is the best support engineer, says Srinivasan. "They can support what they write, find a problem and fix it. They have a good sense of what the customer is thinking and can respond to customer requirements. They also understand the quality assurance process and make sure that products are of high value."
All of the people I spoke with this article discussed how important software engineering is not just for today, but for the future. "Software engineering is going to change the world," says Amaba. "It's becoming embedded in the devices we all use every day." Srinivasan agrees: "Software engineering is the nuts and bolts for the entire future. You need software for everything these days. It's deeper than deep. I think it's going to become the new English."

IEEE Software Engineering Resources
You can find information on the IEEE Computer Society's certification programs here.
The Guide to the Software Engineering Body of Knowledge (SWEBOK) is available here.



Software Engineering careerTell us what you thought of this article

No comments:

Post a Comment

Note: only a member of this blog may post a comment.