Software Application Engineers
|Recommended Degree Level||Bachelor|
|Number of Jobs, 2012||586,340|
|Annual Job Growth Rate||3.3%|
|Job Openings per Year (est.)||19,790|
What's Needed: Software application engineers usually have a bachelor’s degree in computer science, software engineering, or a related field. Strong work experience in lieu of a degree is acceptable for some positions. Senior roles such as software architect may require an advanced degree in computer science or engineering.
What you study:
Study topics include:
- Computer architecture
- Communication protocols
- Operating systems
- Networking technologies
- Programming languages and methods
- Web applications
A quick synopsis of software application engineering careers. Produced for the US Department of Labor.
A Day in the Life
As a software application engineer, you design and maintain computer applications that are often vital to how people work, learn, and play. Your day begins with a meeting to review the current project: developing a Web-based business intelligence application. Each team member gives an update, and you report on your progress designing an interface to the SQL database used to store customer data.
You spend the rest of the morning coding the final piece of an application module that you designed. After an hour lunch with colleagues, you head to the lab to conduct unit testing on your work. Unit testing involves running quality assurance on your latest code to ensure that it functions as designed. You find a bug with one of the user commands and fix it from the lab bench computer. You retest to verify the fix and check in your code to the team's software baseline.
After rebuilding the application's executable file, you begin system testing to determine how your new software works on its intended platform. You find an issue with database access from one of the modules and spend the next two hours debugging it with the database developer. After testing the fix, you check in your changes and notify the team of the update. One of the developers is at a customer site, and you send him the binary file for testing in the customer's live environment.
As the new application's features must be accurately documented, you spend the last part of the afternoon updating project documentation. Just as you prepare to leave, your colleague at the customer site calls with an urgent request. The customer requires an emergency software patch due to a system issue and would like to test the update tonight. You graciously agree to stay late and work with the customer's lead developer. With both your family and pizza on speed dial, you settle in for an evening of creative engineering.
Certifications and Licensing
Certifications are optional but can enhance job opportunities. The IEEE Computer Society offers the vendor-neutral Certified Software Development Associate (CSDA) for entry-level software engineers and the Certified Software Development Professional (CSDP) for established professionals. Some technology vendors also have certification programs that may be useful for certain positions.
Full-time versus part-time:
Most software application engineers work a full-time week. As many engineers collaborate across time zones, early or late hours may be required. In addition, development teams frequently work overtime to meet project deadlines.
Many software application engineers work for technology companies while others hold developer jobs in other industries. Positions may be permanent or contract, and some engineers telecommute. Those working closely with customers may spend time at customer sites.
- U.S. Department of Labor, Occupational Outlook Handbook – The site introduces the field of software development, which includes application engineering. As the profession is broad, descriptions focus on common activities, skills, and tools. For a more in-depth look at application engineering, visit sites for computing students and professionals.
- IEEE Computer Society – The IEEE Computer Society is the foremost membership organization for computing professionals. The site hosts a student community with resources such as scholarships, employer partnerships, and a directory of free technical courses. Other sections include a jobs board, e-learning campus, and information on certifications.
- The Computing Research Association – The CRA is a nonprofit dedicated to advancing education and research in the computing field. The site has an extensive student section that includes career development and educational resources. A jobs board lists openings for computing professionals and educators.
- Association for Computing Machinery – ACM is an international society for the scientific and educational advancement of computing. The site hosts an extensive digital library with publications representing application engineering as well as other areas. The Career & Job Center section posts job listings and a large content library focusing on career guidance.