Firmware Software Engineer

Duration:  12 Months

Pay Rate: 85-90/HR. on W2

RESPONSIBILITIES

  • Design and implement components at all layers of the system, e.g. kernel, display and graphics
  • Design and implement drivers and services that operate efficiently in a constrained environment yet when pressed can efficiently deliver large volumes of data with low-latency and high-bandwidth.
  • Own the definition of one or more work streams focused on hardware bringup, peripheral drivers and communication, silicon integration and power and performance management and optimization.
  • Debug complex, system-level, multi-component issues that typically span across multiple layers from kernel to application.
  • Profile performance problems and drive optimizations that span the entire software stack.
  • Bring up new devices and lead debugging and performance tuning exercises that span multiple hardware/firmware/software teams.
  • Understand software components from multiple partner teams, lead the integration of those components into the unified product code base, and drive their continued development.

Minimum qualifications:

  • Bachelor’s degree in computer science, Computer Engineering, relevant technical field, or equivalent practical experience.
  • 4+ years' Software Engineering experience in the following: device driver development, embedded systems, or operating systems.
  • 4+ years’ experience working on systems software in a large-scale C/C++ code base.
  • 2+ years’ experience defining and driving technical work streams and providing technical leadership for software engineering teams.
  • Experience with Software Development processes including source control, bug tracking, and design documentation.
  • Experience in hardware bring-up using interfaces like ADC, GPIO, SPI, I2C, etc.
  • Experience in one or more of the following areas: BSP/Board Support Package, Operating Systems, Android OS, RTOS, Bootloader, Power Management, Linux, Graphics and Display Drivers, MCU (Microcontroller).
  • Experience developing, debugging, and shipping software products on large code bases that span platforms and tools.

Preferred qualifications:

  • Deep specialized experience in two or more of the following areas: BSP/Board Support Package, Operating Systems, CoreOS, Kernel, Android Kernel, Bootloader, Power Management, RTOS, Linux, Graphics and Display Drivers, MCU (Microcontroller).

Demonstrated experience working collaboratively in cross-functional teams.