Embedded Software Engineer
Imagine a sustainable mobility ecology with healthy lifestyles and social connectivity available to all, regardless of age or abilities. With the motto Autonomy for Humans, Piaggio Fast Forward (PFF) creates lightweight, intelligent mobility solutions for people and goods that will create this mobility ecology.
PFF is hiring a passionate and experienced Embedded Software Engineer to join our engineering team. In this role you will bring your expertise in developing firmware and embedded linux platforms for embedded ARM processor devices to help gita® move and operate collaboratively with people. The Embedded Software Engineer will be a key contributor in the development and improvement of gita embedded software and as well as future new products.
- Develop firmware for embedded ARM processors with FreeRTOS or bare-metal using C and Python.
- Develop low-level hardware drivers, system and hardware level diagnostic routines, boot loaders, error handling, and event logging.
- Develop Embedded Linux platform (Yocto) for 32/64 bits ARM processors.
- Develop and document code to meet requirements and execute thorough unit test plans and QA
- Assure a high standard of quality in your own work and in the work of others on your team via good coding practices, process improvements, clean designs, smart testing and review practices.
- MS/BS Degree in EE/CS or equivalent experience.
- 3+ years C/C++ firmware development with constrained resources (RAM, FLASH, I/O).
- 3+ years multi-threaded experience with Linux and/or Free.
- 3+ years working in a Linux development environment including editing, make, and source control.
- 3+ years development of Yocto embedded Linux platform.
- Proficiency developing kernel and system level modules for embedded Linux systems.
- Experience with bootloader development (uBoot).
- Proficiency in C/C++ and its scope in embedded systems development.
- Experience with ARM based SoC.
- Ability to read schematics and use common lab equipment (Oscilloscope, Logic Analyzer) for troubleshooting hardware.
- Experience with scripting language(s) such as Python, Bash.
- Experience with Communication protocols such as I2C, BLE, SPI, Serial, USB, CAN, TCP/IP and Wi-Fi.
- Strong ability to work within team structure, planning and deliverables.
- Excellent verbal and written communications skills.
- Successful applicants will be asked so show proof that they can legally work in the U.S.