ConsenSys is the leading Ethereum software company. We enable developers, enterprises, and people worldwide to build next-generation applications, launch modern financial infrastructure, and access the decentralized web. Our product suite, composed of Infura, Quorum, Codefi, MetaMask, and Diligence, serves millions of users, supports billions of blockchain-based queries for our clients, and has handled billions of dollars in digital assets. Ethereum is the largest programmable blockchain in the world, leading in business adoption, developer community, and DeFi activity. On this trusted, open source foundation, we are building the digital economy of tomorrow. To explore our products and solutions, visit http://consensys.net/.
We make open-source tools for building blockchain applications. Our tools let users simulate blockchain virtual machines, debug smart contracts step-by-step, manage suites of automated tests, deploy applications to live networks, interface with smart contracts at a high level of abstraction, and much more. We believe that software development tools should offer sensible defaults and never lose sight of human intent amidst low-level details.
About the Role
Your primary work will be to maintain and improve Truffle Debugger and other related Truffle tools and libraries. Truffle Debugger is a tool that allows replaying and stepping through traces of Ethereum transactions in order to study their execution. It provides both low-level capabilities, such as viewing the contents of the stack and memory, and high level capabilities, such as decoding the values of Solidity variables from their binary representation.
Truffle Debugger focuses on correctness, comprehensiveness, and compatibility, in every case where this is possible. In your role here, you will help to keep Truffle Debugger up to date with new versions of Solidity; adding support for whatever has been added, and fixing anything that may have been broken, while also maintaining compatibility with older versions. You will also help to expand the capabilities of Truffle Debugger to new areas.
You’ll share responsibilities with your team to:
- Ship regular updates to stay up to date with the changing ecosystem
- Fix bugs and otherwise improve the end-user experience
- Expand the capabilities of Truffle Debugger and Truffle Decoder to handle new use cases
- Invent novel ways to improve the developer experience across our suite of tools and the rest of the Ethereum ecosystem.
- Implement CI/CD to fully automate our release process
- Write and maintain our documentation
You’re comfortable with:
- Noticing, reasoning about, and experimenting on edge cases and corner cases
Truffle Debugger focuses on correctness, and Solidity and the EVM have a number of minutiae and dark corners, so you should be comfortable with looking for and thinking about such cases and with writing code to handle them. (You won’t be expected to know all these off the bat, of course!)
- Keeping up to date with a changing ecosystem
The Ethereum ecosystem, and the Solidity language in particular, are under constant development; we need to be able to make sure our tools support the latest versions… and the oldest, too.
- Making sense of undocumented data formats via experimentation
Truffle Debugger often needs to make use of undocumented or changing data formats. You’ll need to be able to make determinations about the workings of these formats, across their various versions, via experimentation.
- Spoken and written communication
Due to the factors above, the code behind Truffle Debugger can in some places be a bit arcane, so it’s important to be able to explain your work on it to keep everyone in sync, whether via code comments, PR descriptions, or internal discussion.
- Architecting solutions to open-ended problems
The Ethereum ecosystem is in many ways still developing, so sometimes, we have to invent the data formats we need and the tools to handle them!
- Writing software and tests
This is, after all, the core of the role!
Skills you’ll learn, or improve upon if you’re already knowledgeable:
- TypeScript and Node.js
- Redux, Reselect, and Redux-Saga
- The Ethereum Virtual Machine and its bytecode
- The Solidity smart contract language
- Vyper and other smart contract languages
- The Truffle suite of tools
- Managing and interacting with a open source developer community
You’ll have these opportunities:
- Ship software that reaches 100s of thousands of developers
- Connect with ConsenSys engineers from MetaMask, Infura, Pegasys, Protocol Labs, etc to coordinate and build software to further foster the Ethereum ecosystem
- Help build the future of economy by creating the tools used in its development
- Attend and speak at conferences around the world (DevCon, TruffleCon, more!)
- Be mentored by some of the best minds of Ethereum and Cryptocurrencies
- Live anywhere with a quality Internet connection
ConsenSys is an equal opportunity employer. We encourage people from all backgrounds to apply. We are committed to ensuring that our technology is made available and accessible to everyone. All employment decisions are made without regard to race, color, national origin, ancestry, sex, gender, gender identity or expression, sexual orientation, age, genetic information, religion, disability, medical condition, pregnancy, marital status, family status, veteran status, or any other characteristic protected by law.]
We have a comprehensive and competitive benefits package to make sure we’re looking after you and what matters most.
We believe in ownership and want everyone to have a stake in our future success, that’s why you’ll receive equity when you join us.
Recognized in the blockchain and Web3 ecosystem
Working at ConsenSys is a tremendous reference for your career. You’ll join a network of entrepreneurs and technologists that extends across the global crypto ecosystem.
Continuous learning & opportunities
We provide ongoing growth and development through on-the-job learning, and the ConsenSys Advance Program which includes full access to Coursera, bespoke and technical learning programs and ConsenSys Academy our world-class blockchain and Ethereum program.
We value downtime to recharge and reset, ensuring everyone at ConsenSys has work/life balance. In addition, company-wide we participate in “zero productivity” days to take a break from work, shut down, and sit back and relax.
Flexible working arrangements
With our global workforce we have fine-tuned asynchronous working which means we have a lot of flexibility in the structure of when we work and how we work together.
You’ll be joining a team based all over the world. Providing the unique opportunity to work with people from across 6 continents.