C/C++ GCC LLVM Full-Time Remote

Respect each other's time: read job description carefully and apply only if you meet required qualifications. We encourage applicants, even if not a perfect match, but essential qualifications must be met for this role.

Job summary

VRULL is searching for a GNU Toolchain Engineer to join our compiler engineering team and help us enhance our our GCC and LLVM-based toolchains for our customers and the open-source community.

As part of our organization, you will work on projects that cover a diverse range of software development tools and performance challenges that occur at the intersection between hard- and software.

Primary job responsibilities

As Software Performance Analyst you will be working all aspects of data collection related to our GCC and LLVM toolchains. This includes maintaining and enhancing all required tools, running benchmark tools/suites, profiling applications, tuning applications using compiler features, and prototyping compiler optimizations.

As most of our work targets AArch64 and RISC-V platforms, you will need to know how to build software for these architectures.

You will work closely with talented colleagues in a small, fast-paced team, where each team member is an individual and essential contributor to the entire team’s success.

Requirements

Required Skills

  • Automate tasks using script languages (Bash, Python)
  • Collect data in machine and human processible form (CSV, tables, graphs, etc.)
  • Have knowledge of CD/CI workflows
  • Have hands-on experience with compilers and performance profiling tools
  • Have extensive understanding of cross-compilation aspects
  • Ability to work with collaborative project management tools (e.g. gitlab)

Bonus skills

  • User-knowledge of performance-focused allocation libraries (e.g. jemalloc)
  • Experience in benchmarking systems
  • Overview of standard profiling tools
  • Familiarity with application tuning
  • Experience with application profiling
  • Ability to automate tasks using script languages

Organizational skills

  • Take ownership and responsibility for the work and the results generated.
  • Must be able to work independently and effectively with geographically distributed teams
  • Can self-discipline and are able to organise your work to always meet deadlines and complete projects on time.
  • Must be able to communicate and report effectively, clearly, and in a structured manner
  • Pay close attention to the company’s development and show proactive interest in participating.

If you identify yourself and your qualifications with our requirements and values, please let us meet.