

Firmware Developer
Firmware is the software that integrates and interacts directly with hardware to control its operation, and may exist anywhere in a computing system from the central computing complex to management consoles, power supplies, and I/O adapters.
Firmware Developers design, develop, test and deliver systems that enable hardware to function. This role specializes in understanding the capabilities of hardware, firmware, Operating System and application interface layers, and uses the knowledge to deliver architecture and functional components to ensure end users can leverage all of a hardware system's capabilities.
Firmware Developers may: 1) alter, organize and model the functionality of software; 2) create component level design and architecture; 3) create & use design documentation, such as Functional Programming Specifications and high level design documents to implement identified components; 4) ensure that the implemented components are tested and ready to be integrated into the product; 5) provide fixes to defects identified by customers or internally. Understanding of and ability to develop using Secure Engineering practices is also critical for this role.
Firmware development can involve the following work approaches: collaboration with Designers to understand users and incorporate that understanding into design and development; application of agile methodologies throughout the entire development cycle, from design, code implementation/review, unit testing, functional testing, simulation, and real hardware integration testing; debugging reported problems, and designing, developing and testing code fixes.