03.11
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.]
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
|
|
|
"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."
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
Don't miss the recent Today's Engineer article, "IEEE-USA and IEEE Computer Society Cooperate in
New Professional Software Engineering Licensure Initiative."
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.

John R. Platt is a freelance writer and frequent
contributor to Today's Engineer, Scientific American, Mother
Nature Network and other publications.
Comments may be submitted to todaysengineer@ieee.org.
|