Engineering (General) | San Jose, CA, United States
- Design and implement kernel modules for Linux, running on ARM, Intel, MIPS & Power PC, in areas related to (but not limited to) process scheduling, interrupt processing, memory management, cache management & packet scheduling.
- Develop, integrate and test firmware, low level drivers and S/W interface on Linux embedded operating systems(or bare-metal runtime environments)
- Contribute to performance and/or feature enhancements of existing software tools and packages on current as well as upcoming Montavista’s future projects. You will also own and debug failures in internal and customers systems. This role will require closely working with other team members on customers issues.
- Improve software robustness, performance, scalability and featureset.
- Write and publish technical documentation, including specifications, theory of operations and test methodology.
- Work on market and customer driven activities and assist in implementing efficient software on MIPS, PPS, ARM and X-86 HW architecture. You will also provide technical direction, coaching, and mentoring to managers and employees on your team and others when necessary to achieve successful project outcomes
- Work efficiently with fellow engineers in India. Learn and contribute towards high-performance state-of-the-art Multicore software.
- BS +7 years of related experience or MS +5 yrs experience of related experience; degree discipline to be in: Computer Science, Computer Engineering, or Electrical Engineering
- 7+years of development experience on Linux/BSD kernels with knowledge of OS process scheduling, interrupt processing, synchronization mechanisms, memory and cache management on Intel and Power PC processor architectures
- Experience in design, development & integration in the area of BIOS and Bootloaders.
- Experience designing hardware abstraction APIs to abstract OS complexities from application developers
- Direct experience with driver and application performance analysis and tuning resulting in significant performance improvements
- Experience in interfacing with architecture and Physical implementation teams is a plus.
- Knowledge of scripting languages such as UNIX shell etc is desirable
- Scripting skills are required (C/C++ a plus.)
- Understanding of board level design issues and debug required.
- Experience using high speed lab equipment and the ability to debug complex systems required.
- Must have effective interpersonal, teamwork, and communication skills.
- Excellent communication skills to interface internally and externally with all levels of the organization and to participate in problem solving and quality improvement activities.
- Demonstrates good analysis and problem-solving skills.
- Has an inherent sense of urgency and accountability.
- Must demonstrate initiative and a bias for thoughtful action.
- Grounded, detail-oriented, always backs up ideas with facts.
- Must have the ability to define problems, issues and opportunities, analyze data, establish facts, and draw valid conclusions from various datasets.
- Must have the ability to multi-task in a fast paced environment.