Software Engineer: Linux Kernel Programmer
General:
Software engineering position for junior or entry level Linux kernel engineer seeking experience working in the area of the Linux kernel. Working with the Senior kernel engineer, this person will gain responsibilities and duties as experience increases.
A high-performing, robust, and secure Linux kernel is crucial to our products and services. Our Linux kernel engineering team plays a critical role in delivering our NAS solutions, and its work impacts the performance and security of client's storage needs world-wide.
Desired Experience and Abilities:
Some Linux kernel experience and/or knowledge. Other Unix kernel experience is a plus.
Consumate C programming.
Some experience debugging at the assembler level.
Experience with GNU toolchain building and general build tools including Makefiles and userspace utilities (Bash, etc.), especially in the areas of cross-building.
Source code management utilities. Any experience with git will be considered a plus.
Debian Linux distribution experience, especially in the area of package management, will be considered a big plus.
Moderate to extensive shell programming experience; perl programming not considered a negative.
Networking knowledge and experience in the areas of TCP/IP and ethernet.
MIPS processor experience a plus.
Duties:
Contribute to the development and maintenance of our embedded Linux kernel in current and future products, including:
Develop benchmarking and testing infrastructure for kernel performance and functionality measurement.
Evaluate system performance on a variety of hardware platforms and under various workloads.
Provide analysis of bugs, and propose or implement fixes.
Submit relevant code changes to upstream open source communities.
Analyze abnormal system behavior and diagnose its cause, in environments ranging from lab to customer production deployments.
Track, evaluate, and expose relevant new technologies from the open source community
Provide technical leadership in the areas of programming, debugging, Makefiles, system administration and networking.