This is a fast-paced, intellectually challenging position, and you’ll work with thought leaders in multiple technology areas. You will help us to develop a brand new compiler (from scratch) for an exciting new project, defining the software architecture and implementing major blocks. You will work with system architects, hardware engineers and external users both within and external to Amazon to ensure this new compiler 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
Experience in compiler development, starting from architecture through several generations of delivery to customers
Master's or PhD
Will have worked on new instruction set architectures, which may include CPU, NPU, GPU and other forms of compute.
Experience with application focused hardware acceleration technologies, such as GPU acceleration with CUDA or OpenCL, or FPGA acceleration with OpenCL or CAPI
Strong knowledge of resource management, scheduling, code generation and optimization, compute graph optimization
Proficiency in hardware definition/architecture collaboration and hardware / software integration
Computer Science fundamentals in object-oriented design, data structures and algorithm design, complexity analysis, scalability and availability
Experience with professional software engineering practices and best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations.