This document is intended to serve as a guide for all the Validators on the Indorse platform. This pertains to skills validation based on the Anonymous Indorsement Protocol, the feature that allows all programmers to have their coding skills validated by expert programmers!
Validators are a key elements of this unique and innovative skills validation process; and this guide will accompany you in your first steps as a coding skills Validator on the Indorse platform. During these first steps, you will be invite to join a community of enthusiastic expert developers, and you will also be able to interact directly with the core team. We look forward to having you on board!
Currently, our Skill Validation feature supports 6 different programming languages namely Python, Java, JavaScript, C#, PHP and Ruby. Furthermore, users can claim to possess the coding skill in one of the 3 levels including beginner, intermediate or expert.
A user can claim a coding skill via two paths. He/she can either make a claim of his/her coding skill by submitting a proof (GitHub repo, etc.) or/and pass an assignment posted on Indorse and submit it on the Indorse platform.
Your key task as a Validator is to evaluate the coders’ skills by reviewing the submitted proof or/and assignment. Based on your evaluation of their skills, you will validate/indorse or reject/flag their claim of possessing the specific coding skill.
Rewards!
On the Indorse platform you will be able to monetize your coding skills & insights! Thus you will be rewarded for your contributions as a Validator in the form of Ether (ETH). Validators get handsomely rewarded for every validation that they complete. The rewards will be distributed at the end of our payment cycle - once every month.
How the Validation Process Works
“There are two main actors in this system — a Claimant (who claims to know a skill) and a Validator (a pre-vetted expert in this skill, who will validate several claims being put forth by claimants).”
Claimant
- The Claimant creates a claim.
- a. S/he will attach a proof of a skill and a short description to showcase this skill OR s/he will submit the assignment by uploading the relevant project file.
- S/he will await status after submission.
Validator
- You will receive an email for those claims for which you are selected as a validator. This selection is random and you are picked from a growing pool of validators for a specific skill.
- You will be invited to “vote” on multiple claims according to the skill you have selected.
- By Indorsing the claim, it approves & verifies the claim. If flagged, it would be rejected.
- Upon completion, Ether will be awarded to you and the Claimant will have an Indorsed skill (or not).
- Rewards to Validators will be distributed as per the above mentioned schedule.
Voting on Ethereum
Blockchain tech is a crucial component of our platform. We use Smart Contracts to stamp skills validations on the Ethereum blockchain. In other words, you are expected to complete the voting process by signing a transaction on the Ethereum network.
The whole process is straightforward, a Validator only needs to follow these first basic steps before starting to vote:
- Voting is only possible by using the Metamask plugin on supported web browsers on your Desktop. In other words, you will need to install the Metamask plugin. Here’s a fun tutorial about all things Metamask!
- Once the plugin installed, you will have to ensure that the Ethereum address on your Metamask profile is the same as your Ethereum address on your Indorse profile.
General Guidelines for Validation & Voting
When a claim is created, a Validator will see 3 information:
- The programming language and coding level the user claims to have (beginner, intermediate, expert)
- A short description of what the user can do and what the submitted repository is about.
- The GitHub/code repository of the user
Here is an example of what you will see on your very own Validator dashboard. In this case, the Claimant is a JavaScript programmer claiming to have coding skills at “expert” level.
To learn more about this specific expert programmer and see if his claim was indorsed by our Validators, click here. If you want to read about another claimant, here you go!
As a Validator, you are expected to review the code and apply learnings from your experience to determine if the individual has the skill that s/he has claimed to have. You can use the following factors to determine the right level of coding skill. This is not an exhaustive list, and we encourage you to apply your own criteria and best judgment. This is what our validation mechanism is about: Human Intelligence fuelled by cutting-edge technology!
- Years of professional experience (if shared on GitHub/repository profile or provided in claim description)
- Number of projects handled
- Activity on the GitHub or other shared repository
- Original contributions to the projects (vs. just cloned other projects)
- Overall complexity of the final solution of the projects handled by the user, for which codebase is shared
- Professional positions held (if shared on GitHub/repo profile, or provided in claim description)
Once you decide to assess a claim, you will be asked to evaluate the claim based on 4 different criteria and rate the code on a scale from 0 to 5.
Code Quality: Single responsibility principle, Liskov substitution principle, dependency inversion, open/closed principle, etc.
Knowledge of Design Patterns: Database modeling principles, object-oriented analysis and design (OOAD) principles, etc.
Source Control Usage (Gitflow): Consistent commits, degree of authenticity of repo, good usage of git principles, etc.
Test Coverage: Good test coverage, contains unit and regression test, etc.
For each claim, you will also have the possibility to add some comments that the Claimant will be able to read. This allows for potential improvements to be made but also to foster cooperation within the community. Indeed, cooperation is at the crux of the open source community and it is a standard that Indorse holds dear.
More resources