85 comments

[ 4.6 ms ] story [ 121 ms ] thread
I can see though how someone would think that finding a technical co-founder through sheer charisma is an easier route than learning to code. But usually that's probably mostly ego.
I think its great when the 'non-technical' co-founder even knows their way around coding a little bit. Otherwise I find you have to explain every single thing to them and they don't have a solid grasp of the problem.

Getting to know your way around a language like Ruby isn't all that hard.

As a technical person, I run into people all day long that have 'big ideas' which are often mashups of existing sites, "Its like Facebook for FOO", and will never find a technical co-founder because they don't have any idea what the scope of the real problem is, or how to distill it down to something small, useful and graceful. Lots of ideas, but having an idea of implementation is great too.

Equally important, a technical co-founder must be able to explain complex technical issues in a way "regular people" can understand them. This is dramatically more difficult than it seems. In general, I think one of the true signs of well-rounded intelligence is being able to distill a complex idea into a readily understandable one. Think of pg, Salman Khan (Khan Academy), etc.
Even if you can't fully learn to code, having a non-technical founder who understands the basics of programming is an amazing advantage.
Why look for a technical co-founder? Why not just hire somebody to do the technical work? Is it the upfront salary which is the issue?
Employees care about their companies they way teachers feel about their students, they care about their success and are generally enthusiastic but that particular interaction doesn't define them and it's possible to be just as happy somewhere else.

Founders care about their companies the way parents care about their kids.

I've seen this asymmetry cause some issues where founders don't get why their employees aren't as enveloped in the company as they are. A respectable salary and less than a percent of the stock doesn't get the same commitment as a founder does.

A more concise way of saying it might be that for founders it is a way of life, for employees it is a job.
I originally thought I would find a technical co-founder who would be as enthusiastic about my idea as I am. Then we would work together, bootstrapping a business and salary would not even be an issue. I guess you could call me cheap, although it would be a necessity for me as startup capital is almost non-existent.

I'm certainly going to be following the path suggested by the OP. I've already been thinking about it for a while.

This is certainly the problem for me, I know a glut of excellent, hard working professional programmers.

All of which already have high paying careers. They're young enough to defect, but only if they have a chance to make their mortgage payments.

Sure, upfront salary is an issue, caring about your product too much to put it in someone else's hands is another, but I'd also add that the actual process of learning to build ends up having an enormous (positive) effect on whatever it is you're making.
I'd say the main thing is control.

Me and a friend, both non-technical, started a service oriented company 6 years ago.

Now we're switching our focus to SaaS and even have some $$ to pay contractors / employees...

But how do we evaluate talent?

How do we delegate?

How do we understand (much less give input) on technical decisions?

What happens when (not if) they leave and move on?

Being vulnerable to and leaving that much decision-making responsibility to 'employees' who aren't invested like you are is a recipe for failure - entrepreneurs make things happen and get things done, but how much of that can you do if you don't understand the core of what your business does - software?

Vin (of Yipit) has a similar blog post (http://viniciusvacanti.com/2010/09/cant-find-a-technical-co-...) but from the perspective of someone who actually just got down into it and wrote the entire site. While not uniquely a NYC problem, it was refreshing to be out in the Bay Area and not be at startup events hearing MBAs pitch "it's like Facebook, but for dogs!"

I tell everyone that asks me about finding a technical co-founder to just learn the basics of databases and a web language (PHP, Ruby + Rails, Python + Django). Either 1) you'll actually learn enough to make your MVP or 2) you'll learn enough to figure out what your product really is and what to look for in a technical co-founder. If you don't have any clue what your technology portion is going to look like, you aren't very attractive to technical co-founders and those that are interested probably aren't the best fit.

I think that's good advice. I'm following it from the other side. I'm technical and learning sales/marketing so that I won't be clueless about that side.
I don't live in the Bay Area, but I attended Startup School and was actually surprised by the opposite - I met many, many more non-technical people than I would have initially expected.
Jeeze, I'm doing my best here, C is hard!

I will say no single effort has been more enlightening to me regarding computer science than trying to understand C. I highly recommend it to anyone with any programming experience.

Don't tell me you're learning C first? Good luck!
After PHP and JS, which are a great introduction in my opinion.
There is a good reason to find a talented technical co-founder. Just saying, "Learn to code yourself" is in some ways akin to saying, "Don't hire a lawyer, just go to law school."

Sure, a "can do" attitude is great, and coding is very learnable, however we are talking about Founders starting a business for profit here, where time is actually of the essence in many cases. A linguistic example is how one can learn survival French in a mere 3 months, but true fluency takes years.

I think it is important to realize there are people who are amazing at doing exactly the things you need done, and though you could learn to do it fairly well yourself in a short enough time, why re-invent the wheel? This holds especially true when a seasoned hacker has much more than just recently learned skills but also has a mental roadmap of pitfalls and work-arounds from their years of experience. No amount of study replaces years of "muscle memory" from projects that have both succeeded and failed.

I don't want to discourage anyone, but you are practically distracting yourself from building a product by learning how to program. Getting really good at something takes many years of practice, and the program you write will likely be full of problems you are ill-equipped to fix.
I agree with this, but I think putting in the effort to learn the language or the infrastructure enough to be able to manage a contractor or distinguish between crap code and good code will not only serve you well in the tech startup world but also win you accolades from your team/peers.

I strongly believe being really good at one thing means you shouldn't try to multi-task or wear too many hats. That's counter-productive and recipe for moderate work quality. At the same time, the early days of the startup are the most fragile times. The business guy who speaks engineering or visa-versa will have a huge competitive advantage.

Better than learning how to code, learn how to build your app. That is a bit different. If you learn how to code you will hit a wall once you start reading about encapsulation, recursion, trees, data structures etc (all of which I have yet to mess with).. Instead write down what your application needs to do at different levels and learn how to do each one.
In the startup world, the biggest benefit to being able to do some level of technical work seems to be being able to more quickly attract a truly high quality technical co-founder. If you just have an idea and promise equity, you'll have a tough time attracting top talent. If you have an an idea, promise equity, and are willing to pay a ~market salary, you might do okay - but the idea better be really great since your money will run out.

If you have a prototype/demo and some level of traction, you can much more easily attract better technical talent.

the biggest problem with non technical founders, from my perspective as a programmer who has dealt with many of them, is that they don't have the foggiest idea how long it should take to build something. I've heard far to many say something like, "I told an investor we'd have this built in 3 months".

I generalize of course, the best person I've ever worked for was a non technical founder and he had an uncanny ability to understand this stuff at some level despite no direct experience in it.

As a programmer, I would be more interested in working with a non-technical founder who has these skills:

  - domain experience
  - a good network in the target market / sales leads
  - ability to manage customer relationships and close sales
  - good communicator
  - familiarity with software development process, even if as an outsider
This set of skills would balance well with mine. I don't really care about working with highly technical founders as the second or third person at the company - that's my role. I want to work with someone who can sell and make sure that the product gets in front of customers.

The caveat here is that my interests lie in business systems, not in doing the next Facebook/Twitter/4sq clone.

LEARN IT YOURSELF. IT'S NOT HARD.

I am a developer that hangs out in startup circles and I get approached several times a week by "idea / business people" if I'm interested in joining a venture as a technical co-founder. My answer so far has always been no.

It's very hard to convince someone that your idea is golden. Even if you do find a co-founder, it's even harder to instill your ideology and passion into them. You should be founding projects with people you know already, not strangers. You don't want an employee -- you want a missionary.

Many non-technical people seem to think that developers lack creativity and need their guidance. What gave them this illusion? The majority of great web products came from people who could write a prototype. Do that and you'll attract attention from developers who will want to join your project.

Writing a prototype is not rocket science, and if you'll try it, you'll also see that programming is very fun and rewarding. Kate Ray hits the nail on the head -- all you need is regular old hard work. I started programming when I was 12 and it's not because I'm Doogie Howser. I just wanted to learn it, so I did.

> IT'S NOT HARD.

YES IT IS.

heh. Maybe I should reiterate, this time with only a caps :)

LEARNING to program, with the goal of building a prototype or MVP to attract interest (investors, better devs) is not hard.

Programming WELL, as in solving large technical problems, is obviously hard. But how many founders stay on as technical leads?

Not many.

I saw Dennis Crowley (of Foursquare) speak a few weeks ago. He and Naveen built the prototype and as soon as they generated some interest, they hired Harry to be the dev lead so he could "fix up their crappy code."

The code for your prototype is allowed to be crappy. It probably SHOULD.

Sure, many non-technical founders can pick up enough to put together some kind of a prototype. Some will not be able to, simply lacking the disposition. No harm trying if it does not detract from other necessary tasks.
If you are a non-techie founder, then yes, you probably can do it, but you should not. There have got to be a zillion other things that you should be doing -- raising funding, talking to potential users, researching the space, finding employees, finding office space, and yes, finding a tech co-founder.

I've been a tech co-founder a few times. If you can't convince me -- someone who wants to be working for a successful startup -- that your idea is worthwhile, I really doubt you will be able to convince users and investors either.

For a web startup, why would you look for an office and employees before having a product?
Employees to build the product perhaps?

Do things in whatever order you'd like, but I have a hard time believing that time spent learning to program, starting from zero, is an effective use of an entrepreneur's time.

Learning to code may suffice for building a prototype, but if your strengths and interests do not lie in coding, you're not going to be that good. You're better off finding money and hiring engineers. I'm not going to design, build, wire, pour concrete, etc for my own house. I would hire specialized contractors to do that.

Coding takes an immense about of focus, mental energy, and perseverance. You have to love solving problems. Sure, you can teach yourself basic if/else statements. But there's a threshold when coding becomes extremely difficult, especially when it comes to complex algorithms and mathematics.

I've been thinking about this for a long time too. One of the questions Im sure other people in a similar boat would ask is: which programming language?
Many of the languages can ultimately produce the same result. If you look at Google, facebook, and twitter, they all use different languages.

One that kept popping up often in my search was "Python." Consensus was that it was pretty user friendly. Plus, the guys at Dropbox built their application with it...if it's good enough for them, it's good enough for me. I say, just pick one and get started.

I've said it before and I'll say it again. As a non-technical person trying to become technical (as an intellectual exercise as well as work on my own stuff), the simplest, yet hardest, thing to understand is "something easy" really isn't.

You think you got a minimal feature set for your project? Think again. Cut it in half.

I have a travel site as my personal project, and I still don't have the ability to select the dates for when you're traveling. Sounds crazy, but it's something that not many of my users have asked for... yet. It probably helps that the main focus isn't about selecting dates you want to travel, however.

How about try to code for yourself, but learn where your strengths lie. If you hate coding, and really can't stand it with tons of navigation through way too many odd details and abstractions, just draw the line. It is a classic case of weighing the pros and cons.

Being aware of the basics is a huge advantage, but after some serious time invested, don't ignore that coding really may not be for you. It is going to take you forever to get up to speed. You may waste a lot of time and it may become a big mess. It is more beneficial to find a technical co-founder, code less, search more. You also may find that you're a born coder, and it is an extremely valuable to continue going at it, keep coding.

If you have a startup idea and you don't know how to code, learning how to code enough to implement the idea all on your own is probably not cost-effective from a time standpoint and you're more likely to end up with a mess of non-functioning code than anything else.

That being said, at least to me, knowing even a layman's amount about programming will gain major points with the potential technical co-founders you do meet.

I get approached by friends/acquaintances on a weekly basis with some startup idea. And I mostly think, "So basically you're suggesting I spend 10 hours a week of my free time for six months to build Facebook For Cats, while you make some half-assed attempt to do some marketing or whatever, and if there are any technical issues I can't even discuss them with you because it'll go over your head, and if there are any tedious technical issues you can't even help with those." It's pretty much a non-starter right there.

But knowing even a little bit about programming could go a long way. It means your idea is probably a little bit better than "Facebook For Cats," because maybe in programming you learned about some company's API and how to leverage it. It means I can split up work and give you some of the easier programming tasks and feel like we're putting in close to the same effort. And it means I can tell you things like, "the service doesn't always return well-formed XML so we should find a validator and then run it on the response before we insert it into the database," and you'll know what I'm talking about.

It all starts with the product, and the product usually means code, and having one and a half heads coding will usually be more productive than just one. Learn enough to be that half a head and you'll go far.

"Facebook For Cats does sound like a great idea. You should implement it, and we'll split the profits 50-50. I know lots of people who love cats, and I can really reach out to them (I own a cat myself)."
No joke, I know a girl who signed her dog into facebook.
As a "non-technical" person who has had success finding "technical" people to work with, instead of trying to learn to code:

1. Become a domain expert - know the problem you are trying to solve inside and out. Know the market size, sales cycles, etc. Make connections in the industry.

2. Find Customers - Bring an idea, along with a 14,000 name mailing list that you generated via blogging on the subject.

3. Bring a design - Actually mock up a set of flows for an MVP. Show it to 20 people, and iterate on their feedback. Find out what is important so when you do start building you build traction right away.

All of these are things that a good "Business Guy" should be able to do and will ultimately be responsible for when they do find a cofounder. Sure, pick up a little RoR or JS, but you aren't going to become a startup quality dev in 6-12 months (or likely more). However, in that same time you could do all of the above many times over.

(comment deleted)
As a "technical" person, this is exactly how to attract us. Bring knowledge, contacts, customers, reputation, something to show and actual feedback. This shows you have value to add. These are the things we cannot program up out of nothing.
I agree. For the last year I've been beating myself up because I can't code, and have tried teaching myself for years...something just doesn't click for me.

But, I have HUGE respect for devs. I honestly am amazed at the stuff my staff developer can do. At a certain point I just had to give and say, "Well, I just need to make sure I can attract good developers and treat them like the wizards that they are".

As a "non-technical" person myself, I hate when some frat-boy has a pizza/movie delivery service "idea" and is just looking for someone to build the website. Ughh. I never want to be that business guy.

I think that's why I love Hacker News. It gives me an insight into a world I really respect, and I want to understand as much as I can....without actually hacking.

Specific to you, I think you just added value to yourself even though you failed at trying to code because the act of trying to learn how to code itself made you discover that it's not as easy as it looks for just anybody, and thus make you appreciate your technical team better.

Not understanding what it takes makes it harder for non-technical people to appreciate talent. You could use your failure here as your selling point.

Of course, now non-technical "frat-boys" here are going to wave the "I tried and I failed" flag, but know that it's not hard for technical people to find out if you really tried or not.

Yes, even though I've failed to catch on each time I've tried, I keep picking up more and more of the concepts/lingo.

I do all the mockups and am orchestrating the product development, but the more I learn about programming the more I learn that a single extra box on my "mockup" can mean hours and hours on the backend.

It's so easy to do a mockup and say, "this is how it will work"...turning that into an actual application is where the magic is.

I've heard non-programming web designers say, "I've designed this app. Now all I need is to have it coded up" (as though the back-end is merely icing on cake and that the heavy lifting is already done).

disclaimer: I'm mostly a back-end person, and I appreciate how difficult it is to not have sense of design, and I don't take good design work for granted.

Exactly this. One thing I've learned from launching projects is that customers don't just come to you. Marketing is a huge factor in getting any traction.
To be fair, the author attended the NYC YC Q&A. I imagine that there is a dearth of programmers relative to the number of people who want to start projects over there.
Would you tell a techie that they can teach themselves to be a business guru for a startup? Each person has their own skills and should use those as best as they can, and work with someone complimentary to assist with the stuff they just aren't good at doing.

Simon@LabSlice

Just did that!

Couldn't find a co-founder so I decided to learn. Took me some weeks but now, after a few months, I'm comfortably with coding and improving where I can. Still need to improve my javascript skills.

Still lots to learn but at least I can put out a decent app in a few weeks time.

Should have done it years ago but I guess it's not too late to learn...

If you learned to program in "some weeks" you are a genius.

Just a couple of hints: don't store your users passwords, don't trust inputs from your users and enjoy yourself.

I had a CS background but didn't do any coding for about 17years so the basics were already here...

Thanks for your tips.

Disagree 100%.

While it's true there have been people that have been good on both sides of the fence: coding and selling (Bill Gates)

Some people are just not technical people, and are not meant to code because they're just more cut out to sell, market or pitch ideas to people.

One of my good friends is a person who is comfortable socializing with clients, and is a very persuasive salesman, but he is not a coder; never was and never will be.

Stop looking for a qualified medical professional to treat your illness, just pick up a couple of books!

Really, I don't want to discourage anyone from learning, but suggesting that you can learn enough to launch a startup is kind of like deciding that you can do web design because you've used Word. Some people will be able to pick it up in a month, and some will never learn to write decent code.

There's a reason people pay me to sit and stab buttons on a keyboard.

I absolutely agree! To write code (an good one) you needs years...if you spend that much time for this then you may very well forget about your startup and become a developer (in the meantime, look at your idea implemented by others).
I don't think that's the point of this article. The point is that you need to be able to talk to your co-founder about technical and non-technical problems. It's not that you should become so technically sufficient so that you can be the technical co-founder, but so that you can speak the same language as your co-founder.

In six months you can easily pick up the basic ideas need to converse with someone about technical issues, and at least understand what the other person needs. Maybe you'll even learn enough to help out and create the demo, or something.

As a qualified professional, who would you rather have a meeting with?

a.) Someone who says they have a 'killer' startup idea but no technical ability to execute it.

b.) Someone who has an idea and has already executed a working prototype of that idea for you to check out.

Are either of these individuals particularly skilled on the marketing/monetization side?

If so I would take the one that can handle that side better.

I also wasn't suggesting that this is the right strategy for every kind of startup. Some are very tech-intensive, and actually learning everything you'd need to learn would take years. But those aren't usually the ideas that people with no technical expertise and no technical cofounders are having. Usually their innovation is social, not technical, and something that's within their capabilities to build.
Professionals exist for a reason. That doesn't mean he can't learn enough to establish a MVP and become knowledgeable about the subject domain though.

Being able to call BS from your developers or a perspective co-founder doesn't require you to be a programming god.

Also, don't bother researching illnesses for yourself on the web. A medical professional will have every motivation to pay attention to every little symptom you tell about.

The first iteration of a startup will almost always be wrong and you'll have to throw most of it away. So it doesn't matter so much whether its the best code in the world or not. The important thing is that you learn from your first iteration. If you don't have a tech background and hand off the first implementation to a superstar, it's very possible that you won't learn anything. If you do it yourself, you will learn a lot one way or another.

Also, it helps in many ways to be able to demonstrate that you are not an idiot.

It seems that there's some kind of happy medium to be struck here. If you want to learn how to code, great, and it's something good to know if you want to work on a startup regardless.

Yet it's unlikely you're going to master a given language within a few months, so there may still be room to seek out someone who has had experience with it for a long time.

tl;dr Learn how to code, but there's still a time to work with longstanding hackers.

I'm nuts about user experience. I wanted to create software from a UX perspective but I didn't have a job where I could bully people around to make things for me. I also didn't have any friends who were programmers. Basically, no one was going to do it for me and I didn't have cash to hire anyone.

So, about five years ago, I learned how to program.

And the really fun thing I discovered is that I enjoy programming about as much as I enjoy creating user experience. The passions become entwined in way that's meaningful and fun.

No matter how far you take it, understanding programming is going to pay off if you want work in the software business, startup or not. You'll often be able to participate in the problem solving process alongside your technical colleagues, understand when you're being bullshitted, and maybe even prototype things to prove your arguments.

And maybe you'll think it's fun. As long as you're comfortable taking a few years to get there, this is great advice.

There is a larger issue lurking here. Becoming an excellent developer isn't an over-night process. Tutorials will only hold your hand for so long before you get into the woods with concepts that are over your head (unless you have a math, systems, or compsci/engineering education); learning to program and not just code is a lifelong endeavor - you gotta love it for it, not just because you gotta do it to try building a startup.

The larger issue? The technical illiteracy of the general population. Knowing how to point and click (and nothing else) has brought user's expectations down to a point where they think some piece of functionality that takes them three seconds to interact with is a one hour unit of "coding" when in fact, it's more like days worth of thinking, typing, writing unit tests, and debugging.

My cofounder ATM is handling all of the business, marketing, and customer interaction. She only won my allegiance though because she is technically literate - not to the point of my expertise (otherwise she would be doing it herself) but she does understand that those 40 hours I just spent last week on writing unit tests is worth it instead of breathing down my neck about "let's launch it in a week, this has gotta be ready to make money once it launches, users are expecting it in a week, you just spent a whole week coding and I don't see any changes or updates...".

Kudos to KateRay for taking the reigns; I sincerely hope she/he finds as much joy in programming as I have and do. I also know that in the future, she/he will be more technically literate for a serious programmer to actually be interested in working with her/him.

My only con about this post, as hinted at above, is that it makes out what we [programmers] do to be: "yay I've read the RoR book now I can program!"

*she. appreciate the kudos
If you have a technical company, certainly become as familiar with that technology as possible. However, recognize that it takes a lot of talent and experience to become a great developer, and if you don't have it already you are unlikely to be able to magic that up on your own just by doing a few tutorials. The best way to acquire that skillset is to buy it, with money or equity or both.

Edit: note that attaining a reasonable level of skill in technical matters will pay huge dividends, especially in hiring. There are currently no objective measures for determining developer skill. The better your technological chops are the better you will be at determining the skill of potential employees / co-founders. Making sure your startup is populated by the most skilled engineers can make all the difference between success and failure.

This totally depends on the person's situation. If you have an idea and can help the project financially, you are likely better off getting a technical cofounder. But if you just have a supposedly great idea and nothing else to bring to the table, either the idea has to be unbelievably good, or you need to start learning how to code yourself.