Implementing algorithms is what software developers do. If, as a software developer, I'm just a middle man between the client and the people implementing everything on algorithmia.com, it's kind of stupid for me to even be involved - the client should hire the people posting to algorithmia directly.
More often than not, you outsource items that are not the highest value projects your resources could be spent on. Or, you simply cannot afford to hire a specialist for a specific need. Try to find me experts for some of the pattern recognition algorithms offered who will work at your shitty startup, your shitty big-co with minimal tech wing, or your random mid-sized in the middle of nowhere. I just described 95% of companies on the planet.
And to second relix's point, try to justify implementing something that may have taken years to optimize, even if you think you can do it better. Also, do you want to maintain it? What happens if/when the company loses you? Would they rather have some poorly documented, poorly optimized in house version with nobody around who knows how it works or have a contract with another party they can count on for maintenance and support?
Is this always the case? No. Sometimes it's a core function you want to develop in house. But, it's usually considered.
As a developer, a big step in growth is realizing how to best spend your time and resources, and realizing that contracting implementation of X to further speed up building Y is a choice you'll often have to make.
Component reuse is generally preferable to re-implementation, but it's not a blind creed to follow.
I have to agree. I can imagine the exact type of person to make use of such a service, and can see a considerable hype following becoming the market. The creators no doubt had the best of intentions in mind, but I think it does prey on the uniformed, even if unintentionally.
Also, a bulk of the work would probably go to massaging your input to satisfy the input constraints of this web service. If you go that far, you might as well implement the rest of the algorithm yourself.
Maybe instead of an Amazon-style store, it could be more of craigslist/elance/topcoder type of store – people submit the exact classes/data/input they have, with the desired output. Developers write code (and the platform checks input/output validity), and the submitter can then haggle with the coder with the best score for the fee to pay. I guess it could be used as an outsourcing tool for companies that can't be bothered or don't have the brains to develop these kinds of things. Just an idea.
IMO implementing algorithms is what computer programming and software development are all about. It's the fun part of the job. A person buying an algorithm as a web service makes me wonder why the person even became a software engineer at all.
Not to mention that if this idea takes off, it will ruin it for the rest of us by encouraging algorithm researchers to patent new algorithms and not publish them.
I do wonder, though, if a person won't look for a freely available, openly published algorithm, why would they look at this service for an algorithm they have to pay for?