Deutsch

Software Engineer (Rust)

  • Novel problems and challenging technical tasks in a cutting edge field within the blockchain sector.
  • Open and friendly culture with regular informal activities
  • Flat(ish) organisation structure with open and collaborative attitudes
  • 2 week iteration cycle and in-person PR reviews
  • Our engineering motto is “Do it right, do it once.” – we care about planning and writing code that won’t need to be rewritten later on.
  • Relocation packages available

You can read more about Chainflip Labs and the team culture here: https://blog.chainflip.io/join-us/

What do we do?

Chainflip is a blockchain project that uses multi-party-computation and threshold signature schemes to allow our decentralised validator network to secure assets across multiple arbitrarily differentiated blockchain networks, with the ultimate goal of allowing users to swap between various cryptocurrencies across multiple blockchains in a trustless and programmatic way.

This is a very tightly coupled engineering challenge, one that we’ve been working on for over a year. It is a multidisciplinary exercise in distributed systems, decentralised finance, blockchain consensus mechanisms, cyber security, applied cryptography, and front end tooling. Our engineering team of 15 is on the lookout for additional people to tackle this challenge with us. We’re mostly based in Berlin, Germany.

What’s the Job?

This role is open to a European based software engineer who wants to work in Rust. Experience in a similar C based programming language, such as C++, or any strictly typed language is required, but the role is open to those wanting to develop their skills in the new world of Rust. Apparently we are one of the few companies in Europe who have built the entire backend in Rust from day one, so that’s neat.

We have multiple possible roles within our backend engineering team, all rust-based.

You will likely focus your efforts on one three areas:

  • The State Chain: we are developing our own standalone blockchain using the substrate blockchain development framework (https://substrate.io). Previous experience of working with complex type systems would be beneficial here, as would some knowledge of how blockchains work internally.
  • The Chainflip Engine: this application works in tandem with the State Chain to power our decentralised threshold signature protocol, and to witness events happening in the outside world. An in-depth knowledge of the challenges of distributed systems, cryptography, and Rust’s async features (specifically the tokio stack) would be great to have.
  • Tools and testing: security and robustness of our network will be paramount. We need to provide secure and user-friendly tools for our validators to manage their nodes. And we need to be confident our nodes function according to protocol specifications. Knowledge of security best-practices and/or a pedantic and exhaustive attitude to testing would be a big plus here.

No matter which team you join, you will be exposed to all of the tough problems and trade-offs that decentralised finance and blockchains have to offer.

About the Rest of the Company

We are a Berlin-centric team with our own office space in the heart of Kreuzberg, but we have remote workers throughout Europe, a new office in Dublin, and a team in Melbourne, Australia. We meet up as a whole team twice a year, have a very open and flexible culture, and enjoy meaningful personal connections with one another. Our team has a diverse range of backgrounds and experiences to share, and hopefully you’ll be able to share yours with us too.

Our growing engineering team is run by the prolific CTO Tom Nash, an experienced founder and CTO with plenty of blockchain related engineering and leadership experience. With him, the Rust, Web, and Devops team lead the charge on all things technical for Chainflip. The company is led by CEO Simon Harman, and he works closely with half a dozen operations and communications staff in Berlin and abroad to power the team and it’s product goals.

Who Should Apply?

If you’re based in Europe and/or willing to relocate to Berlin, have at least 4 years of professional experience as a Rust engineer or a software engineer with equivalent skills in any strictly typed language, and are excited about new and exciting challenges that will push the boundaries of your knowledge in software, this is the role for you.

Salaries and Token packages are on offer that are commensurate with skill and experience. Please indicate your expected salary range when applying, and we will take that into consideration during the interview process.

The Process

Please submit your CV for review. A screening call will be conducted by our operations manager. For our engineering or technical roles, the next stage is a 1hr remote real-time code interview run by our existing engineering team in a language of your choice. Following this you will have a more informal meeting with some other members of the team, including the CTO. From there, if successful, a final review with the CEO will take place. This whole process can take as little as 1 week for the right candidates.