Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
Senior Solidity/EVM/Ethereum opening at Aragon

Senior Solidity/EVM/Ethereum opening at Aragon

We are looking for an Ethereum wizard to work with us on Aragon Core and the future Aragon Network.

Conditions:

  • Fulltime commitment. Side projects and open source are accepted (and encouraged).
  • Completely remote position, no relocation required.
  • Very competitive and negotiable compensation.
  • You decide how to allocate your salary in USD, ETH or ANT. Rates will be revisited every 6 months. Example: given a $1000/month salary you can allocate $500 in USD, $300 in ETH (if when pegged it was $100 per ETH, you will get 3 ETH every month) and $200 in ANT, which will get you 100 ANT per month (pegged on a $2 rate).
  • Bonus in ANT based on performance.

Requirements:

  • Expert understanding of Ethereum and the inner workings of the EVM.
  • Ability (and a track record) to ship high quality, well crafted code running on Ethereum.
  • Strong unit testing culture.
  • Being passionate about decentralization (having some concerns is totally fine, we all do).
  • Being an autonomous individual with a proactive attitude and a love for time self-management (We are focus-driven work, not hours-driven).

Good to have:

  • Interest and knowledge in cryptoeconomics.
  • Experience contributing or managing open source projects.
  • Very good written communication skills.

How do we work:

  • We are a fully distributed company – we don't think talent is geographically centralized.
  • We do focused deep work sessions 4 days a week, leaving Friday for all meetings, calls, thinking time and side projects.
  • We encourage team members to spend a substantial part of their paid work time on unrelated blockchain open source projects to speed up the development of the ecosystem.
  • We are open source only.
  • We are a technology company. Our focus is product first.

Extra:

  • We will reward referrals for successful hires up to 10% of the first yearly salary. This would be done with a vesting type smart contract that would be voided in case the hire leaves the organization.

How to apply:

  • Write the code (deployable to the EVM) that will be used to pay your salary, publish it on Github (public or private) and send link to repo plus any information you consider important to jorge@aragon.one, with the subject Solidity opening application.

  • We will consider rewarding good submissions even if the candidate doesn't end up working on Aragon.

  • The code we are looking for could be comformant to the following interface. Feel free to remove/add any functions as you see fit:

// For the sake of simplicity lets asume USD is a ERC20 token
// Also lets asume we can 100% trust the exchange rate oracle
contract PayrollInterface {
  /* OWNER ONLY */
  function addEmployee(address accountAddress, address[] allowedTokens, uint256 initialYearlyUSDSalary);
  function setEmployeeSalary(uint256 employeeId, uint256 yearlyUSDSalary);
  function removeEmployee(uint256 employeeId);

  function addFunds() payable;
  function scapeHatch();
  // function addTokenFunds()? // Use approveAndCall or ERC223 tokenFallback

  function getEmployeeCount() constant returns (uint256);
  function getEmployee(uint256 employeeId) constant returns (address employee); // Return all important info too

  function calculatePayrollBurnrate() constant returns (uint256); // Monthly usd amount spent in salaries
  function calculatePayrollRunway() constant returns (uint256); // Days until the contract can run out of funds

  /* EMPLOYEE ONLY */
  function determineAllocation(address[] tokens, uint256[] distribution); // only callable once every 6 months
  function payday(); // only callable once a month

  /* ORACLE ONLY */
  function setExchangeRate(address token, uint256 usdExchangeRate); // uses decimals from token
}

eolszewski commented May 23, 2017 edited

@izqui This is clever insofar as getting a look at how people are developing with solidity, I wish you all the best of luck finding good solidity devs that are not at Consensys. Are you all operating under a DAO?

Considering USD isn't transferrable on the blockchain (as opposed to ETH and ANT), how can one write a smart contract to pay their own salary--especially assuming the extreme case where they want to be paid 100% in USD?

Owner

izqui commented May 30, 2017

@DeviateFish we are assuming USD is some sort of ERC20 token that you can exchange for Aragon sending you a wire of that x tokens. Just for the exercise's sake though.

Owner

izqui commented May 30, 2017

@eolszewski we are working hard so we can operate as a pure DAO as soon as possible

DeviateFish commented Jun 8, 2017 edited

@izqui Thanks for the clarification, and the updates! Sorry for the late response, apparently I don't get notifications about responses on gists :(

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment