Scala Tooling Engineer

  • Remote job

Scala Tooling Engineer

Job description

Have you ever wondered how your tooling actually works?

We are working in a unique niche, developing the tooling for one of the largest Scala code bases in the world. The code is stored in a monorepo which tests the limits of tooling, frequently resulting in custom solutions. Our goal is to keep developers productive in this difficult environment. To achieve this, we are working on IntelliJ plugins, performance, integration with build tools, generating and distributing IntelliJ indexing cache, automatic testing and benchmarking with ide-probe to ensure and monitor the quality of our tooling integration and much more. We also work on developing high-quality Python support for Bazel. Our work changes how hundreds of developers work each day, for example by cutting down incremental compilation time by order of magnitude. If you have a passion for engineering productivity, empathy for developers, and you are looking for a project with a non-trivial technical problem to debug each week you will find this role interesting, challenging, rewarding and fun. Also, you can work fully remote or from the office - the choice is yours! 


Job requirements

What & How:


  • Most of our code is written in Scala, you may also see Java, Python and Typescript
  • We are using bazel, pants and sbt, git, Github and Jenkins.
  • Big part of our work happens in open source projects
  • We are responsible for our code architecture and design choices
  • We have a lot of freedom in evaluating and picking the right solutions
  • We have full ownership of the created solution, which means that we need to provide support for it. This is done only in working hours and in a quite limited way.
  • We are using an agile approach


The job is for you if you:


  • want to continuously improve developers experience through instrumentation, analysis, development and optimization
  • have a desire to measure, analyze, automate, improve and optimize existing tools and processes
  • want to work on open source projects
  • enjoy interacting with and helping other developers
  • want to maximize your debugging skills
  • would like to extend the knowledge of the JVM and tooling
  • want to face the challenges of working in one of the largest Scala monorepos