Sometimes with potentially controversial posts I circulate for feedback before posting. I wanted to do that with this post, but did not for lack of time. Thankfully I got some good feedback during the first couple days it was up and have added some additional comments at the end now that I am republishing it.
As many followers know, I was an excited early adopter of Cloudspokes, what I hoped would be an innovative new platform for engaging developers on interesting projects in different languages. Although I won bunch of prizes early on and even helped promote the platform, at a certain point I stopped participating in Cloudspokes. Since I am frequently asked questions about this, I thought I’d explain why publicly.
The simple premise of Cloudspokes is this:
(2) Cloudspokes lists project
(3) Developers submit entries
(4) Reviewers award prizes based on how well entries meet specs
In a certain sense, this is part of a phenomenon known as “crowdsourcing” which has a fantastic appeal from the standpoint of many companies. Instead of paying someone in house to do the work (who likely cannot) or hiring a consultant (who will cost a lot), we use the old competitive instinct to get lots of people to submit work. We engage more people, get more work, and hopefully get a better result for less cost.
There are several immediate problems that present themselves. First, it must be noted that there are two sets of client-worker relations present here. The first is between the platform (Cloudspokes) and the company which has listed the project. The team responsible from the platform needs to convince the client that their developer base can deliver on projects in order to get the client to list their projects. The second is between Cloudspokes and the developers themselves. In a very real way (which the Cloudspokes team does not seem to have recognized) the developers are the real customers of the platform. For, while the company which listed the project is offering money for a project, there are certain safeguards which exist that prevent them from losing that money if nothing is delivered.
The same does not exist for the developer. The old adage is true: time is money. And since developers are exchanging valuable time for the chance at money, they must determine just how much that time is worth within the context of a Cloudspokes project.
Here are some examples from my experience that illustrate how Cloudspokes does not “put the customers first” when the customers are developers (I cannot comment on any of their other customers). First, I originally stopped participating in Cloudspokes contests after I never got a response from an entry of mine in approximately April of last year, which was a blueprint for testing the skills of Salesforce developers. After being irritated for several months, I contacted Cloudspokes via email and found out that they had some unpublicized scoring system, by which if they didn’t like any entries all that much, they wouldn’t pay anybody and they wouldn’t notify them either. This means, of course, that supposed “first prize” was never awarded to anyone. That, which to me constituted a severe breach of business ethics, was enough for me to discontinue working with Cloudspokes for several months.
However, thinking that some of the warts related to Cloudspokes might be related to the newness of the platform, approximately six months later I decided to give Cloudspokes another try. What I found was extremely disappointing. Many of the warts of the original platform (e.g. contradictory and confusing specs for challenges, lots of spam messages, the inability to type carriage returns in messages) continued to exist after ported to Ruby on Rails. For instance, the March madness challenge, which I attempted to participate in, had all of the following problems:
(1) The timer, which was supposed to measure the amount of time it took to complete the challenges, frequently reported times that were off by an order of magnitude.
(2) The questions, in which one was supposed to fix an error, frequently included multiple errors, including misspellings of method names, making it often impossible to determine which error one was supposed to fix.
(3) The results page at the end of the challenge did not display consistently.
Moreover, when people used the message board of the challenges to report these problems (the only place where one could) the response of the Cloudspokes team was to claim that the message board they were spamming the message boards — also claiming that the timer was being gamed instead of that it was, as later turned out, simply broken.
I also participated in another challenge that was simply terminated before the deadline without any notice posted on either the blog or page for the challenge. Although the Cloudspokes team later claimed that they would continue to score the challenges (despite the fact that the challenge was ended by the Cloudspokes team before the deadline), I believe they did not award any prizes whatsoever. During a long email chain, I was told that I could and should be able to to see the results of the challenge — however, when I reported, after several attempts to view them, that I could not, the Cloudspokes team simply stopped any attempt at “customer support” and no longer responded to my messages.
Given my limited experience, I suspect that there are probably of hundreds of improperly scored and terminated challenges in which developers are simply handed the short hand of the stick and left to lick their wounds when customer support stops responding. Also, although they have a new scoring mechanism supposedly issued by your “peers” (something I suspect is merely a marketing slogan), it appears to me primarily a way for them to avoid awarding any prize money, even if the original problem was that the challenge was impossible under the constraints, contained contradictory specs, or would have required far more time than feasible given the prize money awarded.
My own principle is the “golden law” of doing to others as one would wish to receive oneself. In this case, it includes not wasting the time of anyone, especially talented people who don’t have time to waste following up on your lack of customer support.
Consequently, given the amount of time that Cloudspokes has wasted even in attempting to help them fix things that should have been working before they released them, my provisional judgment is that talented developers should leave the platform to programmers without jobs or job prospects.
Personally, I prefer to do the best job possible and to get paid for doing so (when I’m not working on contributions to the wider open source ecosystem).
Also, although I’ve already given lots of generally ignored free advice to the Cloudspokes team, I’ll leave it with these:
(1) The customer includes the developer
(2) The customer should come first
(3) Don’t lowball people
(4) Don’t waste people’s time
(5) Fix gnawing bugs before releasing new features
(6) Wait until they work before you release things
That said, I hope that the platform is something I would consider using in another year.
Since this was originally posted, Cloudspokes responded with some helpful statistics that may indicate that my repeated problems with the platform (at least as regarded canceled contests and forgotten scoring) were somewhat exceptional. I’d like to give them the benefit of the doubt and so will probably be back at Cloudspokes for further assessment within a shorter period of time than originally anticipated.