|
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.
|