This position is for a Senior Software Engineer that will lead the development of new debugger, profiling and developement tools for an entirely new architecture. This candidate must have had experience leading compiler and/or debugger projects, preferably starting from architecture through several generations of delivery to customers. Deep knowledge of profiling and optimization, resource management, scheduling, code generation and optimization are needed. The ideal candidate will have worked on new instruction set architectures, which may include CPU, NPU, GPU and other forms of compute.
This engineer will lead the design and implementation of this new toolset, and will help to lead a team of other senior engineers. This engineer will work with compiler developers, system architects, hardware engineers and external users both within and external to Amazon to ensure this new toolset can work with existing environments and will ensure existing programming paradigms and semantics can be maintained.
Bachelor’s Degree in Computer Science or related field
Equivalent experience to a Bachelor's degree based on 3 years of work experience for every 1 year of education
5+ years professional experience in software development
Proficiency in, at least, one modern programming language such as C, C++, C#, Java, or Perl
End to end debugging/profiling toolset design and implementation
Application and kernel performance profiling and optimization
Proficiency in integrated hardware/software performance analysis and optimization
Strong C/C++ coding
Experience taking a leading role in building complex software systems that have been successfully delivered to customers