Linux Kernel Developer - ARM/Embedded (4-8 yrs)
JOB DESCRIPTION :
- A Linux Developer with experience in embedded Linux runtime environment (Debian preferred).
- The ideal candidate should have recent hands-on development expertise with the major aspects of embedded Linux (embedded HW architectures, the Linux kernel, build environments, etc.).
- The position involves a significant level of autonomy in which a self-motivated applicant will work independently to develop solutions.
- The candidate must also be comfortable working in a team environment and working directly with partners and customers. On occasion, travel may be required to meet with community organizations, partners, and customers.
QUALIFICATIONS / EXPERIENCE :
- Applicant should possess at least a Bachelor degree in Electrical/Computer/Software engineering, Computer Science or equivalent.
- Applicant must have at least 6 years of experience developing software for Linux systems (opportunities exists also for those having more or less experience, but at least 4 years).
Applicant must have significant experience one of more of the following :
- Experience with Debian Linux. Including packages, build environment and integration.
- Real-Time Linux
- Linux kernel and kernel module development
- Linux driver development (e.g. usb, block, character, wireless, network stack)
- Linux kernel debugging skills (e.g. kgdb, lttng, systemtap, jtag, etc.)
- Embedded/custom Linux distribution development/management
- Cross-compiling & porting (e.g. make, autoconf)
In addition to above, applicant should possess several of the following :
- Fluent in at least one scripting language (Python, Perl, Bash)
- Experience in version control tools like GIT
- Experience in Linux build systems: Openembedded, Yocto (Poky), Debuild, etc
- Knowledge of Linux user-space environments
- Strong English communication
- Ability to work effectively within a fast-paced multi-national engineering environment
- Experience with x86_64 and/or ARM/ARM64 architectures
- Experience in usage of debugging targets JTAG, BDI
- Customer facing experience
Job Duties :
- Implement and maintain a Debian based distribution aimed at Industrial applications.
- Work cross functionality across multiple groups, geographies and timezones.
- Port the Linux kernel to new boards and uprev BSPs to new kernel versions
- Work with customers directly to get issues localized and resolved
- Design and implement services built upon software products, open source components, and/or custom platforms
- Create functional design specifications and other project documentation. Review internal and external product documentation and provide appropriate input to other parties involved in various projects
- Track main open source community efforts and specific projects that potential customer engagements may rely upon. Become an authoritative voice on those topics.
- Participate in the community and upstream relevant work.