# Protocol Engineer

**As a protocol engineer, you’ll work with our product team and senior engineers to develop extensions and improvements to the PoolTogether Protocol. Our team is small, so you’ll have a significant impact on the product and decision making.**

## What You’ll Do

* Work with the product team to develop requirements and specifications&#x20;
* Design, develop, test, deploy and verify smart contracts
* Write scope-of-work documents for auditors
* Review audit reports and mitigate issues
* Analyze and debug production issues reported by users
* Setup and manage transaction automation
* Stay up-to-date on smart-contract security concerns
* Research protocols that could provide value to PoolTogether
* Understand the PoolTogether Protocol thoroughly, so that you can improve the system.

## Your Skills and Knowledge

* Have excellent written and verbal communication; we communicate asynchronously most of the time.
* Write Solidity smart contracts&#x20;
* Deploy smart contracts to Ethereum, Optimism, Arbitrum, Polygon and others.
* Test smart contracts rigorously using unit, integration, and fork tests.
* Work with Hardhat and Foundry
* Understand the limits of fixed-point arithmetic and how to minimize error.
* Understand EVM storage constraints and practice efficient memory management.&#x20;
* Be familiar with smart contract standards such as ERC20, ERC4626, etc.
* Have a solid understanding of smart contract design patterns
* Know how to design for an adversarial environment
* Have excellent knowledge of smart contract security concerns and how to mitigate them

## To Apply

**This is a remote position for residents of the United State or Canada**

Apply to <careers@pooltogether.com>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://careers.pooltogether.com/careers/protocol-engineer.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
