Ever since I got interested in the startup eco-system a few months ago, I've heard lots of great ideas for technology startups. Entrepreneurs from different backgrounds with great insight into diverse areas have come up with great ideas that, when I hear them for the first time, makes me sure that they're going to make it really big. But then, they say that one thing that drowns all my enthusiasm - "Where can I find a technical co-founder?"
Technical Co-Founders are in very short supply. All the really smart technical guys also have great ideas of their own - why will they work on someone else's idea? And those that don't have a great idea yet would rather work for a Google or Microsoft, making tons of money while building up their resume for when they do get a great idea.
I don't want to sugar-coat this, so I'm going to say it straight - The chances that you'll find a competent technical co-founder that you can work well with are very small.
But don't worry, because there's a very viable alternative. Why don't you learn to code and become your own technical co-founder?
Learn how to code!
Learning to code isn't that hard. Computers aren't smart enough to understand your ideas (yet), but they're getting there. In the meanwhile, modern programming languages have made tremendous progress in the last few years that have made them accessible to a much wider audience. Modern programming frameworks like Ruby on Rails and Java's Play framework hide most of the complexity of the program, letting you focus on expressing your ideas of how the product should work. And coupled with the vast amount of learning resources available today to help everyone learn how to code, there's no reason why you can't learn it.
Don't believe me? I urge you to spend a few minutes today on Code Academy. It's like the Khan Academy, but for people that want to learn how to write code. I can bet that you'll have fun - it is a highly interactive way to learn programming, and at the same time get a good flavor of how easy it is to write code in modern programming languages. It's not hard at all, and I'm sure anyone can do it. If you like what you see, consider spending 2 weeks of your time deep-diving through the various courses and tutorials Sure, you're not going to become a tech genius in 2 weeks, but it will give you enough to hack together a prototype of your product. And if you keep it at, you'll be able to even do version 1.0 of your mobile app or your awesome new website.
And don't be scared to experiment. It used to be the case that programming was a very very hard job. Computers would barf if you missed a simple semi-colon somewhere. But things are very different today. Modern development environments like Eclipse and languages like Python and Ruby, are very forgiving and very understanding. They'll always come back with helpful suggestions about how to write a particular line of code and with very reasonable error messages and helpful hints if things go wrong. Combined with modern cloud platforms like Azure or Amazon's Web Services or Heroku, you'll be able to launch your app live on the internet without mucking around with Linux configurations or other complicated things.
The benefits of knowing how to write code
Programming is really just a particular way of thinking. It's the discipline of expressing your ideas in a very structured manner. Writing code forces you to clarify your thought process to a great extent. It is a great way to validate your ideas and to ensure you've thought about all the different aspects of your product. The structure and discipline that writing code will bring to your thinking is invaluable, and it pays off in other areas as well. It is a great skill to have. Trust me, learning how to write code will make your life as a technology entrepreneur significantly easier.
And once you're somewhat proficient with code, you'll be able to hire programmers or outsource pieces of your product. This doesn't work if you don't understand what your programmers are doing and how to talk to them in their language. And they won't trust you, because you'll be talking at a 10,000 feet level, when they're trying to implement things on the ground. The relationship between managers and engineers works vastly better when managers can understand what the programmers are doing and talk to them in their own language. And it's great for the managers too, because now they know exactly what is happening, instead of playing the "Q: When will it be ready? A: Next Week!" game with the tech team.
Edit: And being a self-taught programmer will put you in great company as well. Instagram''s Kevin Systrom and Foursquare's Dennis Cowly learnt to code and built successful startups. Read more here.