BIOS Developer
Listed on 2026-09-26
-
Software Development
Embedded Software Engineer, C++ Developer, Software Engineer, Embedded Systems/ Firmware/ IoT
Please share the skill matrix for the highlighted skills below-
UEFI, BIOs
- Development Experience
EDK-2, WMI
- Hands on experience
C/C++ - Hands on expertise
ARM embedded architecture knowledge
Prior Experience with Windows on ARM (WOA)
Role Overview:
We are seeking a software developer to work on Windows on ARM (WOA) / Qualcomm's Windows on Snapdragon (WOS) systems. The candidate will develop, test, and optimize software for ARM systems, working closely with hardware engineers to ensure the smooth operation of devices and systems. This position requires a deep understanding of UEFI, BIOS, EDK-2, WMI infrastructure, Embedded Controller architectures, programming languages like C/C++/Python, and hands-on experience with real-time operating systems (RTOS).
A deep knowledge of ARM architecture and working in an Agile & Scrum environment is essential.
- Design and develop software for Qualcomm ARM Snapdragon SOC hardware platforms.
- Write efficient, reliable, and optimized code in C/C++ and other programming languages for ARM systems to ensure system functionality and reliability.
- Collaborate with hardware architects to ensure seamless integration of software and hardware components.
- Develop software that meets performance, reliability, and scalability standards.
- Optimize software performance, including memory usage, processing speed, and energy efficiency.
- Participate in system architecture design and contribute to technical decision-making.
- Develop and maintain technical documentation for software development and testing.
- Document software design, coding practices, and maintenance procedures.
- Ensure the software meets industry standards, safety regulations, and project specifications.
- Analyze project requirements and translate them into ARM software design specifications.
- Write efficient, reusable modules that interface with hardware components such as sensors, actuators, and communication modules.
- Test and debug software using simulation tools, hardware emulators, and on-target testing methods in simulated environments before deploying to real-world devices.
- Collaborate with cross-functional teams to define software requirements and validate product functionality.
- Provide technical support and troubleshooting for software-related issues.
- Work in hybrid development environments (predictive and adaptive).
Skills and Qualifications
- Experience with developing firmware applications on ARM processors.
- Expertise in ARM embedded architecture.
- Expertise in C programming.
- Experience working with UEFI Architecture and the EDK-2 platform.
- Design and implement UEFI/BIOSmodules in PEIM and DXE stages.
- Engage in bare-metal development involving communication protocols such as UART, SPI, I2C, ADC, and DAC.
- Experienced in debugging embedded firmware applications using JTAG, SWD debuggers.
- Familiarity with Python, batch files, command shells, and other relevant scripting languages.
- Familiarity with version control systems Git Hub and CICD developmentpipelines.
- Familiarity with bare metal systems, board bring-up, and boot loader architecture.
- Familiarity with using logic analyzers, I2C analyzers, oscilloscopes, and other relevant tools.
- Understanding basic analog and digital electronic concepts and ability to understand HW schematics.
- Ability to understand technical specifications, data sheets, and develop firmware solutions based on requirements.
- Solid experience with RTOS (Real-Time Operating Systems), embedded Linux, and other embedded platforms like ThreadX and Zephyr OS.
- Understanding low-level hardware architecture, software optimization, memory management, and real-time processing.
- Master's or Bachelor's degree in computer science, Computer Engineering, Electrical Engineering, Mathematics or equivalent.
- Minimum 2years of professional experience.
- Experience in Agile/Scrum environment.
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).