Don't Hire Cheap Hackers – write simple programs yourself
cyrusstoller.com
cyrusstoller.com
Also, web scraping is a great example of something that can either be simple or complex depending on many non-obvious things.
* Gain an insight into the problem he was trying to solve he would not have otherwise had
* When faced with unexpected complexity, the implementer may choose to solve a less complex version of the problem that may still provide added value, or choose to go some other route entirely.
I think this last bit cannot be overstated enough. The easy problems in programming are usually so easy that even novices can solve them in a sensible time, while the hard problems can be hard to get right no matter how many years you have under your belt. Often by changing ones approach the problem can be reformulated into an easier one.
If the work is hired, then the consultant may lack the initiative, intuition, courage or experience to go for the possible alternative approach to solve the given problem.
Of course, all this depends on the quality of a problem.
All "programming" really is, is formulating what you want done precisely. A compiler can take it from there. Where a specialist in "computers" comes in, is he can optimize your algorithms to run more efficiently. But in more cases than not, what "programmers" are tasked with, is to "just make it work", with little more specificity than that. And then the garbage inputer gets upset because he gets garbage back out.
SQL was originally, back when clarity of thought was still considered fashionable in executive suites, intended to be used by decision makers. "Specialist" IBM "programmers" provided the code that accessed and processed the relevant records efficiently, but the person who wanted an answer, often a C level, was the one tasked with specifying what he wanted done. With enough precision that his question made sense.
However, I also experienced the problems this will cause. I was working at a software company, where the software was started by non-specialists who then took over the development section. It was a mess.
"I know it is easy, I mean, how hard can it be? It's just not my area, you know, so I think you should do it... but since it's easy, I won't pay you much and I won't appreciate your work. So when can you start?"