Scala Tooling Engineer
We are working in a unique niche as we are creating tools for Scala developers. That can mean building plugins for sbt or Intellij, developing Metals (LSP server for Scala) or even working on Fury, the new build tool created by Jon Pretty. Our team cooperates with our partners that are industry leaders: JetBrains, Lightbend and Scala Center.
Our work changes how hundreds of developers work each day and our solutions make a difference (e.g. by cutting the compilation times by an order of magnitude). We work closely with the R&D department and lessons that we’ve learned are transformed into new projects (like git-machete or Context Buddy).
We often have to find impossible solutions or workarounds to problems that may seem unsolvable. If you are looking for a project where you have an interesting problem to debug each week and always have a code-related story to tell then you are looking at the right position. Also, you can work fully remote or from the office - the choice is yours!
What & How
- Most of our code is written in Scala with small parts in Typescript (e.g. for VS Code plugins).
- We are using sbt (and sometimes pants, Bazel or Gradle), git, Github/Bitbucket, and Travis/Jenkins.
- A 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. That is done only in working hours and
in a quite limited way.
- We are using an agile approach (Scrum or Kanban)
What we expect
- Good knowledge of Scala
- Understanding of a build tool of choice (e.g. sbt or gradle)
- Confident use of git (e.g. git-hooks, ref-log)
- Some experience with JVM internals (e.g. classloaders or memory model)
- Basic experience with CI/CD pipelines
- An open and creative mind
- Proactiveness and initiative
- Willingness to learn