• Senior Software Engineer - Compiler

    Location US-CA-Cupertino
    Posted Date 2 months ago(8/8/2018 12:34 PM)
    Job ID
    700877
    Company
    Annapurna Labs (U.S.) Inc.
    Company/Location (search) : Country (Full Name)
    United States
  • Job Description

    Senior Compiler Development Engineer

    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.

    Basic Qualifications

    • 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

    Preferred Qualifications

    • 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.
    • Strong C and/or C++
    Sorry the Share function is not working properly at this moment. Please refresh the page and try again later.
    Share this job