Linux Software Engineer
OverviewWe are looking for an Engineer with a passion for open-source software and 1 to 3 years of experience contributing to open-source projects like Linux Kernel, Zephyr, Yocto Project, … to join our Linaro Professional Services team. The applicant must have a strong foundation in computer science and operating systems, and a passion for open source. A successful candidate will: develop, support, maintain, and document software functionality; work with new technologies for implementation; analyze code to find causes of errors and revise programs as needed; and prototype, refine, test, and debug programs to satisfy requirements.Main Duties
- Collaborate regularly within a team and with upstream communities.
- Develop, test, integrate, and document new software features in any part of a Linux system (including the kernel, libraries, and user space).
- Troubleshoot, debug, and resolve system issues and bugs as they arise.
- Implement end-to-end system capabilities, integrating system software with user programs to produce seamless and optimized end-user experiences.
- Create and maintain software to support development, including CI/CD and automation, remote access utilities, and software packaging.
- Work directly with hardware, including bringing up hardware platforms from scratch.
- Present talks at open-source conferences.
- Excellent analytical and problem-solving skills.
- Thorough understanding of computer science topics, including operating system concepts, computer architecture, and advanced algorithms and data structures.
- Knowledge of the Linux operating system architecture, including boot process, kernel design, user space libraries, and multimedia and other frameworks.
- Knowledge of the Linux system development environment, including build processes, toolchains, scripting, packaging, and test frameworks.
- Linux Kernel development experience, including full Linux OS image creation, configuration, and bring-up.
- Comfort working with hardware and development boards.
- Knowledge and experience in software development methodologies.
- Exposure to and passion for open-source software projects.
- Comfortable working in a distributed, geographically-spread, remote working environment
- Able to work both independently and collaboratively with teams to resolve problems spanning many disciplines.
- A creative problem-solver, passionate about working with the latest technologies to create great experiences.
- Excellent verbal and written communication ability. Fluent in English communication skills, especially in online environments such as forums, wikis, mailing lists, video conferencing, and IRC.
- Basic project management understanding, with the ability to deliver high-quality work on schedule.