Engineering Working Group - Q3 Roadmap

Engineering Working Group Q3 Roadmap

What is the Mission of the Engineering Working Group (EWG)?
The EWG Mission is to service all engineering & technical needs of the Index Coop.

What are the Key Responsibilities of the EWG?

  • Sharing Expertise: The EWG provides feedback to other working groups on the feasibility of products, features and improvements to the Index Coop.
  • Implementation: The EWG implements end-to-end technical solutions for the Index Coop.
  • Maintenance: The EWG maintains Index Coop products, website, and other technical infrastructure.

KPIs: Engineering Working Group Autonomy

The mission of the EWG is to service all engineering & technical needs of the Index Coop. Index Coop and EWG are currently heavily dependent on third parties like Set Labs for the research, implementation, and maintenance of Index Coop products. Below is a survey of the current engineering capabilities of the EWG.

Engineering Competencies

Feasibility & Scoping - This measures the EWG’s ability to do feasibility analysis & scoping along each domain. Producing an effective product feasibility analysis is among the most difficult competencies to develop as it requires lots of expertise and contextual knowledge to know what pathways towards implementation are available, and which pathways will be drought with difficulties. Ideally the EWG can survey existing peer products and can present the different implementation options available and their tradeoffs.

Design & Speccing - This measures the EWG’s ability to produce a technical specification outlining steps for implementation, given a product or feature requirements document. Ideally, the specifications are thorough and complete. The number of times the specification must be edited after implementation has begun is no more than 3.

Implementation - This measures the EWG’s ability to implement a smart contract, web application, or technical operation after being given a technical specification. Implementation requirements will differ by engineering vertical. For instance, with smart contract engineering the EWG should be able to implement the product or feature with few bugs and no critical errors.

Testing - This measures the EWG’s coverage of unit tests, integration tests, and automated testing frameworks. The EWG should write unit tests & utilizes automated testing frameworks at minimum for all mission critical financial product smart contract code.

QA - This measures EWG’s process for conducting black box testing and scenario testing of products. The EWG should thoroughly blackbox test all novel smart contracts, especially those that interact with external contracts written by third parties.

Deployment / Execution - This measures the EWG’s ability to correctly & safely deploy smart contracts or execute multisig transactions on the blockchain. The EWG must writes deployment scripts for it’s products and features. It must safely execute the required multisig transactions according to execution scripts.

Engineering Verticals

Smart Contract - Financial Products

This is smart contract work resulting in the creation of a financial product. Smart contract based financial engineering is among the most challenging and sensitive work the Index Coop does. Creating a secure, & robust financial product requires a high degree of expertise and potentially deep knowledge of the Set Protocol. This includes:

  • DeFi Pulse Index
  • Metaverse Index
  • ETH 2x Flexible Leverage Index
  • Set Protocol Adapters

Smart Contract - General

This is smart contract work that does not result in the creation of a financial product. This work can be just as sensitive as Financial Product work (e.g. when dealing with tokens from the Index Coop Treasury), but also includes other, less sensitive work such as Snapshot Vote Counting. This includes:

  • Liquidity Mining contracts
  • Governance Staking contracts
  • Vesting & Escrow Contracts

Front end / Web3 Application

These are the user interfaces customers and Coop members use to learn more about & interact with the Index Coop & its products. Connecting web applications to read and write to ethereum smart contracts requires some specialized expertise in Web3 tools & patterns. This includes:

  • IndexCoop.com
  • Technical Ops Dashboard
  • Future Governance Staking Portals
  • Other Future DAO Coordination Tools

Technical Operations - Financial Products

These are operations that require engineering support to maintain Index Coop financial products. These are mission critical processes which have very little, or no room for error. These operations also usually have a quantitative element that can be optimized with the right data & analytics in place. This includes:

  • DPI & MVI Product Rebalancing
  • ETH2x-FLI & BTC2x-FLI Product Rebalancing
  • FLI Parameter Recommendation & Execution

Technical Operations - General

These are operations that require engineering support that are not explicitly maintaining financial products. Like Smart Contract - General, these operations may be just as sensitive as Financial Product Operations, but also includes executing on-chain metagovernance votes, or running bots to report on ETH2x-FLI’s leverage ratio. This includes:

  • Deploying Treasury Rewards
  • Funding Liquidity Mining Pools
  • Claiming and distributing Methodologist Rewards
  • Executing Metagovernance Votes
  • Executing the INDEX Sale

Operating Principles

  • Build Autonomy: For the reasons discussed in The Future of Engineering at the Index Coop, autonomy is the north star goal of the Engineering team.

  • Limit Downside Risk: In establishing engineering autonomy, hand off is done in a way that prioritizes limiting (not eliminating) downside risk. Similar to raising a child, it’s ok for EWG to make mistakes as long as downside risk is capped.

    • We cap downside risk by initially taking on non-mission critical operations or having Set build tools to limit user error / having emergency escape hatches allowing Set to course correct.
  • Prioritize Core Contributors: A few contributors brought to high autonomy & context is more impactful than many contributors with low context & autonomy.

    • To effectively & safely ship product at the Index Coop contributors need specialized knowledge: Web3, Smart Contracts, DeFi & Set Protocol at the very least.
    • Onboarding to these technologies requires protracted effort, and we have the best shot at success with committed long term contributors onboard.
    • Given the choice, we will prioritize deepening a committed contributor’s context & knowledge rather than onboarding new contributors.

Q3 Engineering Priorities

The sections highlighted in green below are the immediate areas of focus for the Coop to build it’s engineering autonomy.

These priorities have been set with the idea that Index Coop is fundamentally a product oriented DAO. That is, the Index Coop succeeds primarily when it ships products that deliver value to its users.

From this perspective, product maintenance & product development processes are the critical competencies the Coop must address first. The order of priorities in allocating engineering effort is then:

1. Product & Org Maintenance

Our immediate goal is to get control over all operations required to maintain the Coop & its products in a steady state. This is represented by the green highlighted bottom right quadrant of the autonomy table above.

Here’s what we need to do for product & org maintenance:

Product Maintenance
DPI & MVI Product Rebalancing
This is currently the highest cost activity in the product & org maintenance category. DPI & MVI rebalancing consists in two parts: Rebalance parameterization and rebalance trade execution. For the time taking responsibility for rebalance trade parameterization is the key focus for EWG to get a hold of.

Migration Adapters
DPI & MVI both require active upkeep & smart contract development whenever tokens are migrated. To date, we’ve conducted token migrations from LEND to AAVE, AXIE V1 to AXIE V2, and KNC Legacy to KNC. EWG should be capable of writing such adapters for any future migrations.

Executing FLI parameter updates
Right now FLI parameter updates are recommended by the FLI experts group, but the actual update transactions are still handled by the Set team. EWG should take responsibility for executing these transactions.

Organization Maintenance
Paying out monthly contributor rewards,
Funding liquidity mining rewards,
Paying out methodologist rewards,
Metagovernance vote execution

Maintenance of all of the above boils down to executing a set of multisig transactions. The Index Coop has different levels of ownership of each process. By the end of the quarter, all of the above processes should be the responsibility of the Index Coop.

2. Enable New Product Development

After product & org maintenance needs are satisfied, any left over resources will be applied to building engineering capabilities to do more active product development. This is represented by the green highlighted left column of the autonomy table above.

This means carving out time for core engineering contributors to improve their Solidity & smart contract development expertise, get onboarded to the Set Protocol architecture, study implementation from other DeFi projects and more. One detail to note here: the focus here is not on launching new products per se. We aren’t going to launch new products just because we need fodder to develop core contributors. The primary focus is on leveling up our engineers so the Index Coop can safely build any product it wants.

Here’s a start for what we need to do to enable new product development:

Write Adapters
Adapters are simple but powerful smart contracts that enable Set Protocol modules to interact with third party smart contracts. They add powerful functionality like allowing the TradeModule to make trades against Uniswap V3 pools, migrate MVI’s Axie V1 to Axie V2 tokens, and more. EWG should be able to write it’s own adapters according to product needs.

Write Deployment Scripts
Deployment Scripts are how smart contracts are deployed to the blockchain. Some smart contract deployments that interact with the Set Protocol require approval by the Set Protocol multisig. EWG should have a clear understanding of the Set Protocol deployment process. It should have expertise in how the index-deployments repo works, how deployment scripts work, and follow & develop best practices on how to maintain and improve safety & correctness of deployments.

Gain Deep Knowledge of Set Protocol Architecture
All Index Coop products are currently deployed on the Set Protocol. In order to safely build Index Coop products, in depth knowledge of the Set Protocol architecture is necessary. To improve Set Protocol knowledge EWG core contributors will work on making improvements to the Set Protocol (like writing new adapters).

Conduct Internal Smart Contract Code Review
Right now all smart contract changes are overseen/audited by the Set Labs team. The Set Team will likely continue auditing smart contract changes for the foreseeable future, but an internal smart contract code review process should be implemented to catch as many bugs and security considerations as possible before being handed off for final review by Set Labs.

3. Org, Growth & Business Development Assistance

Once Index Coop & its products technical needs are safely maintained by the EWG, and given sufficient effort is allocated to independent product development capabilities, remaining engineering effort will be allocated to Org, Growth and BD assistance.

We don’t have a clear idea of how these are prioritized at the moment. For now it will be done on an ad-hoc basis until a more carefully thought out engineering prioritization process is in place.

This category includes most other work in the Index Coop:

  • IndexCoop.com new website launch
  • Ad-hoc integrations with other DeFi protocols
  • Ad-hoc smart contracts development e.g. INDEX Investor Sale
  • Token locking/staking contracts for governance rewards
  • Website multi-language support (i18n)

This work will happen in parallel with product & org maintenance and enabling new product development. However, if there is a conflict of resources, product & org maintenance needs come first, and enabling new product development comes before Org, Growth & BD support efforts.

Key Initiatives

Formation of a Technical Operations Team
Index Coop is inheriting a technical operations dashboard from Set. This dashboard is essentially a user interface for making the multisig transactions that keep the Index Coop & its products running. This will cover:

  • DPI & MVI Product Rebalancing
  • Metagovernance vote execution
  • Deploying monthly contributor rewards
  • Funding liquidity mining rewards
  • Paying out methodologist rewards
  • Executing FLI parameter updates

The Tech Ops team’s primary objective is to own this dashboard, it’s operations, and make improvements to it. Improvements will enable new types of multisig transactions to be executed via the dashboard as needed and improve transaction submission safety.

Index Coop Developer Bootcamp
EWG will be carving out time on a weekly basis for core contributors to be aggressively onboarded to the Set Protocol and Smart Contract Development more broadly. This may include attending internal Set Labs engineering meetings for additional specialized context on Set Protocol functionality.

Full Time Hiring
Full Time engineering contributors are simply a necessity for the Index Coop to gain engineering autonomy. The amount of time and effort required to onboard to smart contract development & Set Protocol necessitates this. EWG is targeting 2 Full Time core contributors hired to the Index Coop by the end of Q3.

Engineering Working Group Processes

Building out an autonomous, functional engineering org doesn’t just mean having the engineering chops to deliver product. It also means having engineering processes in place and a framework for deciding what engineering work is prioritized. This work is in progress and will be the subject of a future forum post.

17 Likes

@dylan sorry I am just getting to this! This is incredibly well-written and provides super helpful context - appreciate your time and effort in laying this foundation for the EWG!

Regarding the 2 FT ENG hires for the Coop - will you be posting those roles to the forums soon? I have asked in a few different chats in discord how we can get hiring for these roles moving - would love to understand how I can help in that regard?

3 Likes

Hey @dylan,

Thank you for posting this detailed, thoughtful follow up on the engineering topic.

A few questions:

  1. One of my previous questions was about what person count and skillset are we really looking to take on here to achieve autonomy - am I right to deduce the answer as: current IC core engineering team + two new full time experienced Solidity engineers?
  2. So, related: who is the IC core engineering team at this time? I know it’s been evolving fast. UPDATE: I see this detailed in the request for EWG funding post, which I assume answers my question - please let me know if not.
  3. How much time per week, on av. approx, will the IC core engineering team be getting to this onboarding?

EWG will be carving out time on a weekly basis for core contributors to be aggressively onboarded to the Set Protocol and Smart Contract Development more broadly. This may include attending internal Set Labs engineering meetings for additional specialized context on Set Protocol functionality.

  1. What are the biggest risks you foresee to achieving your goals? And, related, what can the community and the EWG do to reduce their occurence/impact?
1 Like

Thanks JD!
Yeah I’m working on hiring for two roles at the moment. PJ and Abel are helping me strategize around a Head of Smart Contracts hire (probably either converting an enthusiastic senior backend dev to SC, or poaching a dev from another DeFi protocol). Once we have a basic plan put together, we’ll see about soliciting help from the community as needed.

  1. I think a team of 4 FT engineers + a technical PM/manager will get us most of the way there from a capacity perspective.
  2. The EWG request for funding post is mostly accurate. The core members listed there do 90% of the engineering lift for the Coop (as far as I’m aware). However, none of those members are full time with the Coop yet.
  3. I would expect IC core engineers to spend 15-25% of their time on onboarding.
  4. The single biggest risk is, as always, shipping insecure smart contract code. It’s not popular, but I am of the opinion that in establishing engineering autonomy in this industry we are better off doing things carefully and correctly than “moving fast and breaking things”.
5 Likes

What is the requirement for the manager position? Maybe I can help.

2 Likes

Thanks @dylan. Sounds good and I’d generally agree that’s the biggest risk, my my side, re .4

Hey can you DM me on discord? I’m @dylan.
Right now I’m doing most of the technical/PM work for EWG.
At the moment it basically requires knowledge of smart contracts/web3 to confidently translate product to technical specs.

Sounds interesting. I sent DM to you.