Hacker News new | past | comments | ask | show | jobs | submit login
Founders who can't code
250 points by rokhayakebe on Oct 5, 2010 | hide | past | favorite | 114 comments
An advise to founders who can't code

If you are a business/idea guy and looking for a technical co founder, stop. Stop right now. Take 6 months off and go learn how to code (day and night, weekends including).

Most web apps do little besides save, show and update data. No, You will NOT become an engineer, programmer, or web developer, but you will be able to put a prototype of your idea together and maybe get one or two beta users for feedback. At this moment it will be much easier to recruit a technical cofounder.

The reason why most technical cofounders can create great products is not because they have a deep domain knowledge or they are great hackers. The reason is (beside passion for the problem) their cost is time. Your cost is money. They can spend one year working after hours to create a product. Can you pay someone for one year to create a product? They can fail 23 times and still find time to build their next idea. Can you convince your best friend to work on your 4th idea, when the previous 3 failed?

Here is the thing, 1 year from now, you will still have plenty ideas. But are you going to have ideas and the ability to implement them (or parts of the solution), or are you going to post one of those "Revolutionary Disrupting Idea with potential to make millions. Need Someone to build. Will give 15 % of revenue".

Stop and go learn. Worst case scenario, your future technical founder will respect you for trying, and you in return will truly appreciate their skills.

Note 1: If your idea is to build something truly technically challenging, then scratch my advice.

Note 2: Off course all the above would mean little if I wasn't the marketer/business/idea/support/whatever guy who spent the past few months learning. Email me if you are learning, maybe we can keep each other motivated.

You will NOT become an engineer, programmer, or web developer, but you will be able to put a prototype of your idea together and maybe get one or two beta users for feedback...

You will also be able to have an intelligent conversation with a developer.

I get sad whenever I encounter a business person with no technical bullshit filter. Not because I'm judging them, but because if I can bullshit them, any other developer can. Which probably means there's a problem somewhere that will hurt all of us.

I'll make a point to have a cursory understanding of financial statements, market segmentation, and project management if you do the same for the basic building blocks of software applications. Then the two of us will be able to talk about almost anything. OK?

I've been trying to learn enough Objective-C and Cocoa to be able to communicate at some level with a future co-founder (or even a contractor if I can find one within my bootstrap budget). It's slow going, though, and a first-mover just launched—the hardest question now seems to be just how much of the territory I want to be familiar with before I take the next step.

But I think you have a good benchmark there: Do I know it well enough yet to have a good idea of when I'm being bullshitted?

+1 on this.

If you learn enough to do a bad job building your prototype, you will learn what you don't know. Right now you don't even know what you don't know.

Also, you can't hire someone for a job you know nothing about. Doing (even a poor) job on your prototype will teach you to evaluate a technical co-founder.

That's one scenario.

The other is you muddle through, learn a bit and do an OK job pulling together the prototype. Sure it doesn't look exactly right but you can log in, see some records, make some updates and it's all fine in demos and pitches - hell you've even stuck it on the web for friends to poke and prod.

You now think it's all straight forward and you're nearly there. The whole this isn't secure, is held together with sticky tape, updates aren't transactional so when something does go wrong the data is left in a mess, it has no error handling or referential integrity and won't scale beyond half a dozen users which is all it's ever had to put up with as a prototype but you've only been coding for six months so you hardly understand that these problems even exist let alone understand what's involved in solving them.

Personally I really really don't want to be the tech lead who has to then deal with someone who knows way less than they think and is being told that the thing needs to be rewritten and by doing so is not only delivering bad news but is also having to criticise the persons own personal work.

Some CEOs will benefit from this sort of knowledge, others will be damaged by it - there is no simple rule.

<i>Some CEOs will benefit from this sort of knowledge, others will be damaged by it - there is no simple rule.</i>

Sure, but that's a pretty good test as to whether or not you should work for them.

I see that as an startlingly programmer-centric view of the world. I've worked with some great CEOs and not one of them could code or had any interest in coding. In no instance I have ever experienced have I looked at a CEO, good or bad and thought, the best thing you could do for this company would be to spend six months learning to code.

A good CEO shouldn't have to have every skill used by their organisation and I don't see how coding is any different to accounting, legal, sales or any other skills in this respect.

The mark of a good CEO is to be able to build good teams, be trusting enough to let them do the work they need to and smart enough to see when the wool is being pulled over their eyes.

If you need to be able to code to trust your developers, you've either got the wrong developers or a trust problem, neither of which are likely to be solved by programming.

You're missing the point here, I think, which is that if a founder (not the same thing as a CEO necessarily...) puts a few months into learning the basics of coding and attempting to build a rough prototype, they may end up:

1) with a greater appreciation of the talent/experience required for good development, a better BS detector arond technical issues, and a stronger understanding of what they don't know OR

2) a false impression that proof-of-concept = product and an over-inflated idea of what they've learned.

I definitely agree that founder #2 here is someone to be avoided. Not because either one of them would be expected to contribute to the actual development, but because founder #2 is showing flaws of perception, ego, etc. that are serious red flags, and will affect their execution of non-development tasks.

There's a big difference between the HN stereotype and "real" business people. REAL non-technical co-founders:

- Can raise funding and know funders well

- Have a massive network of people to tap into

- Can cold-call like no-one's business

- Know how to negotiate a deal to the point of paranoia

- Have deep domain experience and connections

- Make plans for the future, but can pivot on a dime

- Can talk enough tech to understand well beyond buzzwords

- Know how to keep themselves and the tech side accountable

- Let the tech side concentrate on what they do best

All those things are awesome after you have a product and or money to hire.

The people the comment was targeting were "idea people" who I must conclude are useless without any muscle/blood/sweat to turn an idea into a product.

This claim is the reason so many developers work their asses off to make something, only to realize that no one wants to buy it. You do customer development before you build the product, not after. Step 1: find need, step 2: find out if people will pay $ for it, step 3: make it.

"Real" business people are very good at steps 1 & 2. It's not fair to call them "idea people" if they have useful executional skills to make those things happen.

The problem is the "idea people" who can't execute - definitely. I too meet more of these wanna-be's than true hustlers, but the ability to sell and raise funds is VERY helpful BEFORE you have a product.

Hustlers find a way - bottom line.

In addition to the above, a real business person can also be someone who is simply able to generate revenue through other means and can pay for development because they have a vision of a product they want to realize.

Though keep in mind that they might not be a good "co-founder" per say since they are likely going to want to own the whole thing as they are paying for development.

I agree with you, however, I've experienced enough of this stereotype firsthand to basically dismiss most business-types immediately. It's just not worth my time to find the "real" business types, for the same reasons pg mentions in his essay [1].

[1] http://paulgraham.com/start.html

It depends what you're looking to do. If you're doing commercial targeted software, they're invaluable because social media etc. often don't move shit. If you're doing a standard consumer play, they might have less effect.

Yes, if you're building a B2B company, these skills are invaluable. But you're probably not going to find all of them in the same person.

If you can find a business co-founder with half of the above _plus_ an insane drive to master the remaining half, you'll be better off than most startups.

I think Marketing is the big missing piece here.

- Clearly presenting value prop

- Use CustDev framework to test and validate the idea

- Create and manage ad campaigns

- SEO and content marketing

- Conduct user tests

- Getting out of the building

Having a co-founder that focuses on customer development and distribution is super valuable in a startup.

So well said upvoting just isn't enough. (And as soon as I added my point, your total dropped a point. Hmm.)

you´re right. but real business people also know the technology to some extent already. so, the posted advice is for people who do not have that knowledge yet.

True dat. Though a rare species indeed.

FWIW Jason Fried, one of the original founders of 37signals, still doesn't know how to program (http://37signals.com/svn/posts/2540-no-more-drive-by-teachin...) but that obviously hasn't prevented the company from being a success. But then 37signals started off as a web design firm, and he had the good fortune to hire DHH.

My skills are design, writing, business, strategy, and product vision.

I'm not a programmer, but I'm intimately involved with every piece of UI across our product line as well as our marketing sites.

Some of the UI I design myself, some I work with other designers on, and other bits I give advice, feedback, and guidance on.

I also write the copy on all of our sites, and I'm involved with most of the copy in the apps themselves as well.

I hired DHH as a programmer (and then made him a partner) because those were skills I didn't have. I've done some PHP programming in the past, and I met DHH when he was a PHP programmer, so I was able to evaluate his talent at a very basic level. Beyond that, however, I liked his business mind and general approach to things - they were closely aligned with my own.

I hope this helps explain the dynamic a bit. Let me know if you have any other questions.

Thanks for clarifying your role at 37signals, which I think illustrates the importance of the non-technical but still crucial skills that make a business successful. We programmers are IMO too prone to over-emphasize the importance of coding ability since that's what we're comfortable with.

BTW, I sincerely meant no disrespect. I've been following 37signals since the homepage was the manifesto (http://37signals.com/manifesto) and am a great admirer of the 37signals' bootstrap business philosophy which I think is a healthy counter-weight to the VC-centric Silicon Valley mindset.

No disrespect taken. Thanks for your support.

I just wanted to clarify my skills/role for people who were curious.

Just out of curiosity, to what extent do you do design? Is it just interface design, making that interface look good through Photoshop, or going as far as coding up the HTML and CSS? Additionally, what would you say are requirements for becoming good at business, strategy, and product vision? I'm looking to eventually move into these roles myself.

I code all the way through HTML/CSS. I don't use Photoshop for web design (beyond scaling photos and stuff like that). My take on why I skip Photoshop and go straight to HTML/CSS when designing web UIs: http://37signals.com/svn/posts/1061-why-we-skip-photoshop

I think it's crucial that anyone who designs interfaces for the web understands how to design and code in HTML/CSS.

I think Fried is sharp enough to identify talent and bullshit anyway, so he overcame the necessity of this advice through that and the fact that the above advice isn't entirely applicable to his case.

Nope this isn't accurate. It's true, but it's not accurate. You have to remember Fried is a web designer. So while he can't design, he has had experience working on things, launching things, talking to developers. And he's willing to put his money where his mouth is - he hired DHH to work on Basecamp, but only after he asked around, looking for help in learning to try to code it himself.

Oops, I meant 'so while he can't code*'

I saw Fried speak at Chicago CocoaHeads, a very technically skilled audience, about two years ago. His presentation was almost entirely a sales pitch for 37signals products, which I thought was very condescending and a missed opportunity.

I think you have me confused with someone else. I haven't spoken at a Chicago CocoaHeads conference.

MEETING: Chicago CocoaHeads / CAWUG Tuesday Jan. 13th, 2009 Agenda: - Special Apple Store Presentation: Jason Fried, founder of 37 Signals - adjournment to O'Toole's When: Tuesday, January 13th, 7:00 PM Where: Apple Store Michigan Avenue 679 North Michigan Ave. (at the corner of Huron & Michigan Ave.)

(Everyone in the audience was a developer.)

No, you're wrong. It was a CAWUG user group meeting at the Apple Store in Chicago. There is no way in hell I would mistake you for anyone else. DHH was there as well.

> I think Fried is sharp enough to identify talent and bullshit anyway,

So what you're saying is ... learn to program, unless you are sharp enough to identify talent and 'bullshit' ... How would one identify this innate ability to know that they didn't need to actually learn how to program then?

> the above advice isn't entirely applicable to his case.

Care to explain why?

He's a pretty prolific writer, if you want to know more about him, just go read.

I don't buy into everything he's selling (cf. Rework), but I think there's stuff worth picking out of his brain.

I'm not his interlocutor nor his defender. Go read and decide for yourself.

wait. what!?!?

Do you have a specific part of that, that you take exception with?

Replies like "wait. what?!" don't actually contribute to the conversation on YC.News and are functionally, pollution.

Also don't use downvotes as an "I disagree" weapon, but rather a way to cull commentary that isn't contributing to the exchange.

Much like your own, actually.

Confer with http://ycombinator.com/newsguidelines.html

In the "In Comments" section for more info if you haven't reviewed it already.

Thank you.

Also don't use downvotes as an "I disagree" weapon, but rather a way to cull commentary that isn't contributing to the exchange


I fail to see where that part is reflected in the guidelines. The comment basically contradicted itself enough that I felt that they actually needed to explain themselves further.

But as requested I will proceed to write a small thesis on why I think their comment is wrong, if you'll permit me dear protector of hacker news.

I was working with a business partner on a startup a while back, and what really impressed me was their prototype, consisting of a 'database' of static pages, and updates done manually using the forms-to-email system.

The fact that they had a functional prototype, regardless of how horrible the technical implementation was, showed me that they were serious and I'd be able to communicate technical aspects to them much easier.

The takeaway is that you don't even need to learn to code to get that far, even WordPress with the right plugins can build a convincing prototype and quickly show a proof of concept to a technical developer that can take it from there.

Exactly! Idea guys are pretty good at getting mockups and stuff done, showing off the ideas. They can pitch it and make it impressive.

Y'know, us developers are also "ideas guys" in addition to being developers.

It seems like the pervailing thought is that developers are not the same as the idea guys, but I can't for the life of me understand why not.

marknutter is 100% correct. I can't imagine founding a startup that had a non-developer "idea guy."

For sure, I guess some people are 'full-time-idea-guys' in the sense that they just develop and manage them full time.

(Hm, I remember this submission! Glad to see it being revived... Similar posts spring up all the time.)

a little proof that WordPress can be used for an interesting prototype: http://www.notepeep.com

I don't code and with a handful of plugins and a few changes to some PHP I was able to pull off a functioning prototype.

I'm glad to see technical founders out there appreciating the pseudo-technical work the non-coding bunch of us do.

I know this is a popular opinion here, but I couldn't disagree more. You're saying that it's good for everyone to try to learn to code. Far from it. Some people are just not cut out to be coders, they suck at it, they hate doing it, and they don't WANT to do it. More than half of my intro CS class was just like that, and they dropped out.

If you're a non-technical founder, and have money, it's perfectly ok for you to hire a developer or a team to implement your idea (full disclosure - I run a company that does that, link in profile) instead of learning how to program yourself. Here's a very good article by Derek Sivers on steps you could take to make that happen: http://sivers.org/how2hire

I agree.

I'd almost argue that it can be a bad thing - I've lost count of the number of times I've been stitched up by someone with a small level of knowledge who extrapolated incorrectly from it. A little knowledge can be a dangerous thing as often as it can be useful and in 6 months that's all you're going to get (actually in six months coming from nothing you're going to know way less than most graduates and how many people consider that a decent skill level?).

Good founders should bring intelligence and an ability to learn quickly to the table, they should be willing to trust the experts they hire, but I think saying that they should be able to program is a very programmer centric view and no more valid than the sales guy saying you should go sell for 6 months, or the account saying you should be a book keeper for 6 months.

Sure these things are useful but it's perfectly possible to be successful without it and I'd suggest that it wouldn't be close to the best use of 6 months.

This isn't accurate. Most of this is true, but not for the reasons the thread author gave in his piece.

Why should a business/non-technical founder learn to code? The answer to this is simple: so that you have better ideas. Or, put another way: learning to code gives you the ability to implement your ideas. And implementing your ideas forces you to recognize, after some time, what works and what doesn't.

Hackers who start their own projects tend to have a framework in their heads for figuring out which ideas are good/may work, and which ideas won't. And they know this because they've failed enough times to figure out what isn't good for a project. Whereas most business 'wantrepreneurs' I know don't have that. They don't have that because they've never implemented anything, and so how do they know if their idea's a good one or not?

It's interesting to note that you don't have to learn to program to get this framework in your head. Learning to program is simply the most efficient (and cheapest!) way of doing it. Prominent counter-examples come to mind: Steve Jobs never really learned to code, but he grew up in the valley, and chose to mix around with hackers (Malcolm Gladwell, in his book Outliers points out that as a teenager Jobs approached the CEO of HP to ask for parts). So it's probably safe to assume Jobs absorbed such a framework by osmosis - spend enough time around people who make product and you begin to see for yourself what works, and what doesn't.

Jason Fried has also been brought up in this HN thread. And I suspect that it's no different for him: Fried is no programmer (though he's a web designer). But he was willing to pay people to implement his ideas. He paid DHH, after all, to build Basecamp. And that's another hack - you don't need programming ability to learn the framework - in this particular case all you need is implementation (which you can pay for). And if the project fails, you learn from it. Either way you gain things to add to your internal framework. (Derek Sivers also springs to mind - he hired contract programmers to build CDBaby, if I'm not mistaken).

Gaining that framework for sussing out ideas is likely to be the most important reason a non-technical founder should learn to code. Because it's going to help in so many little ways - you learn to detect technical bullshit, you gain a feel for what features to implement when and why, you attract better programming talent - because how else are you able to attract co-founders if you reek of incompetence and/or naivety?

++ Exactly. OP has got a great point, but it's narrow sighted in that programming is the end all solution to making business success happen.

This mental framework you elude to might be described in another way... perhaps as 'optimal manifestation frequency'. Someone working in OMF is able to create reality (ie- code, design, deals, etc) at the highest levels of human capacity. Doesn't necessarily matter their particular area of expertise. People in their 'wave of impact' will know what to do.

(/end quantum nerd talk)

Nop, the less you know of a system the more you can think out of it. Which is a big part of innovation.

Justify your assertion. Because otherwise this would the most ridiculous defense of ignorance that I have ever seen.

Groupthink + confirmation bias = arrogance and selective blindness

I wrote a blog post related to this yesterday. I agree with the author 100%. I can't remember how many times some business guy tried to pitch me on some stupid idea without an inkling of knowledge about programming or how the web works. The worst part is that they generally have no money either. If you have a good idea with some idea of how to implement it and a clear vision, you may be able to sell me. If you have a half-assed idea and are just trying to jump on the internet millions bandwagon because you think it doesn't involve real work, go to hell.

Could you update your profile with contact information (the email address field is not public). I'd love to read the post you described. It sounds like I've recently came to the exact same conclusion, except I'm actually the business guy who used to pitch stupid ideas (ah the naivety).

Updated profile with a link to my blog. It's less of a fully thought out post and more of a rant/anecdote. Enjoy regardless :)

Thanks, a rant indeed. I remember seeing this blog posted somewhere a few days ago, best of luck! I can definitely relate to your "F* it, I'm just going to do it" attitude.

So the reason is to 1. Create a prototype, and 2. Get respect from developers.

Re: #2—Let's reverse this, specifically for marketing.

Developers (and pretty much anyone) who know a little marketing can be harder to work with than those that believe they don't understand it. They over-rely on cliches and stereotypes without realizing it.

And what about the scenario where you end up with a person with limited technical knowledge micro-managing a tech worker? Not a good thing.

Re: #1—I find creating mock-ups shows functionality more accurately and in much, much less time than creating working prototypes.

I'm a business/marketing guy who loves coding. I usually avoid it because it's incredibly time-consuming to do even half-assed well, and you can re-use little of what you learn when it's just a one-off experience to creating something to show. (I realize that if you are always learning and creating things, your experience builds in more reusable ways.)

"Can you convince your best friend to work on your 4th idea, when the previous 3 failed?"

Any business/idea guy worth his/her salt will have more than one great idea. This is why I am learning how to code; so I don't have to go through all the trouble to get a technical cofounder every time I come up with an idea I really like. This way I can build a prototype and be a lot more credible when I approach people to work with me.

I think this is a very common problem in any business. If I want to start a restaurant, and I'm a "business guy" I could maybe try to find a "chef" co-founder, which many people obviously do when they start restaurants, however if I know little to nothing about the culinary arts, food preparation, and what kind of cuisines matter to people in a specific area, my "skills" as a business person are of limited utility and give me no competitive advantage over the dozens of other restaurants in the area I'm trying to start one in.

This very same pattern is the same in many other industries, not just software. But I couldn't agree more. Know your domain knowledge.

Peter Theil, co-founder of Paypal, would probably disagree. In the book Founders at Work, you'll find that many co-founders of large, valuable companies claim that having another co-founder understand the business side was invaluable. (Note: I'm not trying to stick up for them because I'm a business guy; I'm a coder guy.)

That's true, but it's not like learning to code a little makes all your business knowledge fall out of your head. And the point of learning to code isn't that you'll now be the CTO, it's because founding a successful tech company is hard, let alone founding one when you don't know the difference between Java and Javascript. You can still be the business guy, but now you understand at least a little of the core of your business. Not to mention that if you're just a business guy with an idea and no money, few good developers will be interested.

I did this as well - I quit my job, started reading Ruby books and wrote the Alpha version of Pikimal.com. I did this because I'd been the CMO at another start-up where I'd really not understood the dev process well enough and had thought that it had real costs so I have a pretty good sense of the benefits.

We're pretty busy, so let me cut to the chase:

The good: I'm credible to our tech folks. I understand when to slow down to integrate a library, and I'm more than willing to find time to re-factor. I learned that pair programming can be awesome, that bringing on new people slows you down, and a lot of other things that probably seem obvious to technical folks but are non-intuitive when you imagine software as assembling widgets.

The bad: Ultimately, we gave up 3-5 months that we could have been hiring, fund-raising, and building software. On balance, I think that this was good for me and bad for this start-up.

The ugly: As soon as I'd hired people, I think that we should have thrown out most of the code I'd written. We kept it because it worked and was fairly fast, but I'd made A LOT of newbie mistakes that have slowed things down.

So, tl;dr? I'd suggest learning to code but I'm not sure that you should do it for your current start-up. At the very least launch something more sophisticated than a CRUD app and THEN get started on your small biz.

I've gotta say I really do disagree, the reason we do business/idea/marketing is because that's what we ENJOY and are PASSIONATE about. I believe that that's what's most important, being passionate, and enjoying what you're doing.

And frankly, I can only code for so long before getting bored, and losing interest. But when I'm marketing, brainstorming partnerships, and discussing potential leads with a company -- i'm in my element, and loving it. I never get tired of it.

I don't want to sound harsh, but that's at least in part because talk is cheap - everyone enjoys talking and brainstorming, but at some point you have to put your head down, get your hands dirty, and get through that last 10% of work that invariably takes 90% of the time.

There's nothing wrong with what you enjoy doing - it's very valuable to have someone good at it - but there is a difference between a good sales/marketing guy and a good founder, just like there's a difference between a good programmer and a good founder.

So you're saying that doing hardcore marketing and biz-dev isn't 'putting your head down'? If a fantastic technical founder programs a fantastic app, but no one finds out about it, what value is it? It needs to be in the hands of users!

I believe that it's just as valuable (i'm not going to say 'if not more')

I think true sales is 'putting your head down'; cold calling is at least as manly as debugging Ruby. But I think "biz-dev" is often, well, spinning bullshit fantasies, putting them into powerpoints with nice colors, and calling it work. Not always, but often.

I guess that's why proven coders and proven commission salespeople (and proven accountants) can always find jobs, while "big picture" folks are left unemployed, wondering why companies can't see their brilliance. Or, if they're lucky, they sue Zuckerberg because he was able to do make an actual product which never got past the great-idea-over-beer phase for them.


What you say isn't wrong here, but it's one-eyed.

Specifically, it's much more true in consumer than B2B. In B2B, biz dev is building partnerships, channels, distribution, obtaining resources you need at prices you can afford, all that good stuff. It's the absolute engine of your business.

If you're writing a B2C app, doesn't matter about the platform, then what biz is there to dev? In a similar sense, you need marketers, not salesmen, because your problem is getting a call-to-action out to your potential market as effectively and efficiently as possible. You can't do that door-to-door at scale.

But if you're doing enterprise software, the converse is true. You need biz dev to shape your proposition, and you need a sales force to go and hammer down doors and melt the copper in the phonelines.

Different problems, different solutions, different solvers, that's all.

From someone who has interacted with a lot of investors trying to raise money and pitch a business I started with some friends, I can assure you that a lot of what people think makes a business is bullshit.

We spent months and months building a business plan, doing market research, talking about our IP, our proprietary processes, etc. When talking to all the investors we met while in the Notre Dame McCloskey Business Competition, we were basically informed the business plan wasn't worth the paper it was printed on, we had no IP, and the reason investors won't sign an NDA on your idea is that an idea isn't worth shit. When I actually started building something, when we got the land needed for the other part of our business, and when we had substance (not just words); that's when they listened, offered us money, and things started to work out.

ps: for more info -- We ended up finishing 2nd out of 211 businesses (from idea stage to operational). In the finals, we had investors offering us as much as $50,000 on the spot (which was the coolest feeling). We didn't accept any money because we felt we weren't ready to, which was good because the business dematerialized due to internal struggles. The main guy was the stupid idea, no tech knowledge type and thought he ran everything and was the reason we were getting traction (when all he did was sit around thinking up dumb ideas that the rest of us refined, curated, and implemented).

No, I believe that in an early-stage tech startup, each founder should be able to wear more than one hat, and be willing to do tasks they don't enjoy when necessary. The business founder should have some technical knowledge, and the tech founder should have some business knowledge. These aren't prerequisites for success, but they can give you a significant advantage.

Edit: reading your other replies, it doesn't really sound like we're disagreeing.

As a technical guy who is taking care of the biz side of things in my startup, I must disagree with you lachy. I know how aggravating it is when someone shows complete disinterest in the technicalities. They lack an awareness of the challenges and think this stuff is magic. It's not. There are limitations and trade-offs.

I'm learning a lot of mechanical engineering stuff from my co-founders that's critical to understanding why our product will or won't work.

As far as passion is concerned, you should be passionate about the whole thing - from start to finish! I want to know the why, how, and what behind my products.

I think I conveyed my point pretty hopelessly. Don't get my wrong, I love the technical side, I think it's fascinating, I just wouldn't want that to be my full time job. I can read and understand code, I just can't write it. I love to learn bits here and there, especially front-end.

I appreciate your reply, and I agree with you.

"I can read and understand code, I just can't write it".

That is what I thought too before writing. Let me tell you you don't understand it, my friend.

Edit: That was not a smart comment from me. Let me rephrase it. If you can read and understand it, then writing it should be less hard for you.

> And frankly, I can only code for so long before getting bored, and losing interest.

That's because it's not all fun and games. It's hard work, and the most important part of an internet startup.

But you code because that's what you're good at, and that's what you enjoy. I do marketing/biz-dev for the same reason. Why don't you do marketing and biz-dev?

I do front-end development, and I can read backend code, I just can't write it!

If I had a co-founder with that attitude I'd tell him to sod off.

The people at the top have to be willing to do whatever it takes, whether they're "passionate" about it or not.

I like to live doing things that I thoroughly enjoy, and I find I don't do great work if I'm not working towards something that I am really passionate about, or something that I want to really crush!

Note 3: Don't do this if, after a week, you don't like coding. You'll go insane.

I strongly disagree. Learn code if you are interested, but what ill advice is that you have to learn code?! Consider your advice from a designer perspective, should founders/coders learn design because "worst case scenario, your future designer partner will respect you for trying, ...". The same goes for scaling, you should stop and learn how to scale if you're a front-end developer because the reasons you gave?

Honestly, I can't see what the fuss is about. There are plenty of examples of successful companies with founders who could all code, or a mix, and even a couple instances where no founders could code.

Do these sweeping generalizations do any good? No doubt, it helps to know at least some coding in this business, but isn't that just common sense? And even if someone disagreed with that sentiment, would they take this to heart anyway?

This is one thing that bothers me about HN. There is a lot of advice here that seems to be just that. I love checking out people's work, the sharing of actual trials and tribulations, and learning about developments in the industry; but you know what they say about opinions and assholes... everybody has them.

I don't think the standard CRUD web app is necessarily what will make an exciting startup. That would more likely be some new twist.

Also, I can feel with business types who say it doesn't make sense for them to learn coding. In a way I am in a similar situation, as I am constantly extremely hampered by my lack of design skills. Should I try to become a designer? I admit to trying now and them (decided today to go through the inkscape tutorials, bought the occasional book on design), but honestly, odds are very low that I'll be able to compete with real designers. And the graphics design takes away much needed time from coding.

When you strip away the scalability infrastructure, isn't Twitter just a CRUD app? For some people they would seem to epitomize an "exciting startup".

The problem is that without the scalability infrastructure, it doesn't work. Although to be fair, the Twitter people probably didn't know that in the beginning, either.

So you could have built a crappy prototype, true. However, while Twitter is an exciting startup, a Twitter clone is not (anymore).

Granted, you might be able to build the occasional CRUD prototype for something that could become an interesting startup. I doubt it is true for all kinds of startups, though.

Thanks for posting this. As a entrepreneur I couldn't agree more with your opinion. Previously although I work in a technology field, I was pretty functional. That is, my knowledge of coding began and ended at SQL and HTML. But on the same note, years of doing custom applications with developer teams educated me on the 'lingo' and what could and could not be done (at least, not easily).

Over the past year, we had many 'business' persons who offered to help out, and while that was awesome, what we really needed was qualified technical people. For a 'business' person, one can usually get an unpaid college intern and not have to sacrifice any shares in the company.

Also, I think as functional person you are somewhat "over the barrel" if your developers dont perform, and can do nothing except complain. I do believe it's better overall if you can build your own product. At the end of the day, we decided to educate our own team in Ruby/Rails rather than bring in outside developers. I think this was a smart decision, and also a more cost effective solution.

I definitely suggest other start ups do the same.

Interesting that the threads in here actually are more vocal than I expected behind the non-tech guys. Helps that jasonfried, a prime counter-example to this post, weighed in himself.

My take on it is simple: I passed this article along to my co-founder as a token of appreciation. See, he started along the way without any coding experience. He taught himself (with some pushes in the right direction) how to program, design, and even do some database stuff. He's decent at it, but that isn't necessarily what matters. What matters is now I have someone to discuss things with, someone who understands at least the basics (and has basic experience) with different design stuff. That's not only helpful for productivity, but morale as well.

So, yeah, maybe learning to code isn't a requirement for a guy who can do everything nickpinkston listed. But, as the technical guy, it sure as hell makes my life better. So here's to you, jonesy!

I disagree with, "Note 1: If your idea is to build something truly technically challenging, then scratch my advice." If you want to build something technically challenging, you absolutely must learn the basics of whatever field it's in. You will not make a prototype this way, but you will be able to talk to someone who can without sounding like an idiot. You should study until you can prove that your idea is "challenging" rather than infeasible.

As a corollary, be weary of AI. If you are solving a problem with AI that you don't understand, assume the AI won't work.

On another note, maybe the real advice should just be "pick an easier project." I have a technical background but consider myself a hybrid business/hacker going forward. My current project is highly technical; I don't think I'd consider taking on a co-founder who didn't have some tech background.

Instead of taking time off to do this, I'm doing it on the fly while my startup is up and running. I fought this fight for just about 2 years, outsourcing much of our web development during that time. And I don't regret outsourcing - it can get you up and running faster than learning, especially if you're building something that borders on complex. But in the end, we really needed to start bringing things in-house, from both the standpoints of protecting our IP as well as enabling us to become more nimble in terms of making changes on the fly etc.

We haven't completely weened off outsourced web development, but I can now see a path to get there, and it all started by learning how to become more self-sufficient.

I've been doing web marketing for about 8 years now (SEO, PR, product, SEM, viral etc) and I'm currently the CMO of a great small internet company... and I completely agree with you. Even if you're not going to strike off and start a company within the next year, you'll still be able to understand basic structure and constraints of programming. I've done this myself (with decent, yet limited success) by taking advantage of the free Harvard course offered at CS75.tv Watch the lectures (they're entertaining), do the projects and if you catch up now you can even participate & interact with the class... democratization of knowledge at its best.

Note 1 is pretty important. If you're non-technical how do you know if your idea is technically challenging or not? In many cases you don't, even technical people often misjudge how challenging and idea can get.

If it is challenging, you get too deep into code, things take too long, get discouraged, etc.. Or settle for some gimmick that you can execute within a reasonable timeframe.

It's a good theory, but it assumes that non-technical people will try ideas that are minor improvements over existing ideas, like twitter, groupon clones. But they may also read up on magic new tech and come up with ideas based on that, not knowing how hard they'll be to prototype.

I also got sick of feeling like just an ideas person, so I've been trying to follow this advice for the last 2 months. Any feedback would be much appreciated.

I started with Python, using a combo of MIT OCW, Learn Python the Hard Way, and How to Think Like a Computer Scientist. I then started going through an online course on dynamic websites that touches on HTML, CSS, PHP, XML, MySQL, Ajax, and Javascript. I've been using w3schools.com and the online manuals to learn more about these.

Does this make any sense? Should I try to learn more Python? If so, which resources should I use? Are these all worth my time? Am I missing anything?

I'm in the same boat, a little further down the river. Also started with MIT OCW and How to Think Like a Computer Scientist (in addition to the O'Reilly Python book).

Best thing for me was to escape the textbook-like examples (quadratic equations, rock paper scissors) and actually [attempt to] build real things. Once you have cursory Python knowledge, pick up "Practicel Django Projects" -- you'll build a working CMS by page 28 and feel really good about yourself. By the end of that book I was pleasantly surprised by how comfortable I was writing other programs, even if I am slow as hell and have a reference book open in my lap.

I don't know any developers so I have to learn to code myself. I also have not business related experience so that's a double whammy. But I can generate good ideas like a mofo.

While building my prototype I mostly feel like I have no idea what I'm doing but slowly and surely my site's starting to function, grow and work. Its amazing what persistence can accomplish.

I realize I'll have to find a technical co-founder eventually though. I won't be able to hack together a smoothly running and awesome site on my own. I also have no idea where to look for a technical co-founder and how to approach them. Interesting times ahead.

I agree with this so much. Taking the time to learn, just the basics, will save you so much money. Even if you never implement the final project it will leave you in a much better place to negotiate. And if your a coder, take the time to learn about online marketing, same principals apply.

Whatever other skill set you have above all learn to write, if you can write you can express yourself, you can create a business plan, write a blog and write marketing copy and grow your idea on the cheap.

Sean http://seanclark.com

Ughh. I really wish topics like this didn't exist. Every situation is different.

I haven't touched code in 15 years, but I understand web technologies, constraints, possibilities, etc. People love our product and UI. I own the product roadmap and UI direction - have since the beginning. I write the specs, I do the wireframes, I refine UI, etc.

Why would I learn to code? What impact does it have on my business? I have 10 engineers who are extraordinary.

Every time I see this argument, I cringe.

I'm that founder learning how to code right now and I couldn't agree more with you.

Been hacking away for a 1-2 months so far with a friend who is a developer. It's totally worth it.

Great, Malandrew. It always helps to have someone to help you go through it. Email me sometimes, we can update each other every now and then on our progress. Cheers,

Its a really fascinating tell, when programmers think that the solution to a given problem is that everyone become programmers.

I think in general it is far easier for a programmer to quite productively spend a day on web design (steal/copy), building a nice user interface, some copywriting or attracting funding; then it is for the non-programmer to spend a day on making software.

It's sad you can't team up with people to create a greater product while you do your business work/innovation/generalistic work/legal/accounting etc. etc. you know the stuff a business man should do.

I'm in the same situation as you. Maybe you lack the business man part?

True! Usually people run around looking for co-founders and they look like people saying, "Build this for me, and hey you are a co-founder that means I don't pay you. Your time is at risk not mine."

And there is no way they can get a co-fonder that way, anyways.

Yes, as others mentioned, there are good tools to rapidly prototype things, and using them shows you are resourceful and committed.

If you really can't do that, at least put in the time to create a detailed spec.

I disagree with the above post. Engineering offshore resources are cheap. If anything learn elements of good UI design. Design elements will cause you failure more often then coding.

I think that's inline with Derek Sivers history (as told on TechZing) http://techzinglive.com/?p=443

Great points. Thank you.

It is better to learn the task yourself, before hiring the person on that task. I believe this mantra works in most situations in a start up.

So what would your advice be to someone who could, once upon a time, code (COBOL, C) but hasn't written anything in ~15 years?

Turn it around: if you only know how to code, stop right now. Take 6 months and learn how to market/deal/plan.

If I were to start a clinic, do I need to learn medicine?

advice for coders who can't found: have an idea, learn to talk to people.

now we can all be single founders.

cofounder learning to code! agree absolutely!

I disagree. Time is money. But which opportunity cost is greater? Do you have access to more time or do you have access to more money?

If your primary skillset is in business, marketing, or sales, stick with that. Don't deviate from your specialization.

If you're applying for a job, then I agree.

If you're founding a startup, then a business guy needs to be able to clearly and quickly communicate with the developer(s).

One needs to clearly and quickly communicate requirements.

just a list of requirements doesn't cut it. There are a lot of ways to fill in requirements, a lot of bad ones and very few good ones. When you ask an author to write a 500 page roman about some dramatic lovestory you have written down in a 5 page requirement document, there are still a lot of things that will be unclear when he is writing it. When the author hits an unknown he can send you an email, make an assumption or call a meeting. 1 and 3 breaks his workflow, 2 doesn't.

now speed this proces up a 100 times faster and you've got a programmer in the 'zone' with a 5 page requirement list for a fairly complex project. It won't end very well unless you have very short communication lines for the entire duration of the project (or the programmer is reading your mind)

Here's another idea. Instead of saying that the only way someone could possibly communicate with a developer is on the developer's terms by learning to program, why not employ developers who can communicate with non-developers?

Yes it's important to create the best possible working environment for a programmer and give them the best information, but in this example the founder / CEO / visionary is actually the scarce resource and the aim should be to get him working as effectively as possible. Six months of his time to learn to program is a huge and expensive (in opportunity terms) commitment when part of that should be picked up by the programmer spending time filling in the gaps.

It's not how you get the most out of the programmer that matters, it's how you get the most out of the whole team and sometimes that's going to involve individuals having to work in ways which are to them non-optimal.

I suppose it depends on the main expenses of the companies, optimizing programmer workflow is a very good idea in a tech-centric environment because its a major part of your operational costs. However, if the quality of the technology is not an important business driver then I suppose you can afford to be average about it.

If your a hack what are you doing reading hacker news? jj :-)

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact