Position: Senior Embedded Linux Developer
Company: Sigma Software Group
Category: C++
Experience required: 5y
English level: upper

**CUSTOMER**
Our customer is an international developer and manufacturer of electronics based in Norway. It combines pioneering wireless technology with deep industry experience in product development, electronics, and manufacturing. The client does all core technology development in house and has extensive lab facilities.

**PROJECT**
The project is about developing low-level software for different devices used by Client’s company (Computers and Electronics Manufacturing domain). It requires highskill developers with strong analytical mindset.

Technologies we use: secure boot for Linux, secure boot for NXP i.MX processors, С, Lunix, Yocto, UBoot.

**REQUIREMENTS**
- Strong C and code quality skills
- Overall experience with secure boot for Linux
- Linux User Space development experience
- Experience with secure-boot for NXP i.MX processors
- Experience with Yocto
- Knowledge of widely used platforms (ST, SiLabs, NXP, TI), interfaces, and 
 protocols (UART, I2C, SPI, ModBus, CAN, USB, Ethernet, etc.)
- Experience in debugging and troubleshooting solutions for embedded 
 systems. It should include software debugging on real HW and debugging of HW issues
- Knowledge of commonly used libraries (HALs, file system (FatFS, LittleFS), 
  networking (lwIP or similar))
- At least Upper-Intermediate level of English

**RESPONSIBILITIES**
- Design separate components, modules, classes, devices
- Code, debug, document, and maintain portions of software and hardware; 
  perform different types of testing
- Participate in estimation and planning sessions
- Contribute to the development of technical project documentation and user 
  documentation
- Help test engineers and support personnel in solving technical issues of 
  software installation and its operation
- Participate in conference calls and face-to-face meetings with the customer 
  and customer partners
- Comply with the best engineering practices, technical standards, and 
  quality criteria set forth on the project
- Report status and progress according to the project and company 
  demands
- Spot current deficiencies in the development process, adopted procedures, 
  and engineering practices, environment configurations, etc., and suggest 
  improvements
- Escalate technical issues to the Architect, Team Lead, and Project 
  Manager
- Improve your qualification within the areas of expertise at various training 
  courses, seminars, and/or other educational organizations