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.
  • 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 offsites regularly for the team to meet and work together for a week.
  • 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), 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.

  • 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 assume USD is a ERC20 token
// Also lets assume 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

@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

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

Alonski commented Sep 28, 2017

@izqui I fixed a spelling mistake :) https://gist.github.com/Alonski/c76c037d568a9ad48b47c4bb4ae1a519
Or maybe this is a part of the test?

Owner

izqui commented Sep 28, 2017

Thanks for noticing, fixed! @Alonski

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