Seeking Lead and Senior Embedded Software Engineer; Controller, Sensors and Displays for HOT Augmented Reality Start-up in Sunnyvale, CA or Plantation, FL.
Will get to work on a system that requires strict timing tolerances under heavy loads, novel approaches to displaying content, and much more.
Will get to make tough technical decisions that help shape the direction of our product.
- Architect, Design, Implement, Debug HW-SW drivers for our Platform, including but not limited to writing device drivers for memory (flash and DDR), SPI, I2C, and GPIO drivers. Architecture, Design will include writing the driver input/output details, peripheral usage, and memory usage details. Implement will be done to meet product ship acceptance timelines.
- Debug Timing, Race Conditions, Memory issues on a daily basis in a timely manner, and may include use of JTAG debuggers, logic analyzers, etc.
- Part of team to deliver full Platform SW to rest of our SW team, this includes writing drivers for all needed hw peripherals, writing the sw to boot the Operating System (including memory initialization, and platform initialization).
- May have to travel to factory to debug HW-SW issues onsite in order to build our hardware with quality and deliver units on time to various other teams.
- Work with other teams: HW, apps SW, middleware SW to debug cross-functional issues such as memory corruption, timing issues, and performance issues. Write detailed reports on the problem statement and how it was solved to be used as reference for future issues.
Must have skillsets
- 5+ years experience in embedded software development
- Fluent in the C language
- Experience with embedded development practices
- Experience desired in Linux and other micro kernels, with sensitivity to performance, memory utilization, and extensible architectures
- Experience in writing drivers for various peripherals over various interfaces: I2C, SPI, USB, PCIE
- Experience with using jtag debuggers, logic analyzers and other debuggers
- Experience in designing and implementing asynchronous or concurrent multithreaded systems
- Must understand common protocols for communication with hardware and other software modules
- Must be a good communicator and self-motivated to complete projects, and enjoy hw-sw debugging
- 2-4 years Experience with real-time and time-critical systems
- Experience in a high-volume production environment
- Experience with commonly-used mobile operating systems (i.e. Android or iOS)
- Ability to work directly with hardware team for device bringup and debugging a plus
- Experience with embedded databases or interprocessor communication layers is a plus
- Factory testing process experience is a plus
- BA/BS is required, MS or higher is preferred
Location: Sunnyvale, CA or Plantation, FL
Contract: 6-12+ Months, can convert to fulltime