System Software Engineers
|Recommended Degree Level||Bachelor|
|Number of Jobs, 2012||391,700|
|Annual Job Growth Rate||3.7%|
|Job Openings per Year (est.)||16,800|
- Most systems software developers have bachelor’s degrees in computer science or electrical engineering.
- The field requires a solid understanding of how low-level software interfaces with hardware, so highly technical degrees provide the best foundation.
- Some employers prefer a master’s degree or Ph.D for senior software architect positions.
- Developers advance through experience and continuous learning of evolving technologies.
- Technical professionals with related backgrounds, such as quality assurance, sometimes transition to software development.
What you study:
Study topics include:
- Low-level programming
- Data structures
- Operating systems
- Algorithm design
- Software engineering
- Computer organization
- Computer networking
A Day in the Life
Your morning as a systems software developer begins at home with strong coffee and several urgent messages from the test lab. It is never a good sign when quality assurance engineers become agitated. According to test results, the new firmware enhancements have broken the wireless networking chipset’s ability to stay locked on a frequency. An important telecommunications customer is demanding the enhancements by next week, so this failure is critical. Your job today will be to troubleshoot the firmware, also called system software, and fix the problem. The error could be a simple coding misstep or a faulty algorithm. You hope fervently for the former.
After verifying the software bug with the test team, you review the new code for errors and see none. You conduct more sophisticated communications tests in the lab and narrow the problem to one specific scenario. When wireless signal strength fluctuates, the new system compensates too slowly and loses its lock. You review the relevant code with a colleague and find that a new function is overwriting a part of memory that is supposed to hold information about signal strength.
While your colleague makes the changes and retests the firmware, you work on another project creating a module to support a new wireless protocol. The customer's product, a wireless access point, has some idiosyncrasies that need special handling. Your development team holds a conference call with the customer's lead engineers to review the platform's technical specifications. The next two hours are spent exhaustively mapping requirements, which must be thoroughly documented and formally approved prior to writing code.
After the call, you and your team order dinner and plan the development work. You are excited about beginning a project based on new technology and will spend much of tomorrow documenting your proposed approach. You will then meet with management and peers to review the proposal, and the conversations are sure to be technically and creatively challenging.
Certifications and Licensing
Certifications are generally optional but can help candidates obtain a position or promotion. The Software Engineering Institute at Carnegie Mellon University offers several highly respected certifications. In particular, the software architecture certification addresses real-time, embedded systems development. The IEEE offers the Certified Software Development Associate, Certified Software Development Professional, Wireless Communication Engineering Technologies, and Certified Biometrics Professional certifications.
Full-time versus part-time:
Most systems software developers work full-time. Many contribute to complex projects that require some overtime in order to meet deadlines.
The majority of systems software developers are employed in computer systems design, electronic instruments manufacturing, and the telecommunications and computer equipment industries. They usually work on teams in offices and labs although some are able to telecommute.
- U.S. Department of Labor, Occupational Outlook Handbook – The site provides a broad introduction to the software development field, which includes systems as well as application software. It highlights each specialization and the positive growth outlook for this creative profession. For a closer look at systems software development, also consult professional websites in the field.
- IEEE – The IEEE is the largest global professional association for technical advancement and engineering standards. The site links to sister sites for many IEEE technology specializations, which is valuable for learning about options in systems software development. Rich career and student resources make this website essential for people exploring technical interests.
- Association for Computing Machinery – The ACM is a worldwide educational and scientific society for the computing fields. The site includes a timely career news section for students and professionals and a computing news section with articles on key developments in the field.
- Software Engineering Institute – The SEI is a federally funded academic center focused on research and best practices in software engineering. The site includes an extensive library of webinars, podcasts and publications on a range of software engineering and development topics.