This position is no longer open for applications

GNU Compiler Engineer (GCC, LLVM, or binutils) - 1286

GNU Compiler Engineer (GCC, LLVM, or binutils) - 1286 (1286) Fremont, California

Company: Mentor Graphics
Job Title: GNU Compiler Engineer (GCC, LLVM, or binutils) - 1286
Job Location: US – Remote Location
Job Category: R&D/ Software Engineer

 

Job Duties:
This position can be located at any location worldwide, either at a Mentor office or as a remote worker.
Objectives
• Port the GNU Compiler Collection (GCC) and related tools (including the GNU Binary Utilities and the GNU Debugger) to new processors.
• Optimize GCC and related tools to generate faster and/or smaller code.
• Contribute improvements to the official Free Software Foundation repository.
• Gain public recognition as a skilled developer of GCC and related tools.
Responsibilities
• As part of the Tools Services team, work with others to develop improvements to GCC and related tools to support new architectures, to generate superior code, and to add support for new processors.
• Correct defects in the GNU Compiler Collection reported by customers and discovered through internal testing.
• Improve build, test, and benchmark infrastructure used by the Tools Services team.
• Learn how to effectively contribute to the FSF source-code repository by becoming comfortable with the GNU Coding Standards, learning the etiquette of the GNU community, and by volunteering to help other contributors where appropriate.

 

Job Qualifications:
Required Knowledge & Experience
• Academic and/or industrial experience developing real-world compilers (whether GCC or otherwise) and related tools.
• Knowledge of computer science related to compilers including topics such as parsers, abstract syntax trees, control-flow and data-flow graphs, and static single assignment (SSA) form.
Desirable Knowledge & Skills
• A proven track record of GCC development.
• Previous contribution to any open-source project.
• An ability to collaborate effectively, and largely by electronic means, with a software engineering team distributed around the globe.
A Bachelor of Science in Computer Science (or equivalent) is required. A Master of Science or Ph.D. in Computer Science (or equivalent) is a significant advantage.