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
Any Graduate