"They both think that less skill is required (so the programmer doesn’t deserve much compensation) and that less time is required (effectively creating a very low hourly rate for the programmer, given the flat rates that are often proposed)."
I find it ironic how he points out that idea guys tend to undervalue the hard work of the programmer and then at the end he suggests that the idea guy should implement it himself.
So which is it? Is programming a hard-earned skill that should be paid well, or is it just so easy that a (presumably non-technical) idea guy can just pick it up and run with it? You're sending mixed messages.
The alternative is paying a competitive rate, or splitting equity in a fair way, or both. If an "idea guy" doesn't want to get his hands dirty and doesn't want to pay someone to do the actual work, well...screw that guy. Nobody owes him anything.
It doesn't matter if it is easy or hard...if the idea guy won't do it himself, and he doesn't want to pay someone else to do it, it's not going to get done. And that's as it should be. If idea guy starts learning to code, he might learn enough to know what the work is worth, and will be better equipped to make the deals needed to get the hard parts done by competent developers. He may also gain the respect of actual developers; I wouldn't team up with guys who can't code at least a little.
I thought it was a very polite way to approach the topic. I'd be much more tempted to just say, "The only time I work for free is when it is work I want to do, on my own ideas, and where I own the result. Stop emailing me." But, I'm not renowned for my social graces.
For many things, getting at least a prototype isn't rocket science. It doesn't have to scale, be well written, have every feature out there or really even work all that well. Most developers just don't want to enter into a situation where the idea guy is just only contributing ideas (and generally not paying them for their work).
I used to just be an idea guy. Then I realized I should learn to program. I'm not the best developer out there, but in an afternoon I can crank out something in Ruby to see if my general concept/logic works. My code will be sloppy, best practices might not be followed, but I can iterate quickly and see if it actually was a practical idea.
Examples of 'idea guys' not understanding is their lack of familiarity with APIs. They think they can just do everything perhaps imaginable, but really there are limitations. Want to crawl the entire social graph of Twitter? Yea, good luck with that. Even with 20,000 API requests/hr, you'll never catch up. You can't just snapshot it also and see changes every day. But an "idea guy" might think that this would be a great idea. It isn't that the programmers turning them down aren't good enough, but just that some things aren't possible with given APIs and unless you're coming to them with $10M+, Twitter isn't going to change their API for you.
> So which is it? Is programming a hard-earned skill that should be paid well, or is it just so easy that a (presumably non-technical) idea guy can just pick it up and run with it?
Programming can be a hard-earned skill that an intelligent idea guy can acquire. No false dilemma required.
That is certainly so. However at the intersection of two sets {draws two circles}: 1) Idea guys with money, 2) idea guys who think programming is easy ... there probably isn't much interest in paying engineers.
The intersection is getting larger thanks in part to engineers self-deprecating like this, which is potentially good for innovation and potentially bad for my wallet.
The real advantage in telling the "idea guy" to try to build it themselves comes when they realize that programming is difficult. Sure, they could master it if they were willing to put in the time and effort, but their interests center around the business: sales, investors, etc.
At this point, the idea guy has two choices: either understand that they've got to bring something more than ideas to a partnership, or stubbornly cling to the hope that their idea is enough.
The more people that realize that ideas alone have no value, the better.
In my experience, the most important knowledge the idea guy lacks isn't how to code, it's how to plan and structure the project so that it can actually get done given whatever constraints. In order to get this, some level of technical understanding and grokking of programming is required, and this is the main asset that learning basic programming can bring to an idea guy, even if he never gets anywhere near good enough to write production code. Idea guys without that grounding tend to be overly ambitious and extremely susceptible to scope creep, not to mention more difficult for programmers to work with. These types of problems can easily be fatal to a project.
I should add that most developers don't seem to have much of this knowledge either. It comes from a rare blend of anticipating customer needs, technical understanding, and general pragmatism. The more projects I work on, the more I come to believe that someone who fills this gap is worth ten times more than both the dude with the 'great idea' and the all star coder.
It's not simply that programming itself is difficult, it's that ideas conceived without knowledge or consideration of the technical implications are frequently more difficult to implement than a non-technical person realizes.
So which is it? Is programming a hard-earned skill that should be paid well, or is it just so easy that a (presumably non-technical) idea guy can just pick it up and run with it? You're sending mixed messages.
He's suggesting the idea guy work hard to earn the skill of a programmer, or at least learn enough to know what's hard and what's not.
I considered myself an idea guy...but I spent the last 11 months trying to learn php, html and css and I finally just launched a company. I probably could have done it in one third of the time with a developer on board, but it's been rewarding to do it on my own and learn so much. Now I need a marketing and seo guy...but I'm going to try to figure that out too :)
It’s both. The idea guy’s belief is twofold: (1) that a developer can do it easily and (2) that they can’t possibly do it. The difficulty of the idea isn’t an issue. It’s the extremity of the idea guy’s beliefs about the difficulty. This article is about pulling both sides of those extremities into a sane middle.
I find it ironic how he points out that idea guys tend to undervalue the hard work of the programmer and then at the end he suggests that the idea guy should implement it himself.
So which is it? Is programming a hard-earned skill that should be paid well, or is it just so easy that a (presumably non-technical) idea guy can just pick it up and run with it? You're sending mixed messages.