Crowdsourcing Code is Not Evil

26. September 2015 Crowdsourcing 0

Introduction

The idea of crowdsourcing has sure come up a lot lately, at least in my domain. By analyzing the sentiment of folks I discuss it with I have realized that some may see it as evil. Although they don’t say this directly you can read a person’s subtitle hints. For those who don’t know what crowdsourcing is, think Kickstarter. I’m sure most people have either heard of it by now or actually used it. Either way, I’m going to look over some of the reasons why people may see crowdsourcing as evil, coming from the context of software development.

Crowdsourcing Defined

The Crowd
Image Source: openclipart.org

So exactly what is crowdsourcing? I mentioned Kickstarter because it’s a form of crowdsourcing. Simply put, crowdsourcing is the rallying of a group of people (the crowd) to collectively achieve a goal. This goal could be to obtain funding or a service. For example, Kickstarter works by allowing people to post their projects and seek funding to execute their visions. Those who participate earn some kind of reward which serves as the incentive for chipping in to begin with.

Wikipedia defines crowdsourcing as the following:

Crowdsourcing, a modern business term coined in 2005, is defined by Merriam-Webster as the process of obtaining needed services, ideas, or content by soliciting contributions from a large group of people, and especially from an online community, rather than from traditional employees or suppliers; a portmanteau of “crowd” and “outsourcing,” its more specific definitions are yet heavily debated.

So now that we have a great idea of what crowdsourcing is, why are people in the software development community getting nervous about it?

Crowdsourcing Code

One of the most popular crowdsourcing platforms for code is TopCoder. Companies can solicit the crowd to do software development tasks such as build algorithms for data science solutions, create wireframes and mockups of UI, create fully functional prototypes, and just about any task found in software engineering. People who sign up for TopCoder are the members of the community found all over the world. These people have different areas of expertise and backgrounds, naturally.

Members of the community can browse active projects and their units of work referred to as challenges. They can participate in any challenge they like and create a solution for it. Their solution is graded based on a set of criteria and if it’s up to the right quality standards then they will receive a financial reward. This is what motivates members to create the best solutions possible within the timeframe set forth by the company who posted the challenge.

With this in mind it is theoretically possible to use the crowd entirely for developing a piece of software. This is great when an edge case appears out of nowhere and a company’s team doesn’t have someone with the knowledge in that area to solve it. It helps to prevent painful blockers as development can continue while the crowd focuses on solving for that dreadful edge case.

It seems to me like using the crowd just like you would use traditionally employed software developers is a win-win. If that’s the case then why do so many developers feel threatened and consider crowdsourcing evil?

The Perceived Threat

If it’s so easy for companies to post work on crowdsourcing sites like TopCoder and the crowd seems to work around the clock competing for that work, where does that leave traditional software developers? The fear is that the crowd will take away jobs. The reason is because companies do not have to pay benefits and worry about the HR overhead of traditional employees. All that has to be worried about is paying the platform (such as TopCoder) which then pays its members. You get a great community full of intelligent people to work only on what’s needed when it’s needed. The perception is that companies save money and get things done quicker.

Crowdsourcing is a Tool

The truth is any company that completely cuts their workforce to strictly use the crowd is making a severe mistake. Crowdsourcing is just another tool available to solve business problems. You will always need a traditional workforce for many reasons. I have listed a few of them below.

  • Regular employees have access to trade secrets, have proper security access, and are bound by law to protect all company assets. Certain information should not be given to the crowd as it poses a significant risk as the crowd is anonymous.
  • Regular employees have more options to work together and build their team dynamics. This teamwork will foster innovation and provide a higher quality of work.
  • Regular employees have a huge interest in a company’s success. If a company fails then so do the employees as their jobs dissolve.
  • Companies will want to have a regular staff of people on the payroll to react quickly when necessary to provide maintenance and support to products in production.
  • Regular employees often become very passionate about the company they work for (if conditions are right) and thus provide higher quality of work on a regular basis. This passion drives up morale and quality.

Thus, it is extremely important to think of crowdsourcing only as a tool, not a replacement to traditional employees. Companies should use it when either they lack a resource or area of expertise. It should complement traditional software development, not complicate it. I could have listed many more bullet points above but I’m sure you get the idea.

We also must not forget about the overhead of putting together challenges for the community at large to work on. You cannot assume the crowd knows how your company works or your system configuration. Because of this you must put together detailed documents to ramp up those interested in working on your project/challenge. The requirements must be right and assumptions cannot be made otherwise quality suffers and the work received may miss the mark completely. All of this takes a significant amount of time to put together.

Conclusion

We will always need traditional employees to get things done. They certainly aren’t going anywhere. Crowdsourcing is an interesting concept that solves several problems but it is merely a tool, not a replacement. This is the reason it’s not evil to use to harvest code or solutions. With the right expectations it can be a huge asset but certainly isn’t the solution to everything.

Daniel Eagle

Currently residing in the Austin area, Daniel Eagle is an avid gamer, writer, technology/science enthusiast, software developer, and educator. He takes great pride in spreading knowledge and helping others.

More Posts - Website

Follow Me:
TwitterLinkedInYouTube