Proof of Competence Proposal Draft
This document proposes an open-source Proof of Competence (PoC) framework and implementation for Developer DAO to recognize a DeveloperDAO member’s demonstrable skills and knowledge through the use of onchain and community approved methods. Skills will be identified and scored based on the types of tasks completed through DeveloperDAO Journeys.
A successful implementation of the framework will allow each DeveloperDAO member the ability to obtain an objective and verifiable assessment for each of their skills that is identified by the framework and a completed DeveloperDAO Journey. The assessment will be an easy to understand and universally applied measure for whichever skill is being considered, enabling an objective appraisal of competency.
This project provides value in several fronts:
The components of this framework and implementation will consist of:
A DeveloperDAO Journey is a task or project that has been defined or approved by DeveloperDAO and meets specific criteria to qualify for a set of skills. Anyone that successfully completes a journey will become eligible to obtain a skill rating based on that journey. Journeys can be developed internally by DeveloperDAO teams or adopted from external sources.
A process would need to be developed to onboard a Journey before it can be used to obtain a skill rating. The process should engage delegated DD members with recognized expertise in each specific skill to assess the level for each skill that is identified for a journey.
There would need to be consistency in the content of a journey to ensure an accurate assessment if it changes over time. Material changes to the content should be communicated and submitted for reassessment to ensure the skills identified have not changed, and if so, updated.
Eventually, a catalog of journeys could be made available for members to search for and complete and develop skills that interest them.
There has been healthy discussion across the discord, voice chats and this document covering the ways in which we could potentially measure competence. We are exploring the concept of a hybrid between a skill rating that comprises a score as well as a level. The idea being that a score invites more engagement for the member to develop their skills while the level provides an easy way to identify where a member lies within a spectrum of competency.
The skill ratings will be applied through a combination of onchain verifiers and DD approved methods. Off chain methods will contain a reward mechanism to help promote participation.
On Chain Verification | DeveloperDAO Approved Off Chain Methods |
NFTs granted upon completion | One-on-One Coding Interviews |
Submitting a user’s known address to confirm certain activities onchain | GitHub contributions? |
Identify categories and subcategories to encompass skills. Skill category and subcategory identifiers would offer benefits to users (as a form of recognition for their development in a skill), to the community (as a way for members to understand each others’ capabilities), and to potential employers (as a way for them to easily search for specific categories or subcategories of skills that interest them).
Some skills will probably overlap across multiple categories so it might be worth considering how to factor that into a skill rating. Each category can expand into more specific subcategories. Skill ratings could be aggregated by top level category to create a heat map. This would be an interesting view on a member’s profile.
Languages
| Protocols
| Libraries
|
Projects | Marketing | Community
|
Governance
| Blockchains
| Tools
|
The process of assessing journeys to identify the underlying skills should be a collaborative effort between a delegated Developer DAO team and participating companies or projects. It would be ideal for any project or company that offers a completion based NFT[a] (for example buildspace) to undergo an assessment to identify the minimum skills required to complete and earn an NFT. Those skills could then be mapped to their respective category and subcategories.
By identifying the minimum skills necessary to complete a journey, we could avoid running into qualitative disagreements. Keep it simple and agree on minimum skills necessary. The additional benefit of focusing on minimum skill necessary is that we can stay focused on consistency. Any form of POC rating will only have value if it can be relied upon.
A POC rating[b] based on minimum skills necessary could allow for an alternative way to evaluating a person’s capabilities beyond x years experience. Instead of time, the PoC rating could be a sum of each individual skill across every journey completed. As a person completes more journeys, their PoC rating increases - both their overall rating and the individual skill rating.
This project can have synergism with the DeveloperDAO job board where the User Profile in the Job Board MVP can show their competence in the tagged skills. With on-chain verifiable skill recruiters can expedite their hiring process, because they can easily determine which candidate has the skill they want and at the level they want.
Moreover, we can suggest potential candidates that meet the required skill set and experience to the recruiters instead of waiting on applicants. This could open the avenue for funding our treasury with a percentage of each placement.
We need a process for allowing industry to provide continuous feedback on the skill rating methodology to ensure its value and relevance. We also need a process to capture the current needs of industry in terms of identifiable skills. This feedback/collaboration will allow us to validate the PoC concept and continue to improve on it.
We are considering reward mechanisms for both participants that complete journeys as well as to incentivize members that conduct interviews or other approved off-chain methods to verify skills. A reward mechanism for participants is something that will be considered for a future iteration.
There will be enough incentive at this time for members to complete journeys and receive a skill rating that demonstrates their competency for various skills. Designing a reward mechanism to incentivize and promote the use of off-chain skill rating methodologies will take priority. It will be an important way to bootstrap participation.
How will the community measure the project’s success?
We can measure the success by the number of people that utilize the framework for onboarding.
Job placements
Demand for project to be vetted by DeveloperDAO
Give a brief about who you/your team are and mention your discord handles.
Relatively smaller/ non-complicated proposals can be voted in the Discord Polls for quick execution. Bigger and significant proposals will move to the Voting phase.
Please enter any future ideas that have not been discussed in the proposal here so we can keep a tab on them.
Wed Nov 24 from 11:30 AM - 12:30 PM EST
How will core contributors be measured?
How can we make it modular
What about non-development skills
Skills Category
The whole system
Rating
Contributions / Verticals
Score
How do the rewards work
Hiring
Domain experts
Action Items
What:
This RFC is to propose an open-source Proof of Competence framework and implementation to recognize a DeveloperDAO member’s demonstrable skills and knowledge through the use of onchain and community approved methods. A successful implementation of the framework would allow each DeveloperDAO member the ability to obtain an objective and verifiable assessment for each of their skills that is identified by the framework.
The components of this framework and implementation will consist of:
Why:
How:
Developing a framework and implementation for Proof of Competence will require a multipronged approach. There are existing projects and RFCs already underway that relate directly to Proof of Competence that could be eventually integrated.
To keep this proposal focused, it might be best to identify some primary tracks to branch off of and begin building teams to champion those tracks.
The primary tracks could include:
Some work has already been done that we can build off of. See this current Proof of Competence framework. There has also been some very high level discussion in the #proof-of-competence channel and a thread on skill categories in the #Skill Categories and Levels thread.
By creating branches for each of the main tracks, we can keep the conversations and efforts focused. Regular working sessions with all of the branch contributors can keep everything aligned and moving forward.
[c]
[a]Will we need to enforce some mechanism to tie them to a single identity (the initial user being granted the NFT), or will transfers be allowed?
Also, given how quickly technologies change, should these expire, or are they permanently valid?
[b]Are these an aggregated number based on the completion of journeys, or are these determined by the NFT achievements a user receives? (or something that integrates both?)
[c]I've removed this for now to try and keep the document focused. Perhaps this can be added to the relevant track?
"In order to properly understand how to improve the current Proof of Competence framework, we must first understand what it currently consists of. The current framework incorporates journeys, on-chain verifiers, and a user interface. Journeys define tasks that are important to new projects, protocols, or DAOs, thus helping people familiarize themselves with it in an interactive fashion. Tasks are simple activities that can be verified on-chain, for example, "Create a Web3 wallet". Each task has a corresponding name, description, points, verifier, and an optional chainId.
Putting a set of tasks together creates a journey for participants to follow along interactively as they learn about a new project, protocol, or DAO. Journeys have the potential to gamify learning with the points one accumulates as a result of completing the tasks. But it’s important to note that this will be used as a reward mechanism and not as a measure of one’s competence as it can become rather complex to gauge an individual’s competence with just a score. Finally, we have a UI that allows individuals to interact with the Proof of Competence logic written in Typescript with a React and Next.js infrastructure.
"