Description

Job Description:

  • Good experience of working in C and C++ in an embedded work environment or software application
  • 5+ years of software engineering experience with demonstrated professional development in software design and development
  • Ability to understand and apply knowledge of object-oriented analysis, design, and programming techniques, especially in C++
  • Ability to direct the day-to-day technical activities of a small team of engineers
  • Previous experience working with real-time embedded development environments and ARM/Intel architecture

 

Desired qualification:

  • Experience developing software to meet safety and security standards such as IEC 61508 or IEC 62443
  • Experience developing software using a scripting language such as Python
  • Knowledge of communication protocols and technologies such as SPI, UART, I2C, Ethernet, USB, or PCI Express
  • Experience using compilers and toolchains targeting ARM and Intel processors.
  • Ability to read traces, use an oscilloscope, review board schematics
  • Experience developing device drivers or other similar low-level embedded software
  • Knowledge of modern ARM and Intel architectures
  • Experience working with embedded Hypervisors and developing embedded software in a variety of software environments such as bare metal, embedded RTOS, or Linux
  • Knowledge of basic cryptography principles
  • Advanced coursework or degree related to software engineering, embedded systems, operating systems, or computer architecture.

Education

Any Graduate