Sr Firmware Engineer
Description

     

  • Maintain and enhance embedded software   for existing product lines.
  • Own the embedded software system   design cycle from requirements through launch and beyond.
  • Design, develop, code, test and debug embedded   software.
  • Integrate, verify and validate new   product designs and design changes.
  • Perform design and code reviews.
  • Interface with a cross-functional   engineering team.
  • Support the Tech Support team with   intimate product knowledge.
  • Contribute to a fun and innovative   work environment.
  • Work in an Agile environment using   Atlassian toolset
  • Up to 10% travel possible
Requirements

Experience:

  • Degree in Degree in Electrical, Electronic, Computer Science or Computer Engineering
  • 5+ years of experience

Technical Skills:

  • Strong understanding of computer architecture and embedded software development best practices, with significant experience in low level development and programming.
  • Familiarity with various ARM architectures (e.g. Cortex M4, M7, etc.).
  • Familiarity with security basics (e.g. TrustZone, security certificates, etc.).
  • Knowledge of communication interfaces, such as SPI, I2C, I2S, UART, CAN, USB, BLE, Wi-Fi, and Ethernet.
  • Ability to read schematics to troubleshoot, debug and bring up new hardware using oscilloscopes, logic analyzers, protocol analyzers and in-circuit emulators.
  • Mastery of C language programming as it pertains to an embedded environment.
  • Working knowledge of C++.
  • Familiarity with OOP design principles.
  • Real time development experience with and without an RTOS.
  • Experience programing peripheral hardware at the register level.
  • 3+ years’ experience in embedded software development and writing C and/or assembly code for microcontrollers such as Microchip PIC, Freescale/NXP, ST, Cortex M3/M0 and Atmel.

Soft Skills:


  

  • Strong interpersonal, analytical, organizational and follow-up skills.
  • Solid problem-solving skills. Highly technical, quickly grasping how things work. Presents technical concepts, ideas, and information in terms that both engineers and non-engineers can understand.
  • Motivated by continuous learning and development.
  • Functions well in a small company/startup environment. (High visibility, accountability and development velocity)
  • Ability to work independently with minimal supervision, and collaboratively with a cross functional team.
  • Disciplined engineering approach.
  • Differentiates value added activities from waste.
  • Demonstrates systems thinking.