TL;DR: We’re looking for experienced software engineers to join our team. Our ideal candidate has real world experience with distributed systems, an appetite for exploring cutting-edge technologies, and strong and empathetic communication skills.
About us: Interchain GmbH is a 15-person company which works on core blockchain technology. We are based in Berlin, but our team stretches from New York City to Ulyanovsk, Russia. We keep in touch through Slack and Zoom, and get together in person periodically (when COVID permits).
One of our products is Tendermint Core, an open source consensus engine. Tendermint Core powers a number of projects both inside and outside the blockchain space, including the Cosmos Network. All in all, Tendermint Core secures billions of dollars of value across many different systems. But we don’t take ourselves too seriously: We strive to build great software, while having a lot of laughs along the way.
We’re looking for software engineers to build and steward Tendermint Core. Activities include:
- Anticipating new attacks on Tendermint Core 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 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 from many different teams, and from many different companies. You 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:
- Consensus algorithms, like Paxos, Raft, or PBFT
- Blockchains or other distributed databases
- P2P systems
- Open source maintainership
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.