Interchain is a young, ambitious, and values-led team working on the core blockchain technology of the Cosmos ecosystem and the Cosmos Hub. We’re headquartered in Berlin, Germany, but our team stretches from the west coast of the US to eastern Europe. We keep in touch through Github, Slack, Discord, and Zoom, and meet in person periodically (when COVID permits). All in all, the software we develop secures billions of dollars in value across many different systems, but we don’t take ourselves too seriously. We strive to build world-class software while having plenty of laughs along the way.

One of our responsibilities is Tendermint Core, a Byzantine Fault Tolerant consensus engine which powers a number of projects both inside and outside the blockchain space, including the Cosmos Network. Tendermint Core engineers are responsible for building and maintaining Tendermint Core.

Activities include:

  • Anticipating new attacks on Tendermint and designing and implementing new ways to handle them
  • Architecting and implementing new features, like state sync, to make Tendermint safer and faster
  • Refactoring pre-existing components, like the mempool or P2P layer, to meet new needs
  • Testing distributed systems and ensuring protocol and implementation correctness
  • Updating Tendermint to meet new requirements from users and ever-increasing performance needs
  • Reviewing pull requests from community contributors and answering questions from users

We’re not especially picky about your previous experience, but we're looking for candidates who ideally have:

  • A solid understanding of distributed systems fundamentals, and real world experience with distributed systems. You have worked on systems that have nuanced concurrency and data models.
  • Great communication skills. You speak and write with clarity, and have a high degree of empathy. You are comfortable working with people across company lines and can collaborate with strangers over the internet.
  • Excellent generalist programming ability. You have a knack for systems design and can debug sophisticated programs when something goes wrong. You have experience working in a systems language. We do all our work in Go, but if you’ve worked in another language like Rust, Java, or C, you’ll probably be able to get up to speed quickly with our projects.
  • Curiosity and a desire to learn new things. You are keen to continue honing your craft, and you’re not afraid to jump into an unfamiliar area.
  • A taste for simplicity. You know how to choose good abstractions and make sensible choices around 3rd party dependencies.
  • Demonstrated ability to take ownership. You finish what you start and keep a high standard of quality. You take pride in your work.
  • A home base within our working timezones. You are probably based in a timezone between UTC-5:00 (New York) and UTC+3:00 (Moscow).

It is nice, but not a requirement, to be familiar with:

  • Go
  • Consensus algorithms, like Paxos, Raft, or PBFT
  • Blockchains or other distributed databases
  • Networking
  • P2P systems
  • Cryptography
  • Open source maintainership

Not sure if you're a fit? Please feel free to apply anyways, and we'll take it from there.

Interchain GmbH believes that great people come from a broad range of backgrounds, and that the diversity of our team is one of our strengths. Discrimination has no place at Interchain GmbH and we do not discriminate on the bases of race, color, gender, gender identity, national origin, age, religion, disability, or sexual orientation. We are committed to fighting bias and discrimination in our workplace and in our communities.