Firmware Engineer

Houston, Texas

Invent Staffing
Job Expired - Click here to search for similar jobs
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).
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.
  • Design and implement UEFI/BIOS modules 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 GitHub and CICD development pipelines.
  • Familiarity with bare metal systems, board bring-up, and bootloader 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.
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 2 years of professional experience.
  • Experience in Agile/Scrum environment
Date Posted: 31 March 2025
Job Expired - Click here to search for similar jobs