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 GCC-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 a GCC Toolchain Engineer, you will be working on developing, maintaining, and documenting innovative and standard optimizations in the GNU toolchain components (GCC, Binutils, GDB, glibc). The main goal of the optimizations will be to improve the execution speed of applications on target architectures (AArch64 and RISC-V). As we intend to contribute much of our source code to the GNU project, we expect you to be familiar with the requirements of mainlining patches (especially code quality related requirements).

Typical optimizations VRULL is working on are improvements of cost models, vectorization, and memory layout transformations.

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

  • Excellent C and C++ skills
  • Ability to write well-structured and maintainable code
  • Good English communication skills (written and verbal)
  • Hands-on experience with GCC, Binutils and glibc
  • Ability to resolve technical questions on your own
  • Expertise of compiler artefacts
  • Understanding of cross-compilation aspects
  • Ability to coordinate and prioritize multiple tasks
  • Good knowledge of at least one machine language
  • Knowledge of Linux debugging tools
  • Skilled in automating tasks using script languages

Bonus skills

  • Experience with the programming language Rust
  • Detailed knowledge of ELF
  • Knowledge of GCC, Binutils and glibc internals
  • Contributions to open-source compilers, runtimes, or similar
  • Experience with application profiling
  • Ability to work with collaborative project management tools (e.g. gitlab)

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.