Delegation works. Just do it.
A business owner needs to be skilled enough in their particular specialty to get the ball rolling and the money flowing in. Then they'll have the resources and cachet to identify and hire talent. But if all they can do is find talent and tell it what to do, why should the talent bother listening?
I'm sure I could tell go up to Marc Andreesen or Steve Jobs or Larry Page and say "I've got this great idea. Come work for me." I also suspect that if I did this, I'd get this quizzical "Who the fuck are you and why should I?" look, and then they'd walk away.
Because talented people don't spontaneously self-organize. Your example is a bit silly - you're talking about people with a lot of money, stellar reputation, and great leadership skills. Most skilled people don't have any of these things. Working for someone with leadership skills is the only option they've got. If you happen to have enough charisma to get people to buy into your vision, you really don't need to know how to code.
Yes they do. Game recognizes game. I always want to socialize and engage with people I deem technically competent.
Myself, and most technical people I know, would not defer judgement nor respect to someone trumping "leadership skills" as a reason to follow them. In fact, someone projecting that air would be an immediate target for mockery until they displayed technical competence.
I would only hire people that are more skilled than me on their areas.
They should come work for me exactly because I do this :)
I don't mind working for someone with excellent sales or product or visual design skills + good leadership. They're contributing something that I'm weak at. It's a trade.
I do mind working for someone with only good leadership skills. What do they do that I can't do myself? I have plenty of ideas for startups too; I could just go off and start one myself.
He's not negating the idea of delegation. I guess you just have to strike a balance.
There are many people out there who will wait days for someone to make a simple html change for them on their site, where they could just as well learn to do it themselves. Its not like they have to learn C# overnight.
But since I'm a technical person, I'd ask them why manhole covers are round.
I also agree with your top post. While it would be nice to have 10 years of software experience or the technical background to evaluate programming talent, you can still succeed by identifying and partnering with talented people.
When it comes to programming, just learning to program is an incredible way to actually meet other people that are already on a path to getting much better than you at programming - doesn't mean you have to commit to it full time for 10 years.
But on the other hand intimate knowledge of what exactly you're delegating can be crucial in many ways. Even if you're not a GREAT programmer, having had the experience learning the skills and building the prototype gives a more comprehensive understanding of what's needed to accomplish your goals
Though, I wouldn't get excited about it. For an initial version, I guess, everything you get there might suffice; but I might turn to pros asap.
If someone happens to have programming skill, it might expand into the skill of knowing which programmer to hire. But the skills the parent identifies are inherently the core skills - anyone growing in business would want to gain them and leave their other skills by the way side (you aren't going to run your business like a twelve year doing his homework, are you?).
Of course, I'd prefer not to live in the world of pure delegation so I'd rather go with being hired by someone with these skills. Oddly enough, the best managers of programmers actually don't jump in and program themselves!
If you have a particular skill that seems to be part of a generalized skill set (for example, if you're good at meeting new people, you're likely to be good at sales), you can test it. If you know that you're bad at math, bad at logic, bad at working on one task for more than a few minutes at a time, and bad at spotting your own mistakes, you might not want to try programming (or architecture) just to prove to yourself that you have the willpower to overcome your character traits.
A great designer and a great programmer will work better than a great designer who has picked up some programming, but both will be put to shame by the team of a great designer who understands the challenges the programmer has, with a programmer who understands the challenges of the designer.
In other words: It's important to learn new disciplines, even if you never get near a professional level with them, because you'll work better with the people specializing in that area.
I suspect I'm speaking for a lot of us here when I say that I have absolutely no idea where to even start when it comes to design, though. And I don't mean learning CSS - that's the easy part (at least once you embrace how underequipped CSS truly is vs. the problems of layout and styling).
Are there any good beginner resources available that focus more on developing good designs and less on implementing them? It seems that most of the beginning design stuff assumes that you already know what you want things to look like and that you don't know how to build it; for me, it's usually the opposite problem.
A lot of times what happens is how well the team communicates.
Whether a designer understands the challenges of programming in general won't matter as much as where the designer is willing to listen to the particular challenges and needs of the programmer working on that particular project (and vice-versa).
So I learned Flash. Programmed some terrible, which-button-did-I-attach-that-code-to games, then took a programming class at the community college. Learned about loops, and iteration and general object-oriented theory. I made better flash programs and built a portfolio that got me a job building websites. After which I learned how to actually build a web site using CSS and XHTML instead of flash.
Now, I'm surrounded by web developers, DBAs and generally tech-savvy folks, and I'm building one of my ideas with a very talented java-programming co-worker.
It's taken longer than I wanted, but I'm still learning, and it's insanely rewarding, even if our product ends up being a complete bust. I'll never stop learning and trying new things, even if I'm not so good at them. It opens doors and creates opportunity.
I've met dozens of people stuck at that finding someone else phase. Maybe they should look at it with a Zen attitude "to find a partner, become independent". I think many people dating and looking for others recognize that already. Needy/desperate people have a hard time finding those people they need and are desperate to meet :) So make yourself independent and those relationships will come easier.
That actually answers the Zen question, too: don't become independent by learning how to solve every problem, but by getting into a situation in which the problems you're faced with are the ones you're best at solving.
The language I learned first was JavaScript because it's ubiquitous. There are a million tutorials to get you going.
A lot of JS tutorials suck, which is a disadvantage, but it gives you a pretty big confidence boost to be able to read a tutorial and think "that's moronic, I know 6 other ways to do that which will work better". Python tutorials tend to break out advanced/elegant/clever stuff really quickly which has the opposite effect.
I wrote a couple of little apps, then a prototype, then it felt like I knew enough to really get going.
I then picked up Python (actually Django) because the relative maturity of server side JS platforms isn't as good. Switching languages was easy.
The total time to get to that point was about 4 months (whilst working full time), but I had the advantage of living in a place where everything shut when it went dark at 7pm.
*Except for the bugs, and the scaling issues, and the bad design decisions I made early on. As far as I can tell I'm not the only person to have problems like this though, and refactoring is a good way to spend a plane ride.
I went to school as a chemical engineer, and though often it seems the education's specifics are a waste to me, I learned how to approach problems rigorously and, in your words, relentlessly. I'm not sure I'd have that same drive if I wasn't challenged like that from the teachers and the education.
Look at Paul Graham. When they started viaweb, Paul had to play sales guy. I believe he mentions in at least one essay, that it's not like sales was something he was chomping at the bit to go and do. But a fledging company can't go out and hire sales guys, so he stepped up and learned how to sell his product, and realized he was actually pretty good at it.
So this advice is to all those out there with no money who are stuck waiting for someone else to make their dreams come true. That's a no good place to be, and I refuse to be in it.
You just stand to one side and point out that they want it.
"I have this great idea for a *video game*, I just need someone to build it. How do I find a *coder* and build this *video game* in a couple months?".
This happens so often on gamedev-related forums it's depressing. Pure beginners often lack the gumption, or perhaps just the knowledge, to realize that they could and usually should just do everything themselves, or at least learn how to code a game or use a game making application.In these days of 200-person AAA development teams I can understand the sentiment that developers by nature are super-specialized, and that having multiple skillsets just doesn't compute.
This worries me. I have a friend who was saying the same thing, but he was uninterested in doing anything about it.
In reality, this isn't always feasible. That's why it's so important to have good judgment about these things.
It reminds me of this quote:
God grant me the serenity to accept the things I cannot change; courage to change the things I can; and wisdom to know the difference. - Reinhold Niebuhr
[UPDATED] This isn't meant to be a religious statement, I'm just crediting the original. You can just as easily replace "god" with "imagination" or "consciousness" or whatever if that makes it more palatable.
(The LMSR is the only way I've managed to get a market work; I'm still totally stuck in automated market makers).