Description

Job Description:

·          Good experience of working in C and C++ in an embedded work environment or software application

·          3+ 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