Description

Job Description:

·         Good experience 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 architectur

Education

Any Graduate