Company Description: Apple’s developer tools has been rooted on top of LLVM for over a decade, with LLVM being the basis for the compilers and many other technologies that underpin Apple’s products and software ecosystem.
Company Contact: Ted Kremenek - kremenek@apple.com
Job Title: Linker Engineer
Job Description: The dyld team is responsible for the technologies related to linking and loading executable files on Apple platforms (dyld, ld64, cc tools). As an engineer on the team, you will improve Apple's linker tools to ensure that programs link and launch efficiently — and directly improve the user experience for all users of practically every device Apple ships. You will also collaborate with the compiler teams and engineers across Apple to improve the CPU and memory efficiency of software across the OS.
Job Title: Compiler Performance Engineer
Job Description: The CPU and Accelerator Compilers Team is looking for engineers passionate about working on advancing compiler performance and optimization technology. We are responsible for optimizations and code generation for CPUs and Accelerators on all Apple platforms. Our team works across many different organizations on state-of-the art, industry impacting technology that enhances the user experience for all Apple customers with better run-time performance, battery life, compile-times, code size or enhanced security. A lot of the team's work happens directly in the LLVM open source project and gets presented at LLVM Developer Meetings and Apple’s WWDC conferences.
Job Title: Compiler Tools Engineer
Job Description: Apple’s compiler team is looking for a Cloud infrastructure engineer to drive tooling for open source and internal compiler technologies. We want to minimize the latency and engineering effort to deploy changes in the Swift and Clang compilers and the LLDB debugger, while maintaining (and improving!) our Cloud infrastructure. We believe that continuous deployment of toolchain technologies will substantially increase the compiler team’s productivity, as well as the productivity of our internal users.
Job Title: GPU Backend Manager — Toolchain
Job Description: The Apple Silicon GPU Compiler Backend team is seeking a results-oriented engineering manager to lead a team focused on high performance GPU codegen for all Apple Silicon GPUs — including iPhone, iPad, Apple Watch, Apple TV and Macs. This team works with a lot of partner teams, including the AGX Compiler Backend Performance, Pre-Silicon and Infrastructure teams, but also teams in Apple's Developer Tools, GPU driver teams, Metal Frontend and Framework, as well as GPU Architecture and Silicon Engineering. The team actively participates in the LLVM Open Source project. The most important deliverable is to ship a quality compiler backend, every year, in fast-paced and constantly changing environment.
Job Title: GPU Backend Engineer — Performance
Job Description: As a member of the Apple Silicon GPU Compiler Backend Performance Team, you’ll implement improvements to the open-source LLVM mid-level optimizer as well as our LLVM-based machine-dependent code generator for Apple’s GPU. In this role your primary responsibility will be to implement improvements to the compiler backend that generates the machine code for the GPU used by all graphics applications running on Apple Silicon platforms (iOS, iPadOS, macOS, tvOS, and watchOS). This may include improving the performance of generated code, compile time, and maintainability of the code, as well as implementing new features driven by changes to the Metal API and shading language. We are looking to hire for both an entry-level position and a senior position.
Job Title: GPU Backend Engineer — Pre-Silicon
Job Description: As a member of the AGX Pre-Silicon backend team you will design and implement significant parts of the compiler for future Apple GPUs. You will be a member of a small team with diverse talents and ample room for growth that works on every Apple Silicon GPU we ship in different devices including iPhone, iPad, Apple Watch, Apple TV and Macs. You will be implementing LLVM-based compilers to generate optimized shader binaries that run graphics and compute workloads. You will be able to influence and work on new GPU architectures. You will design and implement new features added to future GPUs. You will architect and develop new compiler passes and optimizations to improve run-time performance while meeting the compile time requirements. You will work in a cross-functional environment and collaborate with GPU architecture, silicon design, device driver and Metal API teams to develop the GPU HW and SW stack for Apple Silicon GPUs.
Job Title: GPU Backend Engineer — Analytics
Job Description: The Apple GPU Compiler Analytics team is seeking a results-oriented full stack engineer to work on developing quality and performance systems and metrics. Our team supports the GPU Compiler Backend Teams by providing tools and system to measure and report performance and quality metrics. We create full stack reporting and analysis tools as well as create and support systems to generate and validate the necessary data to guide the teams in making engineering decisions. Our team is a small growing team dedicated to providing analytical and system support. We work on a wide variety of projects to support internal development and ensure we always ship the best possible product.
Job Title: Swift Compiler Engineer
Job Description: The Apple Swift Compiler group is responsible for evolving the Swift programming language and continuing to improve the performance, safety, and reliability of the Swift language. We are looking for someone to help improve our translation of the Swift Intermediate Language (SIL) into LLVM IR. This will require you to develop a deep knowledge of SIL and LLVM IR, take responsibility for evolving our representations of functions and runtime type metadata, and will require you to work closely with LLVM, linker, loader, OS, and CPU experts to ensure the results are correct, compact, and efficient.
Job Title: Security Compiler Engineer
Job Description: Apple’s compiler group is looking for engineers to implement compiler and language features to improve the security and safety of C, C++, and Objective-C. Our team works with security, performance, and operating system engineers across Apple to help shape the future of our platform through languages and tools. In addition to those interested in security tools, we are also looking for engineers with expertise in C++ language design for those interested specifically in investing in security in C++ code.
Job Title: Debugger Engineer
Job Description: The LLDB team at Apple is looking for an engineer to work on the LLDB debugger. LLDB is a core part of Apple's developer tools, used internally to debug Apple's software stack and externally by millions of developers. You’ll be able to work on different levels of the stack: from supporting our existing and upcoming platforms to developing new features to make debugging even better. Most of your work will be open source, on llvm.org and github.com where you’ll collaborate with the LLVM and Swift community.
Company Description: At IBM, work is more than a job – it’s a calling: To build. To design. To code. To consult. To think along with clients and sell. To make markets. To invent. To collaborate. Not just to do something better, but to attempt things you’ve never thought possible. Are you ready to lead in this new era of technology and solve some of the world’s most challenging problems? If so, lets talk.
IBM compilers are at the cutting edge of compilation technology targeting a variety of hardware and software; including AIX, IBM i & Linux on IBM Power, as well as z/OS & Linux on IBM Z. We produce compilers for a range of source languages (C, C++, COBOL, Fortran, Go, Java, PL/I, Python, Node.js) optimized for IBM Power and IBM Z.
Company Contact: Dickson Chau - dickson.chau@ca.ibm.com
Job Title: C/C++ & Fortran Compiler Developer
Job Description: The IBM C/C++ & Fortran Compiler Group is looking for software developers to join our world class Compiler Team. Our squads are autonomous, multi-disciplinary teams, consisting of talented software developers with knowledge in new and up and coming language standards, hardware design, compiler optimization expertise, contribute to the open source clang/LLVM compiler technology, and proven software development skills.
If you have experience coding in C++, or other 3GL programming languages, a demonstrated understanding of algorithms and data structures, programming language design, and a passion for developing innovative algorithms that make software run as fast as possible, this is the team for you. This position offers you a rare opportunity to influence the performance of hardware and software that is used by millions of people. You will also have the opportunity to participate in the development of open source clang/LLVM compiler technology, contributing to a broad community. The work is challenging and complex, involves collaboration with many of IBM’s top technical experts, and gives you the opportunity to acquire and use advanced technical skills in a highly specialized area of computer engineering.
Job Title: Senior Software Developer – IBM i Power Compiler
Job Description: The IBM i Power Tools compiler group is looking for a seasoned compiler developer to join our team. Our compilers are at the cutting edge of compilation technology and our developers have helped grow programming language standards across the industry. We produce compilers for a range of programming languages optimized for IBM i systems running on Power hardware. The successful candidate will have the opportunity to design and evolve the future of our compiler deliverables as well as grow into a potential leadership position.
If you have compiler coding experience and a passion for programming language design, this opportunity is for you. This position offers you a rare opportunity to enhance a programming language, and to influence and interact with our customers who use our products for their own application development initiatives. The work is challenging and complex, involves collaboration with many of IBM’s top technical experts, and gives you the opportunity to acquire and use advanced technical skills in a highly specialized area of software development.
Job Title: Junior Software Developer – IBM i Power Compiler
Job Description: The IBM i Power Tools compiler group is looking for software developers to join our team. Our compilers are at the cutting edge of compilation technology and our developers have helped grow programming language standards across the industry. We produce compilers for a range of programming languages optimized for IBM i systems running on Power hardware. Successful candidates will have the opportunity to design and evolve the future of our compiler deliverables and gain key skills.
If you have C/C++ coding experience and a passion for programming language design, this opportunity is for you. This position offers you a rare opportunity to enhance a programming language, and to influence and interact with our customers who use our products for their own application development initiatives. The work is challenging and complex, involves collaboration with many of IBM’s top technical experts, and gives you the opportunity to acquire and use advanced technical skills in a highly specialized area of software development.
Job Title: Junior Compiler Developer
Job Description:
The IBM Compiler Group is looking for talented software developers to join our world class compiler team. Our compilers are at the cutting edge of compilation technology, and our developers have helped deliver language standard conformance and industry leading benchmark results on IBM for both CPU and GPU. We produce compilers for a range of source languages optimized for IBM POWER and IBM Z systems. Our developers often contribute to the design of future IBM processors, the evolution of programming languages and many have acquired extensive patent portfolios. A number of our developers have gone on to become Directors, Distinguished Engineers, and IBM Fellows.
If you have C++ coding experience, a demonstrated understanding of algorithms and data structures, programming language design and a passion for developing innovative algorithms that make software run as fast as possible, this is the team for you. This position offers you a rare opportunity to influence the performance of hardware and software that are used by millions of people every second. The work is challenging and complex, involves collaboration with many of IBM’s top technical experts, and gives you the opportunity to acquire and use advanced technical skills in a highly specialized area of computer engineering.
Job Title: DevOps Developer, Compiler team
Job Description: The IBM Compilation Technology team is looking for DevOps Software Developers to join our mission to deliver leading-edge compiler offerings.
The successful candidates will:
- Work with a multitude of development teams to enable continuous integration environments that sustain high productivity levels and emphasizes defect prevention techniques.
- Design and develop industry impacting services using open source and commercial technologies at scale
- Develop, manage and allocate tools, accelerators, frameworks, templates and other assets critical to engineering productivity and quality that enable enterprise product development delivery
- Foster an environment that enables teams to do things correctly, quickly, consistently and with less effort and learning.
- Modernization and implementation using industry standard tooling and concepts within production and development workflows.
Company Description: Huawei’s vision is to enhance the lives of humanity and improve the environment by building a fully connected and intelligent world. In the UK, we already have research centres in Cambridge, Bristol, Ipswich, London and Edinburgh.
Company Contact: Jiefeng Wang - wangjiefeng@huawei.com
Job Title: Compiler Software Principal Engineer or Expert
Job Description: Your responsibility in Compiler Lab Cambridge will be any of:
- Researching MLIR as the tools to optimize for domain specific languages
- Design / implement compiler to enable architecture features and co-design with HW team by provide feedback from compiler’s perspective
- Analyze and optimize software system performance on LLVM middle-end/back-end or on Flang frontend
Company Description: We create world-changing technology that improves the life of every person on the planet.
Company Contact: Jeff Heath - jeff.heath@intel.com
Job Title: Senior Compiler Engineer
Job Description: The compiler team within the Software and Advanced Technology Group at Intel, has an opportunity available for a Senior Compiler Engineer. This is a great opportunity to on work on cutting-edge technologies to design, develop, debug, test compiler software and programming languages. Opportunities for on-site, hybrid or remote work are available.
You will be working on advanced compiler optimizations and features specific for Intel Architectures, parallelization and vectorization through compilers, new programming languages support.
As an engineer in this role, you will have an opportunity to work and collaborate with hardware engineering teams, external partners and be a member of communities developing compilers, participate in language and standard groups.
Your responsibilities may include, but are not limited to:
- Design and development of Clang FE, DPC++, SYCL technologies and tools
- Development of test cases to cover new functionality and to increase code coverage.
- Work with other compiler engineers and architects.
- Work on other compiler technologies
- Design, develop, debug and test compiler software and programming languages e.g. advanced compiler optimizations and features specific for Intel Architectures, parallelization and vectorization through compilers, new programming languages support.
- May work directly with companies and communities developing compilers, participate in language and standard groups.
Job Title: Compiler Engineer
Job Description: The compiler team within Software and Advanced Technology Group, at Intel has an opportunity available for a Compiler Engineer. This is a great opportunity to on work on cutting-edge technologies to design, develop, debug, test compiler software and programming languages. Opportunities for on-site, hybrid or remote work are available.
You will be working on advanced compiler optimizations and features specific for Intel Architectures, parallelization and vectorization through compilers, new programming languages support.
As an engineer in this role, you will have an opportunity to work and collaborate with hardware engineering teams, external partners and be a member of communities developing compilers, participate in language and standard groups.
Your responsibilities may include, but are not limited to:
- Design and development of Clang FE, DPC++, SYCL technologies and tools
- Development of test cases to cover new functionality and to increase code coverage.
- Work with other compiler engineers and architects.
- Work on other compiler technologies
- Design, develop, debug and test compiler software and programming languages e.g. advanced compiler optimizations and features specific for Intel Architectures, parallelization and vectorization through compilers, new programming languages support.
- May work directly with companies and communities developing compilers, participate in language and standard groups.
Job Title: Entry Level Compiler Engineer
Job Description: The compiler team within Software and Advanced Technology Group, at Intel has an opportunity available for a Compiler Engineer - Entry Level. This is a great opportunity to on work on cutting-edge technologies to design, develop, debug, test compiler software and programming languages. Opportunities for on-site, hybrid or remote work are available.
You will be working on advanced compiler optimizations and features specific for Intel Architectures, parallelization and vectorization through compilers, new programming languages support.
As an engineer in this role, you will have an opportunity to work and collaborate with hardware engineering teams, external partners and be a member of communities developing compilers, participate in language and standard groups.
Company Description: NVIDIA is like no place you’ve ever worked. You’ll solve some of the world’s hardest problems and discover never-before-seen ways to improve the quality of life for people everywhere. From healthcare to robots. Self-driving cars to blockbuster movies. And a growing list of new opportunities every single day.
Company Contact: Linda Lim - lilim@nvidia.com
Job Title: JR1953755 Senior Compiler Engineer, LLVM
Job Description:
We are looking for an experienced LLVM Compiler Engineer for an exciting and fun role in our GPU Software organization. Our compiler organization makes its mark on every GPU NVIDIA produces. You'll be doing: • Work on design and implementation of significant parts of the compiler.
- Work on performance analysis and design/implementation of new optimizations.
- Partner with global compiler, GPU driver, architecture and application teams to coordinate improvements and problem resolutions.
- Seek interesting and meaningful compilation problems for state of the art GPU technologies.
- Contribute to open source projects (LLVM, DXC - HLSL compiler).
Job Title: JR1953946 Senior CPU Compiler Developer
Job Description:
We are looking for a CPU Compiler Developer to participate in design, develop and tune optimising compilers for Grace. This C/C++ compiler will be key to performance of AI and HPC software that is deployed on NVIDIA Data Centres, on the cloud and at super computing centres around the world. In this role you will solve critical problems working alongside an outstanding Compiler Engineering Team with vision in compiler technology and systems software, doing:
- Innovate compiler optimisations to improve application performance and meet power requirements of a high performance system.
- Develop efficient compiler SW that is optimised for compile time and code size.
- Work with architecture and application teams to coordinate performance improvements and problem resolution.
- Undertake end-to-end stewardship of all compiler SW development and work with compiler verification team, customers and product managers
Job Title: JR1951634 Senior Compiler Engineer - Deep Learning
Job Description:
We are looking for a Deep Learning Compiler Engineer to joining our team. You will be responsible for analyzing deep learning networks and developing compiler optimization algorithms. In this role you'll be.
- Collaborating with members of the deep learning software framework teams and the hardware architecture teams to accelerate the next generation of deep learning software.
- Scope of these efforts includes defining public APIs, performance tuning and analysis, crafting and implementing compiler and optimization techniques for neural networks, and other general software engineering work.
Company Description: PlayStation® has thrilled gamers since 1994, when the original PlayStation® was launched. SN Systems is a core part of Sony Interactive Entertainment (SIE), the organisation which manages PlayStation®.
Company Contact: Greg Bedwell - greg.bedwell@sony.com
Job Title: Compiler Engineer, Runtime Performance Team
Job Description:
Job Description: You will work with experienced colleagues on a range of tools (graphical and command line) and APIs. These tools are part of the PlayStation® SDK and are used by thousands of game developers, testers, artists, and producers. You will be responsible for developing new features, improving existing features, and producing tests to validate any changes to the code base. The ideal candidate should have a strong desire to continue to learn, to develop and to explore ideas; to demonstrate strong design and coding skills, and, above all, have a passion for quality.
You’ll be:
- Working as part of a team focused on improving runtime performance of CPU code on PlayStation®.
- Helping analyze game performance issues.
- Working with the LLVM open-source community.
- Participating in planning and design meetings, and code reviews as part of a geographically distributed toolchain team.
Job Qualifications:
You must have:
- BSc in Computer Science or equivalent experience
- Strong C and C++ development and debugging skills
- At least 2 years' relevant experience
- Experience of compiler optimizations, assembly code and low-level system development
- Understanding of performance analysis and improvement techniques
- Strong communication skills; a good standard of spoken and written English
Nice to have:
- Experience of LLVM
- Experience of X86 assembly code
- Knowledge of executable formats such as ELF
- Experience of compiler vectorization
- An understanding of how to use assemblers, linkers, compilers, performance analyzers, and debuggers
- Working with open-source software
This role is based in Bristol, UK. Our approach to flexible working, gives colleagues the opportunity to work at home, as well as collaboration time and moments that matter in the office. We offer a diverse, inclusive culture where every one of our employees has room to grow.
Company Description: Siemens Industry Software (SISW) helps manufacturers become Digital Enterprises by enabling them to digitalize and integrate their entire industrial value chain. Embedded software leveraging customized OSS-based compliers as well as HPC optimized compilers supporting simulation for digital twin modeling are key foundational technologies for the SISW solution portfolio. The Siemens Sourcery Toolchain Services team currently has an opening for a senior level compiler engineer experienced in OSS-based compiler development.
Company Contact: Andrew Stubbs - Andrew_Stubbs@mentor.com
Job Title: Senior Compiler Engineer
Job Description:
Member of an established compiler toolchain team responsible for delivering multi-platform toolchains to customers on multiple architectures. The candidate will be responsible for the design, implementation, and testing of compiler optimizations, library enhancements, or functional improvements according to customer specifications. Candidates will be given the opportunity to work across the toolchain spectrum including the compiler, assembler, linker, libraries, debugger, and build system. The ideal candidate will have strong communication skills and the ability to lead a technical team.
Job Qualifications:
- Bachelors, Masters or PhD degree in Computer Science or relevant area
- Experience with open-source compiler development (LLVM and/or GCC)
- Experience across all aspects of compilers and compiler toolchains is highly desirable, as is experience with a variety of computer architectures.
- Experience with high performance architectures such as GPUs, DSPs and FPGAs is a strong plus, as is with heterogeneous computing
- Must be able to work independently, work effectively with geographically distributed teams, and be self-motivated to achieve goals and complete projects on time
- C, C++ experience required, Fortran experience a plus
This position has the potential to be based anywhere in the world. (Not limited to U.S.)
Company Description: We at MathWorks believe in the importance of engineers and scientists. They increase human knowledge and profoundly improve our standard of living. We created MATLAB and Simulink to help them do their best work.
Company Contact: Dale Martin - martind@mathworks.com
Job Title: Compiler Engineer
Job Description: MATLAB® and Simulink® are the programming languages of engineering. You will be working on MathWorks compiler programming to enable our customers to implement their ideas on desktops and in the cloud, and deploy their solutions to CPUs, GPUs, and FPGAs. Develop just-in-time compilation for the highly dynamic MATLAB language. Or develop advanced compiler optimizations to meet our customers’ stringent demands—for speed, memory, area, standards compliance, or even readability. Our customers deploy their solutions into small and large devices, into the cloud, and into space. Code generated by MathWorks tools is all around you.
Because of the breadth of work we do, compiler jobs at MathWorks cover all the ends: front, middle, and back. If you love geeking out with SIMD intrinsics, parsing rich languages, developing interprocedural analyses, designing elegant intermediate representations, playing with assembly code, abstractly interpreting code, partially evaluating expressions, reasoning about parallel programming semantics, or working on efficient runtime systems, we’ve got a job for you.