View All Opening Roles

Protocol & Debugging Engineer

Brooklyn - Remote
Full-time

About ConsenSys

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/.

About Truffle

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.

Truffle Debugger exists as a Javascript library and as a Javascript CLI application.  It relies on the Truffle Codec library, written in TypeScript, for decoding of values. Maintenance of Truffle Codec is included in the role.

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

About You

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
  • Writing performant JavaScript
  • 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.]

#LI-Remote #LI-EC1

Benefits
title
Competitive benefits

We have a comprehensive and competitive benefits package to make sure we’re looking after you and what matters most.

title
Equity

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.

title
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.

title
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.

title
Unlimited vacation/holidays

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.

title
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.

title
Remote first

You’ll be joining a team based all over the world. Providing the unique opportunity to work with people from across 6 continents.