0cracy - hands on experience

7 minute read Published: 2019-07-03

I was thinking about to join zerocracy for a long time and decided to give it a try (and try my dev power by the way) this spring. This story consist of two parts:

  1. Objective sequence of facts - what I did and what happened.
  2. Subjective thoughts and future plans.

"It's a rock fact!"

Policy, GitHub and Multipassport.

To start working with zerocracy you should know what it is first (if not, please read this small description at least).

I started to follow Yegor several years ago and was really interested in ideas of microtasking, distributed and asynchronous teams. Being not a good 'Java' developer (mostly I qualified in 'Spring' development) I waited too long before I decided to join zerocracy and what I did:

  1. I read the full policy - to do not spam in zerocracy telegram chat.
  2. Registered in 0crat - you will need to connect your GitHub account and because I already had it and I use only one account, I just made it.
  3. I identified myself through the only OOB (out of the box) option - Yoti. I failed first because they support only multinational passports and I tried Russian passport. But the service has a good support, their consultation was helpful to understand what went wrong and I proceed with 'supported' passport in a timely manner.

Choose wisely

After all bureaucracy I was able to find an appropriate project. Zerocrat has a board where you can find information about projects you can participate in. Because I wasn't able to join non-sandbox projects and I also not a Ruby dev, there was not a lot of options with open jobs. I send a requests to '@zerocrat_bot' for jPeek project.

apply github:yegor256/jpeek DEV 16USD

failed with: Argument "16USD" doesn't match regex \$\d{1,3}

apply github:yegor256/jpeek DEV $16

failed with: Argument "github:yegor256/jpeek" doesn't match regex [A-Z0-9]{9}

apply C7JGJ00DP DEV $16

failed with: Your profile rate is 0, you can't suggest higher rate of $16.00 for the project jPeek (https://www.0crat.com/p/C7JGJ00DP); the rate you want the project to pay you must be lower or equal to your profile rate

apply C7JGJ00DP DEV $0

and boom: The project jPeek (https://www.0crat.com/p/C7JGJ00DP) was notified about your desire to join them on March 20.

One Month Later I remember that I applied to zerocracy and asked for a help in telegram chat:

@humb1t: @yegor256 - sry for off-topic, I told you in Samara that there is no jobs in Java sandbox and I thought so because of "2Crossed-out projects are not properly funded at the moment and new jobs are not assigned to programmers;" - this phrase made me think there is no jobs in java sandbox @pauloeduardolobo: we have jpeek and takes projects, we always have issues there and we accept everyone, sandbox or not @pauloeduardolobo: but we just pay reputation points @humb1t: cool, thanks @pauloeduardolobo: just apply, or ask me and i'll sign you up @humb1t: I applied on March 20, and still waiting - if you can, sign me up - humb1t @pauloeduardolobo: sorry I didn't saw your appliance @pauloeduardolobo: both ones? @humb1t: let’s start with jpeek @humb1t: thank you in advance @pauloeduardolobo: assigend as DEV and REV, welcome!

And I received You just got role DEV in the jPeek (https://www.0crat.com/p/C7JGJ00DP) project; you work for free on April 19. Several jobs 1,2 and 3 were assigned to me and I started to work on the next day.

Bugs, bugs are everuwhere

And the first thing I found - is a Blocker bug - the whole build is broken because of low test coverage. I reported a bug, which blocked other issues. And to do not waste my time I made a WA (work around) with PR where I set coverage limit to current value. What about the task, you can look at our conversation with Paulo Lobo about it. He as an ARC (Architect) decided to do not merge this PR before fix of the blocking issue. The same situation with this and this.

Two days later THE bug was assigned to ME by ARC (which means no one else was able to start working on it) and I started to fix it.

@paulodamaso The job #320 assigned to @humb1t/z, here is why; the budget is 30 minutes, see §4; please, read §8 and §9; if the task is not clear, read this and this; there will be no monetary reward for this job
Manual assignment of issues is discouraged, see §19: -5 point(s) just awarded to @paulodamaso/z
It is strongly discouraged to assign jobs to their creators, see §19: -15 point(s) just awarded to @paulodamaso/z

The next day I submitted a PR with a fix.

This pull request #321 is assigned to @ilyakharlamov/z, here is why; the budget is 15 minutes, see §4; please, read §27 and when you decide to accept the changes, inform @paulodamaso/z (the architect) right in this ticket; if you decide that this PR should not be accepted ever, also inform the architect; this blog post will help you understand what is expected from a code reviewer; there will be no monetary reward for this job

You can see review process in PR, object oriented assertations I reported as a bug and received another +15 points. Ilya also made a lot of comments and on April 25 PR was ready for merge, waiting the ARC to accept it.


@ilyakharlamov/z this job was assigned to you 5days ago. It will be taken away from you soon, unless you close it, see §8. Read this and this, please.

Ilya received punishment on April 28.

You got -30 point(s) in the job #320 (https://github.com/yegor256/jpeek/issues/320) in jPeek (https://www.0crat.com/p/C7JGJ00DP), your total is +0 (https://www.0crat.com/u/humb1t/awards), see §18 (http://www.zerocracy.com/policy.html#18): Resigned on delay, see §8 (http://www.zerocracy.com/policy.html#8)

I received punishment on May 2. On April 30 ARC made a review and I fixed after the punishment. I also made an issue because API wasn't clear.

Summertime sadness

@paulodamaso/z everybody who has role REV is banned at #321; I won't be able to assign anyone automatically; consider assigning someone manually (as in §19), or invite more people (as in §51), or remove the job from the scope (as in §14)

was commented by bot on June 1.

On June 6 ARC made a couple of new change requests which I fixed on June 12.

On June 17 new reviewer was assigned, but on June 22: @Nermeen78/z this job was assigned to you 5days ago. It will be taken away from you soon, unless you close it, see §8. Read this and this, please.

And on June 28: paulodamaso approved these changes - great, isn't it?

No - @rultor/z the issue is closed not by @humb1t/z (its creator); I won't close the order; please, re-open it and ask @humb1t/z to close it and after I wrote this line I will go and close the issue reopened three hours ago. (Or will not)

"How you feel?"

I feel quite strange. It's not a twitter and I would not just throw my emotions here, just a couple of thoughts.

  1. 0crat is a good assistant, but it doesn't integrated with GitHub well, especially with new features.
  2. Philosophy of being lazy is not what I met in jPeek. Ilya spent more than 15 minutes on review and failed to earn something in the end.
  3. ARC is a god and as a real god can dissapoint his "contributors". Because there is no god, all we human and maybe situation is different in non-sandbox, in jPeek instead of working in PDD people try to spent time making things "right", not "work".
  4. Zerocracy need to scale, not only in projects, but in resources too. But having such a gap in learning curve as "earn reputation for free in sandbox" can be a big trouble. Maybe if I was unemployed and that was the only chance to earn money I would spend more time kicking REV and ARC, rushing towards reputation and payments in dollars, not reputation. But it was easier for me to had a full time job and I set my vacation on in zerocracy, despite my goal was to earn some money and calculate the profit before publishing the blog post.o

So I will wait for some time and maybe give it another try, for those of you who would join I suggest to don't spend your time on "free" projects, be more proactive and aggressive, feel free to ask me a questions in telegram, vk or twitter @humb1t.