Firmware AND "Windows on ARM"

  • Houston, TX
  • Posted 1 day ago | Updated 1 day ago

Overview

On Site
Depends on Experience
Full Time

Skills

Qualcomm Snapdragon ARM SoCs.
UEFI/BIOS modules using EDK-2 across PEIM and DXE phases.

Job Details

Role Overview:

We are seeking an experienced 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.

Firmware Developer with deep expertise in ARM architecture to contribute to the development of Windows on ARM (WOA) and Windows on Snapdragon (WOS) systems

Roles and Responsibilities Include :

  • Design, develop, and optimize firmware for Qualcomm Snapdragon ARM SoCs.
  • Develop UEFI/BIOS modules using EDK-2 across PEIM and DXE phases.
  • Collaborate with hardware teams for integration, board bring-up, and bootloader development.
  • Engage in low-level, bare-metal development and debugging using tools like JTAG, SWD, and oscilloscopes.
  • Implement communication interfaces (UART, SPI, I2C, ADC, DAC).
  • Write efficient C/C++ code with scripting support in Python or shell.
  • Participate in system design, performance tuning, and documentation.
  • Test and debug firmware in both simulated and on-target environments.
  • Operate in Agile/Scrum and hybrid development environments.

Technical Skills Include :

  • Embedded firmware development on ARM platforms.
  • Proficiency in C/C++ and scripting (Python, shell).
  • Strong experience with UEFI/BIOS development and EDK-2 platform.
  • ARM architecture and real-time operating systems.
  • Familiar with Git, CI/CD, debugging tools, and reading hardware schematics.

Key Responsibilities:

  • 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 interfaces 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 deployment 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).

Work Experience

Required 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.
  • Engage in bare-metal development involving communication protocols such as UART, SPI, I2C, ADC, and DAC.
  • Familiarity with Python, batch files, command shells, and other relevant scripting languages.
  • Familiarity with version control systems GitHub and CICD development pipelines.
  • Familiarity with bare metal systems, board bring-up, and bootloader architecture.
  • Design and implement UEFI/BIOS modules in PEIM and DXE stages.
  • Experienced in debugging embedded firmware applications using JTAG, SWD debuggers.
  • 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.

Preferred Skills:

  • Experience with ARM architecture, PIC, EDK-2 and other microcontroller architectures.
  • Experience with embedded security and encryption protocols.
  • Knowledge of communication protocols such as UART, SPI, I2C, CAN, or Ethernet.
  • Knowledge of Python or other scripting languages for testing automation.
  • Familiarity with Agile development methodologies and tools like ADO.
  • Understanding of power management techniques for low-power embedded systems.

Education and Experience:

  • Master s or bachelor s degree in computer science, Computer Engineering, Electrical Engineering, Mathematics or equivalent.
  • Minimum 5 years of professional experience.
  • Experience in Agile/Scrum environment.
Employers have access to artificial intelligence language tools (“AI”) that help generate and enhance job descriptions and AI may have been used to create this description. The position description has been reviewed for accuracy and Dice believes it to correctly reflect the job opportunity.

About Apexon