Job Summary (List Format): Embedded Software Engineer (Mid/Senior Level)
- Develop and maintain embedded software applications for Linux-based platforms within thermal imaging, power quality, and networking products.
- Design, implement, test, document, and sustain firmware, focusing on compliance, security, and radio equipment directive requirements.
- Address and resolve critical issues including Linux Kernel, library, 3rd-party CVEs, and errors identified by secure scanning/static analysis tools.
- Participate in potential upgrades or migrations of embedded Linux kernel versions.
- Collaborate with validation and systems teams for firmware and system verification.
- Work in a fast-paced, deadline-driven environment, contributing individually and as part of cross-functional teams.
- Utilize C/C++ for firmware development, with experience in microcontrollers, Linux applications, and cross-platform build tools (GCC, Make/CMake, Yocto, Docker).
- Apply knowledge of operating system fundamentals, multithreading/concurrency, networking (TCP/IP, BT/BLE, Wi-Fi), and secure product design.
- Select, update, and maintain third-party device drivers to interface with external hardware.
- Follow Agile/Scrum-based development processes, modular/object-oriented design, and best practices for firmware architecture.
- Use source control (Git) and software debugging/troubleshooting techniques.
- Participate in code reviews, testing, and debugging to ensure high-quality software delivery.
- Communicate effectively with diverse cross-functional teams.
- Leverage AI-powered automation and emerging technologies where applicable.
- Required skills: C, C++, debugging, and strong problem-solving abilities.