Embedded Firmware and Software Engineer
Bios/uefi
Desktop Support
Developer
DevOps
Driver Development
Dsp
Embedded
Embedded Development
Embedded Firmware
Embedded Linux
Embedded Operating Systems
Embedded Software
Embedded System
Embedded Systems
End User Support
Engineering
Firmware Development
Hardware Engineering
Hardware Software Co Design
Linux
Operating System
Operating Systems
Programming
Programming Language
Programming Languages
RTOS
Software Development
Software Engineer
Software Engineering
Systems
Technical Support
Unix Operating System
Job Description
Join a team responsible for building and improving embedded firmware and software that enables reliable hardware operation.
Key Responsibilities
- Prepare and create instructional technical manuscripts for firmware operation
- Allocate resources and develop detailed plans to complete programming projects and verify firmware is functioning properly
- Design firmware enhancements, updates, and programming changes across portions and subsystems, including:
- DSP
- Embedded code
- EFI drivers
- EFI applications
- BIOS/UEFI
- Analyze architecture and determine coding, programming, and integration activities required to meet general objectives
- Write and execute complete testing plans, protocols, and documentation for assigned application portions
- Create solutions for code issues and integrate changes into the application architecture
- Lead a project team of software firmware engineers and internal or outsourced development partners to deliver reliable, cost-effective, high-quality solutions for assigned system portions or subsystems
- Collaborate and communicate with management and development partners on firmware design status, project progress, and issue resolution
- Represent the software/firmware engineering team across larger and more-complex development projects, from microarchitecture design through firmware architecture and development
- Partner with cross-functional teams (architects, hardware engineers, software developers, product managers) to ensure firmware requirements and specifications are clearly defined
- Stay current on firmware technology trends and provide recommendations for improvement
Required Qualifications
- Four-year or Graduate Degree in Computer Science, Information Systems, Electrical Engineering, or a related discipline, or commensurate work experience/demonstrated competence
- 4-6 years of work experience, preferably in firmware development or a related field
- Alternative pathway: advanced degree with 3-5 years of work experience
- Agile Methodology
- Strong debugging and results orientation
- Effective communication and learning agility
- Digital fluency and customer centricity
- Ability to respond to moderately complex issues within established guidelines
Skills & Tools
- Algorithms
- C and C++
- Embedded Software and Embedded Systems
- Firmware and Firmware Development
- Debugging
- Embedded and real-time systems: Real-Time Operating Systems
- Operating systems fundamentals
- Version control with Git
- Linux
- Software development and software engineering
- New Product Development
- Computer engineering and computer science foundations
- Electrical engineering foundations
- Python
- Impacts multiple teams and may act as team or project leader to guide team activities and facilitate information validation and team decisions
Technologies (Included)
- C
- C++
- DSP
- EFI drivers
- EFI applications
- BIOS/UEFI
- Python
- Git
- Linux
- Real-Time Operating Systems
- Operating Systems
Location and Schedule
- Location: Spring, TX (onsite)
- Schedule: Full time
- Shift: No shift premium (United States of America)
- Salary: USD 105,050 - 161,800 per yearly
Benefits
- Health insurance
- Dental insurance
- Vision insurance
- Long term/short term disability insurance
- Employee assistance program
- Flexible spending account
- Life insurance
- 4-12 weeks fully paid parental leave based on tenure
- 11 paid holidays
- Additional flexible paid vacation and sick leave (US benefits overview)
Impact and Complexity
- Impact & Scope: Impacts multiple teams; may act as a team or project leader to direct team activities and facilitate information validation and team decision making
- Complexity: Responds to moderately complex issues within established guidelines
Disclaimer: This job description describes the general nature and level of work performed in this role. It is not intended to be an exhaustive list of all duties, skills, responsibilities, knowledge, etc. These may be subject to change and additional functions may be assigned as needed by management.