IBM is hiring Open-Source Toolchain Developer in our Rochester, MN, Austin, TX, Poughkeepsie, NY locations.
IBM Cognitive Systems is responsible for the development of IBM's Power Systems line of enterprise, scale-out, hyperconverged and high-performance computing systems such as the currently #1 and #2 supercomputers in the world (Summit and Sierra).
Through its Open Systems Development team, IBM Cognitive Systems is hiring entry-level and experienced professionals to work with the development and support of the core set of libraries that are usually part of any Linux OS: glibc and associated libraries.
While the goal of this work will be in developing and maintaining those libraries in the IBM POWER (ppc64le) architecture, experience in similar activities in other architectures such as x86 or ARM will be directly applicable.
A developer on this team works with other internal teams and the Open Source Software community, enabling new processor functions and instructions through contributions to the upstream open-source code, so that the rest of the ecosystem can better leverage newer generations of the POWER processor. This team also tunes and optimizes such libraries for better performance and overall experience of Linux on Power customers.
This role will demand programming in assembly language of the POWER Instruction Set Architecture (ISA), and with the GNU Compiler Collection (GCC) compiler intrinsics and compiler flags for optimizing source code. Familiarity with the open-source process, including software builds and testing, is desirable along with general hardware platform skills, preferably on the POWER family of processors. Applicant will engage with and take an active role within the relevant Open Source Software communities (glibc and others), ultimately representing/maintaining the POWER architecture port of specific or even general components. Candidates should have the ability to work in a team-based environment with global and remote team members.
In addition to enabling, optimizing and maintaining code, candidates will be responsible for working on functional and performance issues in broader software solutions, including problem re-creation & analysis, proposed fixes, and fix acceptance by the Community. These issues may involve working directly with customers, Partner Distros, and IBMers in critical situations, proofs of concept, and pre-sales and post-sales engagements.
Candidates should have strong low-to-mid-level development skills (C/C++, Assembly, Computer architecture and general organization). Prior contributions to Open Source Software communities and/or GitHub projects are a plus.S
**Required Technical and Professional Expertise**
In this role, we require:
+ Advanced Linux OS Development (userland libraries and applications development)
+ Proficiency in using GNU Compiler Collection tools (including debuggers, profilers etc)
+ Advanced C/C++ programming
+ Fluent in English Language
**Preferred Tech and Prof Experience**
+ Matrix Math / Linear Algebra / Computational Math
+ Scripting languages (Python, Bourne Shell)
+ Agile development and tools, including continuous integration testing tools
+ Familiarity with Glibc development and Projects
IBM is committed to creating a diverse environment and is proud to be an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, gender, gender identity or expression, sexual orientation, national origin, genetics, disability, age, or veteran status. IBM is also committed to compliance with all fair employment practices regarding citizenship and immigration status. Associated topics: career, flight, library administration, programming, repair, skilled trade, tool, vocational education, vocational technical education, youth
* The salary listed in the header is an estimate based on salary data for similar jobs in the same area. Salary or compensation data found in the job description is accurate.