About Supercede
Supercede builds industry-leading risk placement and analytics software for the reinsurance industry. We are a globally distributed team. We favour asynchronous communication, and try to hire "managers of one". We don't do daily stand-ups. We don't count your hours. We don't work weekends. We support each other in working and learning. We prefer responsibility and autonomy, and eschew micromanagement. We work calmly and diligently, while shipping iterations frequently.
About the tech
Our core product is a monolithic web application written in ~180,000 lines of Haskell, predominantly with the Yesod framework. Our infrastructure is written in Nix, and we deploy our application to a network of NixOS machines. We avoid silos — each of us takes ownership over the application which includes developing and maintaining features end-to-end, UI to deployment (it's not a problem if you aren't great at UI work — this is mostly a backend role), so you'll need to get comfortable with Nix if you aren't already. Our application also includes ~20,000 lines of Elm code, but we are gradually phasing this out. Elm is wonderful, but our product just doesn't need SPA capability. We are finding our project to be more sustainable and easier to test by following a typical server-side rendered PRG pattern.
About you
We are looking for another Haskell developer to help us build delightful software that our clients will love.
In short:
- Haskell
- Yesod
- Nix
- PostgreSQL
- Redis
- Hspec/QuickCheck/Hedgehog
- Persistent/Esqueleto
- HTML/CSS/JavaScript
For this particular role, we are looking for someone based in London, who can come and work with us regularly in our lovely office at the top end of London Bridge (hybrid working is supported). Technical proficiency aside, we need you to be self-motivated and be able to manage your own time. We get stuff done at a sustainable pace.
As most communication is asynchronous, you'll need to be an excellent communicator. This mostly means you need to think and write clearly, whether that's in code, or in English. We expect you to describe your approach to a given problem in writing before diving into an implementation, and you'll need to collaborate with colleagues on your design. You'll need to be a good engineer. We aren't looking for cathedral architects or type-system astronauts. We need small, simple, robust design. It's always better if you can make our project smaller, faster to compile, and easier to maintain so more junior colleagues remain effective. On this team we are kind. We're kind to each other socially, and we're kind when reviewing and collaborating on work. We're diverse and multicultural, and respectful of each other's background. You'll need to be kind.
How to apply
If you're interested in working with us, please write to our CTO at jezen@supercede.com and reference where you came across the opportunity in your email.