Staff Compiler Engineer

QualcommRaleigh, NC
46d

About The Position

Do you want to help Qualcomm build software for our latest CPU designs? My team is looking for someone with experience in building performance analysis tools for modern architectures. Among the skills we're looking for are experience in building binary instrumentation tools, with experience in AArch64 of particular interest. We're looking for someone skilled in C/C++, assembly, and low-level tools development with a strong background in both x86 and ARM architectures. Experience in parallel programming frameworks like MPI and OpenMP is a plus. The ideal candidate should enjoy being "hands-on" with the internals of developer tools like compilers, run-times, and performance analysis and visualization frameworks. Experience with developing GUIs for such tools is also a plus.

Requirements

  • Bachelor's degree in Engineering, Information Systems, Computer Science, or related field and 4+ years of Software Engineering or related work experience.
  • OR
  • Master's degree in Engineering, Information Systems, Computer Science, or related field and 3+ years of Software Engineering or related work experience.
  • OR
  • PhD in Engineering, Information Systems, Computer Science, or related field and 2+ years of Software Engineering or related work experience.
  • 2+ years of work experience with Programming Language such as C, C++, Java, Python, etc.

Nice To Haves

  • Professional experience with compiler development
  • Experience with GCC
  • Knowledge and experience in compiler frameworks such as gcc or LLVM
  • Programming in C/C++ and assembly languages
  • Knowledge of instruction sets and computer architectures - pipeline structure, hazards, cache, memory organization, etc.
  • Working knowledge of system software tools such as assemblers, linkers, debuggers and experience using them
  • Strong communication and interpersonal skills
  • Professional experience with large scale software codebases
  • Deep knowledge of software engineering
  • Master's degree or PhD. in Computer Science, Computer Engineering, or related field.

Responsibilities

  • Leverages advanced Software knowledge and experience to design, develop, create, modify, and validate embedded and cloud edge software, applications, and/or specialized utility programs.
  • Analyzes user needs, software requirements, and time and cost constraints to design and customize software for optimal operational efficiency.
  • Designs and implements software modules for large-scale products and systems.
  • Participates in and leads design, coding, unit testing, debugging, and integration efforts to ensure projects are completed to specifications and schedules.
  • Performs complex code reviews and regression tests as well as triages and fixes issues to ensure the quality of code.
  • Collaborates with individuals outside the software function (e.g., Hardware, Systems, and Test engineers) to ensure solutions work with other components of a specific project.
  • Writes detailed technical documentation for complex Software projects.

Stand Out From the Crowd

Upload your resume and get instant feedback on how well it matches this job.

Upload and Match Resume

What This Job Offers

Job Type

Full-time

Career Level

Mid Level

Industry

Computer and Electronic Product Manufacturing

Number of Employees

5,001-10,000 employees

© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service