Job Title:Senior Embedded Software Developer
Education:
- Degree in Electronics Engineering or equivalent
Experience:
- Minimum 7+ years of experience in Linux projects
- Minimum 6+ years’ experience in some of the following areas:
- Linux BSP/drivers & applications development
- Bare metal programming
- RTOS
- Low-level device drivers
- Board brings up
Technical Skills:
- Proficient in C and C++ programming languages
- Strong experience in embedded Linux environment design and development
- Understanding of microservices and Event-Driven architecture
- Proven hands-on experience with Yocto, BSP, u-boot, kernel, dtb adaptations for specific boards, and Linux driver development
- Knowledge of cybersecurity and data encryption
- Familiarity with HW embedded electronics, STM32 based microprocessors, and peripherals (CAN, RS485, SPI, Ethernet)
- Experience in EdgeX (device and application services), OCPP v1.6 protocol
- Proficiency in Python websockets/flask
- Experience in developing embedded web-applications with a minimum UI development as part of the project
Responsibilities:
- Design, develop, and maintain Embedded Software for Linux-based systems
- Collaborate with cross-functional teams to define software requirements and specifications
- Implement and optimize device drivers and BSP for embedded systems
- Work on low-level programming tasks, board bring up, and RTOS integration
- Develop and implement microservices using Linux environments
- Ensure cybersecurity standards are met in software design and implementation
- Collaborate on the development of embedded web applications, including UI components
- Stay updated on industry trends and incorporate new technologies into the development process
Additional Skills (Desirable):
- Familiarity with industrial protocols and communication standards
- Experience with real-time communication protocols (e.g., CAN, RS485)
- Knowledge of cloud computing and IoT technologies