Linux Software Engineering
We are embarking on a new program that will utilize Linux as the embedded operating system as well as serve as the development, simulation, and tools environment. All aspects of the use of Linux including distribution selection, environment setup, driver and package integration, and software packaging strategy need leadership, definition, and then realization. This is a unique opportunity for the right person to “own” the system and create a unified development, simulation, and product environment.
Responsibilities will include:
- Recommending the Linux distribution to use and then building and supporting the environment around it;
- Working with the other developers to operationalize the building, packaging, and integration of 3rd party (commercial and open source) drivers and packages used in the system;
- Co-developing the associated build system with our existing build engineering team;
- Developing tools, applications, and scripts that make the Linux system operate in a true hands-off, embedded systems manner;
- Debugging high and low level operating system and kernel issues.
The successful candidate will possess:
- B.S. or greater degree in EE or CS coupled with 10+ years of networking industry experience;
- Proven track record working successfully with embedded systems developers and all aspects of one or more Linux environments;
- Significant experience with kernel debugging, C++ tool chains, software packaging, driver integration, open source software, virtual machines, and shell scripting;
- Thorough understanding of how to make Linux look and act like an embedded system;
- Excellent design, problem-solving, analytical and trouble-shooting skills;
- Excellent written and verbal communication skills including the ability to communicate to all levels;
- Ability to multitask and manage priorities;
- Ability to interact effectively with individuals and teams in software, hardware, mechanical and optical design disciplines.