System Software Engineer, Device Drivers-San Jose, CA
Position Description
Our client is looking for talented and passionate software programmers to develop device drivers and system software for next-generation mobile devices.
Duties and Responsibilities
The Device Driver / System Software Developer will be part of a team which would define, design, implement, benchmark, and test the BSP, device drivers and system software for next generation mobile devices.
Qualificiations
- Smart, analytical, and creative problem solver
- Great verbal and written communication skills
- Professional experience with C/C++
- BSCS, BSEE, or equivalent
- Expertise in design and development of device drivers for WinCE/WinMobile or Android/Linux 5+ years of software expertise in at least one of the following technical areas:
- Expertise in the development of BSP & HAL for ARM family boards and writing code and solving problems with initialization of chip, board memories, peripherals and board bring up
- Expertise in WinCE/WinMobile internals, device driver architecture, kernel level debugging, build systems and power management
- Expertise in development and debugging of connectivity/communication drivers like 802.11, Bluetooth, USB and UART
- Expertise in development and debugging of multimedia drivers like audio, video and camera
- Expertise in development and debugging of mobile platform drivers like GPS receiver, FM/AM Radio, LCD, Touch Screen, Haptics, Keypad and memory card
- Expertise in development and debugging of MEMS sensors such as accelerometers, light sensors, proximity sensors and magnetic sensors
- Expertise in reading hardware schematics and debugging HW/SW interfaces using logic analyzers, oscilloscopes, JTAG, ICE debuggers and Profilers
- Expertise with setting up and maintaining design tools (configuration management, source control, build management, automation and unit test tool harness, IDE, issue tracking system, collaboration system, etc.)
- Experience with embedded SOC processors, especially Tegra, OMAP, XScale and other ARM core based processors
- Experience with 2D/3D graphics, GPUs and OpenGL ES standards is an asset
- Understanding of (and experience working with) design environments/techniques such as Test-Driven Development, Agile Development, Xtreme Programming, Object Oriented Design
- Strong interest in technology
- MS or PhD in computer science, computer engineering, or equivalent

