R&D
We are looking for a skilled and passionate Embedded Linux Developer with strong proficiency in C++ and Java, deep expertise in both Linux user space and kernel space, and a working understanding of hardware-level development. The ideal candidate will thrive in a collaborative environment, working closely with hardware engineers and cross-functional teams. Prior experience in the access control industry and some familiarity with Java will be considered a significant advantage.
Role definition
Key Responsibilities
- Design, develop, and optimize embedded software components using C/C++ and Java in a Linux environment.
- Work on both user space and kernel space software, including device drivers and system-level applications.
- Collaborate with hardware engineers to bring up and debug new boards and custom peripherals.
- Integrate and validate new hardware platforms with the embedded Linux OS.
- Maintain and enhance existing embedded Linux systems, ensuring performance, reliability, and scalability.
- Participate in system architecture design and code reviews.
- Write clear technical documentation and contribute to product design discussions.
- Troubleshoot and resolve low-level system issues, including kernel panics, memory leaks, and hardware/software interactions.
Requirements
- Bachelor’s or Master’s degree in Computer Engineering, Electrical Engineering, Computer Science, or related field.
- Strong proficiency in C++, with clean, modular, and maintainable code writing practices.
- Good Knowladge and experience in Java
- Expertise in embedded Linux, including:
- Linux kernel internals
- Device tree configuration
- Custom kernel module development
- Bootloaders (e.g., U-Boot)
- Experience with Yocto, Buildroot, or other Linux build systems.
- Understanding of common communication protocols: I2C, SPI, UART, USB, etc.
- Solid debugging skills with tools like GDB, strace, perf, oscilloscope, logic analyzers, etc.
- Familiarity with cross-compilation toolchains and board bring-up.
Preferred Qualifications
- Background in the access control or security systems industry (e.g., card readers, biometric devices, electronic locks).
- Familiarity with real-time constraints and performance optimizations in embedded systems.
- Good communication and team collaboration skills.