I’m looking for a developer to join my team in Austin to help develop linker back ends for ARM and AArch64. Given that this is the LLVM dev list, I want to be clear that the work involves close collaboration with our internal LLVM teams so LLVM experience is a definite plus, but it does not involve direct development on LLVM.
I’m ideally looking for someone with direct relevant experience, but I would consider someone with a solid background in C/C++ development and a willingness to learn about linkers. The job description is included below, if you or someone you know might be interested, please send your resume to me directly at email@example.com.
Software Development Tools Engineer - ARM and Hexagon
Engineering - Software
Texas - Austin
We are looking for the right person to join our software tools development team for Qualcomm’s next-generation processors. Our focus is ongoing development of a high performance tool chain used to build the code that drives Qualcomm’s various modem and applications processor technologies. The right candidate will work on an optimizing linker for multiple targets, with a focus on developing a linker back end for ARM 32- and 64-bit targets. Responsibilities:
· Work as part of a small team to design, develop, and deliver new features on a proprietary linker used for Qualcomms embedded projects
· Fix bugs in existing code as needed
· Coordinate with internal remote ARM LLVM compiler team to:
Establish and maintain an ARM test framework in Austin
Assist with internal customer issue triage and resolution
Deliver features in timeframe necessary to meet release commitments
· Communicate with internal customers to understand needs and gather requirements.
5+ years of experience in the following areas are required:
· Software development experience programming in C/C++, Python
· Experience with ARM/AArch64 ISA, preferably direct experience with software tools development
· Knowledge of embedded systems
· Ability to work independently as well as within a team
· Experience with modern software development practices and methodologies
· Experience with building Android
· Experience with ARM on-target debug
· Solid understanding of the ELF file format
· Solid understanding of linkers and linker-related concepts: oSymbol resolution oRelocations/Fixups oDynamic loading/linking oString merging oGarbage collection oLinker scripts / scatter load files Preference given to candidates with experience working with LLVM and related tools, as well as experience developing software for use on both Windows and Linux.
Bachelors in Computer Science or Electrical Engineering required
Masters in Computer Science or Electrical Engineering preferred
LLVM, linker, binutils, software developer