We believe that everyone’s money should be secure. Billions of people around the world don't have a safe place to store their money. Their banks can't be trusted. Their governments inflate their currency to pay off debts, hurting citizens. Our mission at Reserve is to change that. Reserve is a stable, decentralized currency that can’t be abused by a government. It’s globally distributed and outside of anyone’s control, so bad governments can’t shut it down.
We are taking a maximally nimble approach to developing extraordinarily robust programs, and the best practices in the domains we’re working in change on a month-by-month basis. This role therefore requires substantial methodological flexibility. You will support the engineering team with its mission to efficiently ship smart contracts that are correct and secure, and adapt along the way to improved processes. Here are some example responsibilities you’ll take on towards that goal:
- Helping our team maintain operational security.
- Implementing and testing Ethereum smart contracts.
- Implementing user interfaces for our smart contracts.
- Learning and evaluating new toolkits for testing and development.
- Automating fuzz testing for smart contracts.
- Researching and trying out further ways to make our software more reliable.
- Closely scrutinizing your teammates’ code.
- Explaining your reasoning for implementation decisions.
- Writing technical documentation.
Your day at Reserve
Show up at 10am for our full-team meeting. In the morning, code up a new property to test the equivalence of our in-memory and our on-chain smart contract implementations. Have lunch with the engineering team, where you talk about clever ways that our system could be hacked. In the afternoon, experiment and provide feedback on a newly-developed toolchain. Find a bug, write a regression test for it, implement the patch, and poke someone to review the pull request. Watch a video going around the engineering team about some of the beautiful things you can do with hashing and merkle trees. Go climbing at 7pm with half the engineering team.
- You have demonstrable software engineering ability.
- You are excited to learn and build things in new languages and frameworks.
- You are adept at learning new technical concepts.
- You have worked in a tightly coordinated team, and know how to sync closely with team-members.
- You are willing to throw away everything you were just working on in the name of agility.
- You're a fit for our eccentric culture (read more about it here).
In your application please link to some code that you wrote that reflects your abilities (e.g. github).
- Familiarity with the blockchain industry.
- Familiarity with Go.
- You can think in the security mindset.