We have been growing rapidly over the past few years now and have a functional product with paying clients from all across the globe. We need more talent to help us keep up with the increasing demand! Our team has done a great job so far, but with more clients coming on board, it’s time to expand our team. This is an opportunity to be a part of an exciting journey as we scale.
We are looking for a talented backend developer. Ideally, you have 1-2 years of experience with Rust
and at least 10 years of programming experience in languages like C
, C++
, or Python
. Our tech stack is opinionated, we’ve chosen Rust
for its performance, reliability, and correctness. We hope that you value those qualities of a programming language too. If that sounds like you, please continue reading.
We value freedom, but with that comes a lot of responsibility. Your responsibility will be to improve upon and maintain our backend server, the laiout-core
, and a visual interactive debugging tool laiout-lab
. Both of these binaries are part of a Rust
workspace and are very related. The code involves a lot of asynchronous Rust
(axum
/tokio
) to handle requests for parallelized mathematical optimization routines (rayon
) that optimize floorplan layouts for our clients.
You will be challenged quite a bit, but you won't be alone, and we are happy to share our knowledge. You'll be working together with at least two other Rust
developers who love working with visual geometric optimization problems. Our
debugging tool laiout-lab
, a Rust
-based GUI that lets us watch the optimization proceed live is quite fun to play with. If you’re excited about Rust
and visual geometric optimization, this role is perfect for you!
We can offer you the flexibility to work from anywhere in the world, but also welcome you to Oslo. We only ask that you try to get within ±3 hours of Oslo time zone. Time wise we're quite flexible too, we only expect you to participate in standups regularly. Finally, we offer equity in what we believe is a company that will continue to grow based on our client lineup.
TLDR
Rust
experienceRust
skills.any(|&s| s == Skill::Rust).then(apply);