But at the same time, I think that what makes us capable of pursuing startups is our potential to learn quickly. That's one of the best traits to search for in a partner. Running a startup is difficult. Having somebody who can adapt quickly is more important than someone who's smart and static.
and your argument reveals selfishness, something I would avoid when searching for a cofounder.
Mutual vision, trust and willing to work hard together, support and help each other is amongs the secrets when peeking cofounders. Other than that, its obvious you are searching for employees.
It can often be very productive to partner with someone with people skills, or business skills, or finance skills. Those things *are* important, and yet you won't have spare brain cycles for them if you're doing hardcore programming. That person just needs to realize that *you* call the shots when it comes to technical decisions.
Warren Buffett's advice applies, as always. "It's not how much you know that matters. It's how realistically you assess what you *don't* know."
In a tech company, though, _everything_ is a technical matter- for example- marketing. Early adopters for 99% of tech products are geeks- if you are not one then you do not understand the market (hence all those MBA lead failures of the late 90's). Finance for a tech startup usually has to tie into the product / subscriptions, etc- and is thus a tech problem. PR is to fellow geeks, etc. etc. Then there's the fact that the bulk of the work to be done is technical- if you're going to be having allnighters for the next 3 months getting a product out- there is a _big_ difference between having a partner who is right there with you in the trenches coding across the room, and a partner who comes by every day and says "well, uh, how's it going?"- you spend the next hour trying to explain the latest hangup etc. and then they say "well, let me know if the schedule changes- I've got some great customers lined up..." or whatever.
Sometimes that situation is unavoidable, but I guarantee it is not optimal.
Jesse James Garret, the guy who coined the term AJAX and came up with the design philosophy around it, isn't a programmer. But if I were a great programmer then he'd certainly be someone I'd want to partner with. Literacy just means the understanding of a certain discourse. Once you've taken a couple college level programming courses then you can pretty much understand everything a programmer is doing, but that doesn't mean you always know enough to do it yourself.
I don't see why a startup should be any different. You have so many tasks (design, engineering, coding, selling, fundraising, partnering, etc.) that it makes no sense to only work with people of the same skillset.
I do agree that your partner should have a hackers' passion and be technically competent. You don't need someone that's all theoretical and won't get down and dirty with some code.
Compromise is a complicated matter. Don't compromise on your good ideas. There will undoubtedly be conflict among founders regarding vision and method, but the best relationships will work through those.
If you don't disagree with your team at some point, you're not contributing enough.