Key responsibilities:
- Key player of smart embedded developers team;
- Be involved in continuous enhancement initiatives such as the development of testing and CI frameworks etc.
- Assess new process technologies in terms of cost/performance/reliability;
- Architect, implement and maintain complex firmware/software designs;
- Maintaining, enhancing and improving of SDK and build system.
Requirements:
- At least 6 years embedded firmware experience;
- Very strong coding & debugging skills in C/C++;
- Experience with Bash, Python;
- Good skills in Git, Make and CMake;
- Solid experience with ARM Cortex-M based MCU;
- Experience with various HW peripherals (builtin, external) and sensors;
- Experience with low power or battery powered devices development;
- Good experience with debugging, emulating and troubleshooting of embedded SW & HW;
- Strong in OS concepts such as scheduling, multi-threading, processes, inter-process, privileged/unprivileged access, supervizor;
- Experience with networking and security, OSI model understanding;
- Solid experience with OTA updates, secured boot, ARM TrustZone;
- Quick adaptation to new technologies;
- Excellent analytical and problem-solving skills;
- Experience with wireless communications, multiple access to shared carrier;
- Good written and verbal communication skills in English.
Will be a plus:
- Experience with symmetric multiprocessing MCUs;
- Embedded Linux system development experience;
- Detailed knowledge of Linux operating system internals;
- Ability to organize and prioritize work across several projects simultaneously;
- Experience with various Compilers, Emulators, and Debuggers;
- Knowledge of Agile Software Development;
- BLE, Wi-FI, Zigbee, Sub-GHz protocols.