
What should a striving non-programmer do? - xzibitendo
I have all of these ideas for a startup burning inside me, but with no real programming skills and no partner (yet) I feel trapped.  Is it worth my time to teach myself programming? Any advice would be great.
======
trekker7
I'm going to offer an alternate point of view from some of the other comments
(I'm a programmer and am studying CS in college).

Do you think if you gave programming an honest shot, you'd sincerely like it?
If the answer is "no", then forget it... don't learn how to program. Instead,
find a programmer who likes your ideas and is willing to implement them for
you, as an equal partner. This may be tough to find, but that's what you have
to do.

Ideas have tons of value. In my opinion, ideas are insanely important. The
best-engineered, slickest, cutting-edge application isn't going to make a
flipping cent unless the user-facing features add value. And these features
can be formed from ideas that ANYONE has - not just programmers. Don't think
that you have to be a programmer to have great ideas; that's utter bullshit.

That being said, I think you do need to know your way around technology,
because as a lot of people say you need to know the options; what is feasible,
what is not feasible; what powers and raw functionalities you have at your
disposal. Read Wikipedia articles about things like AJAX, server-side
computing, search algorithms, social computing, etc. Watch Google Tech Talks
about whatever sounds cool to you. Try to figure out what the current state of
technology is - in terms of functionality and capabilities - across the
CS/software board. You don't need to be a programmer to do this. But don't
struggle through concepts that you find boring; read about stuff that seems
cool and interesting.

The bottom line is, do what you love, period. Yeah it's cliche. But if you
take up an activity because you care about the end result, and not about the
journey, you're going to end up frustrated and will probably just give up.
Whatever you're passionate about, do just that, and find someone else who's
passionate about the rest to work with you.

But you should give programming an honest shot anyway, to find out if you like
it. It's cool stuff.

~~~
pg
> Don't think that you have to be a programmer to have great ideas; that's
> utter bullshit.

While I wouldn't say that you have to be a programmer to have good tech
startup ideas, I wouldn't say that it's completely false either. Empirically
there's a clear trend: most of the most successful startups were led initially
by hackers. (And the most notorious flameouts mostly weren't.) It makes sense
that people who understand a medium will have the best ideas for what to do
with it.

~~~
altay
No way -- plenty of flameouts were led by hackers, too. On top of that, the
reason we've heard about the "most notorious" flameouts is because they
actually knew something about marketing!

I'd bet that the vast majority of successful companies start with a problem,
and then ask "how can technology help me solve this problem?" Sure, there are
notable exceptions that worked backward, e.g. eBay, Amazon, Viaweb. They saw
the inherent potential in a technology and asked "what problem can this
technology help me solve?" And, no doubt, if you can pull that off, you're
probably more likely to hit one out of the park rather than "merely" build a
sustainable business. But most of the stuff that programmers build these days
are solutions for non-existent problems.

I'd go so far as to say that, often, those who best understand the medium have
the _worst_ ideas of what to do with it. The more time they spend on the nuts
and bolts of the technology, the less time they spend exploring other domains,
where they might find more interesting and mainstream problems.

~~~
dfranke
> On top of that, the reason we've heard about the "most notorious" flameouts
> is because they actually knew something about marketing!

Interesting point. I never thought of it that way. When a company is run by
hackers, they usually only get publicity once they've created a product worthy
of it. By that time, they're most of the way to success. Whereas when you have
marketing guys at the top, the publicity comes when the company is less
mature. So the perception that companies run by marketers flame out more often
might be partially a result of selection bias.

------
SwellJoe
Code is the most valuable component in a tech startup during the early stages.
If you can't produce it, you're value to an early stage startup is low. It's
that simple.

Ideas have little to no value. Execution is what separates the winners from
the crap, and the Facebooks and MySpaces from the thousands of other social
networks built by no name coders on eLance (at any given time there are dozens
of listings for wannabe development).

That said, MySpace was made by non-hackers. So was Digg. Bloglines was partly
created via eLance contracts (though Mark Fletcher is nerdy enough to pull
things together in ways that a non-nerd might not be able to...the same is
probably true of Kevin Rose and Digg). Maybe you need to hire your development
work.

Or, you could learn to code enough to make yourself valuable. Great web
designers are every bit as important to the equation (and a weakness in most
developers...so if you bring good design, you may be able to find partners far
more readily).

~~~
prakash
Re: Digg was created by non-hackers. Not true.

I am not sure if you have heard of digg's other co-founder Jay Adelson
(<http://www.spock.com/Jay-Adelson>). Jay started Equinix, that does require
_some_ technical skill

~~~
rms
Kevin Rose hired an offshore programmer to write the php for Digg...

~~~
staunch
He did farm out the work to a random person on ELance (for $2k), his name is
Owen Byrne. But he's a Canadian I think, so maybe "nearshore" would be more
accurate.

[http://www.elance.com/p/corporate/community/resource-
center/...](http://www.elance.com/p/corporate/community/resource-
center/elancer-oct-06.html)

~~~
vlad
Nearshore is also wrong because there isn't a shore between Canada and the US.
The term is "outsourcing" to anyone in the US and Canada. If it's to another
continent, then it's "offshoring."

~~~
SwellJoe
Or, we could stop being xenophobic and call it all outsourcing, and leave
"offshoring" to refer to things that have been moved out of the US
specifically because doing it on this continent would be illegal or
impossible, like gambling, drilling for oil, etc.

Hiring someone else to do remote work is agnostic of location (in general).
So, the term "offshoring" seems likely intended only to confuse or inflame the
reader based on politics rather than facts.

~~~
rms
From Wikipedia:

"Offshoring is defined as the movement of a business process done at a company
in one country to the same or another company in another, different country.
Almost always work is moved due to a lower cost of operations in the new
location. Offshoring is sometimes contrasted with outsourcing or offshore
outsourcing. Outsourcing is the movement of internal business processes to an
external company. Companies subcontracting in the same country would be
outsourcing, but not offshoring. A company moving an internal business unit
from one country to another would be offshoring, but not outsourcing. A
company subcontracting a business unit to a different company in another
country would be both outsourcing and offshoring."

So there is a small semantical difference between the two, offshoring is
broader.

Edit: Offshoring is not necessarily broader than outsourcing, except
offshoring applies to internal and external business processes.

~~~
vlad
If you have a Canadian make a logo for you, are you offshoring? NO--there's no
shore by my definition, and there's no moving of an existing process according
to Wikipedia.

I think for startups, outsourcing is the best term to use.

~~~
rms
In this case the distinction between outsourcing and offshoring gets fuzzy
because making the logo was not something that was previously done by Kevin
Rose's company, because Kevin Rose's company didn't do any internal logo
development or hire any local companies to do logo development. I don't think
a correct use of the word offshoring requires crossing an ocean, it seems to
be accepted that it just means a different country, even if the word itself
doesn't imply this meaning.

I'll agree that outsourcing is a more appropriate term, I used the word
offshoring in my initial post without thinking because I thought (incorrectly)
it was less politically charged than outsourcing. I'm going to agree with
SwellJoe and say that there's something inherently xenophobic about the word
offshoring.

~~~
rokhayakebe
You guys. We all know you are all super intelligent and well educated, but
this is exactly the problem that comes with being too smart. You make things a
bit more complicated. Outsourcing = letting a third party handle a piece of
your production. Offshore = outside defined geographical limits. The
expression is offshore outsourcing.

~~~
bootload
_"... this is exactly the problem that comes with being too smart. You make
things a bit more complicated. Outsourcing = letting a third party handle a
piece of your production. ..."_

Your mistake is equating development to production. Making software is
difficult because designing upfront and then expecting the result to reflect
_"what users want"_ is an oxymoron. Instead think _"just-in-time"_ design and
creation of a software product in very close communication with users.

    
    
      '... total outsourcing leads to delayed and inferior products due to human factors and mis-communication ...'  
    

The real _"value add"_ here is being able to _"optomise employee face-time"_
with your _"unit profit generators"_ (users) through _"space-time"_ savings of
costs per _"CSM"_ (cubicle square meterage), delivering superior " _user
expectations_ ".

Outsourcing in this context is just another business fad. Feel free to insert
your own business _"Buzz words"_ in place of place of the ones inserted.

~~~
rokhayakebe
this is exactly what I am talking about. Thank you for the scientific expose.

~~~
bootload
_"... scientific expose ..."_

It's not scientific it's empirical observation and hardly an expose.

------
jsjenkins168
Why not just learn to hack? If you start out small and work with bite-sized
pieces and good tools, you'll see its not as difficult as you might think. I'm
a firm believer any smart person can be good at coding if they are determined.

My advice is to pick up an intro book on Python and start with basic examples.
With a little work, you'll be building cool stuff in no time.

~~~
bootload
_"... Why not just learn to hack? ..."_

 _"Learning how to hack"_ , Is like trying to get someone with a _"junk food
diet"_ to become a _"gourmand"_ by learning how to cook.

Hacking is a mindset and while you can learn to be a hacker ~
<http://catb.org/~esr/faqs/hacker-howto.html> I just can't help but think some
are born with the hacking gene(s) (if there is any) and some are not.

It goes to the core motivation. Is it just the money? Or it it, hey I can also
make money doing this? If you are not into technology, software, building
there is always real-estate.

------
ph0rque
I was in the same position as you literally two months ago. Since then, I've
brushed up on HTML, learned CSS and Javascript (somewhat), and am learning
Ruby on/for Rails. In retrospect, I would learn RoR concurrently with the
others.

I would definitely advise you to learn some programming, since even if you
find a partner, he/she may not have the same drive or take on problems that
you do. Knowing a little bit about hacking, even as an amateur, will enable
you to go further than you would otherwise.

~~~
xzibitendo
I think that is excellent advise, thank you! If you have come across a link
that explains what each language's advantages are for web-development, please
share.

~~~
altay
I'm in the same boat - a recovering 'ideas guy' who buckled down and actually
learn to hack over the past year or so. (One of the best decisions I've ever
made. Though, granted, I developed a real passion for it.) I'm enjoying
Ruby/Rails, but will probably check out Python next, because so many smart
people seem to gravitate to it.

BUT, that said, I'm going to commit hacker heresy and recommend that you
consider starting with Javascript. Here's why:

Hackery reasons:

\- it's how I learned object-oriented programming

\- it's how I learned functional programming. (well, ok, a little bit of
Scheme helped, too.)

Practical reasons:

\- in any project, no matter what the backend is, you're _always_ gonna need
JS on the front end

\- with the rise of rich UIs (ajax and whatnot), people who really know their
JS are in demand, and it's a niche that most hackers don't focus on

\- you can learn from studying thousands of other real-world programs. (when
you see something cool on some website, just pop open the hood -- or, rather,
pop open firebug -- to see how it works.)

\- it's the layer that's closest to the user. this forces you to keep
everything in context while you hack.

\- you said you're a good listener. empathy is key to UI design, so you might
find this to be a good place to mix your strengths with code.

Ok, now all you _real_ hackers can tear me apart for recommending a toy
language. ;-)

------
snorkel
Start by drawing your ideas on paper in detail. You don't have to be an artist
because it's not going in a museum. If you are thinking of making a web site
then draw it on paper, page by page. Describe exactly what happens when user
clicks each part of the page. Every page, including the login page and about
page. Every single page, every single clickable thing, draw it and label it.
The more detail the better. You should have enough detail on those pages to be
able to hand to someone without saying a word and they will be able to read it
and understand it. That level of detail.

Then pay a web designer a few hundred dollars to turn your pages into a static
mockup. Static meaning it doesn't actually work yet, you can't login and do
stuff, you just look at it. It's just HTML and graphics. It's a facade.

Next you can either pay programmer anywhere from a few hundred to few thousand
dollars and wait 3 months for them to build the functionality behind the
facade or you go learn HTML, javascript, ajax, and PHP (the easiest
programming language for novice web devs) and build it yourself.

------
zcoelius
I have to disagree with all the hackers in this discussion. Code is super
important, but a startup is still a business. Business is a team sport that
requires many different talents. If you can't code move out to San Francisco
or someplace where startup congregate and find a startup that needs your
talents whatever they may be. Learn the ropes and meet people. Repeat. Thats
what I did. There are lots of non-technical people who have done well this
way. Read Mark Cuban's posts on motivations. He was non-technical and kicked
ass.

I moved out to SF as a non-technical biz guy two years ago and now I run a VC
backed startup. It can be done.

~~~
geebee
There are so many reasons to give up, and "I can't program" is one of them.
"I'm too old", "I'm too inexperienced" seem to be a couple of popular ones.

There are advantages and disadvantages, and I admire every person who decides
to put everything he/she has into it.

That said, we don't have to work this one out through logic - we can look out
into the world and observe. Think of the top ten start-ups that IPO'd or were
bought last year, and take a look at the bio's who founded them. The numbers
don't look good for founders who can't program.

Thing is, hacking _is_ something you can learn to do. You can't make yourself
younger, or taller, but there's nothing stopping you from downloading ruby
(or, if you have a mac, opening a console) and get to it.

It does take a while to learn to program - but if it didn't, then it wouldn't
be much of an advantage.

If you really don't want to go through it, there are certainly some notable
successes for non-programmers. If you can add a lot of value as a founder and
help make a lot of people successful, then go for it.

------
staunch
If you had a burning desire to create a new building of some kind but weren't
an architect/engineer what would you do?

~~~
kingnothing
Questions like that sometimes keep me up at night. There are so many things
I'd like to do in life, but not nearly enough time to learn how to do them
all.

~~~
daniel-cussen
I feel your pain. I also have more dreams than time to carry them out.

------
zaydana
I agree that you should at least learn a bit of coding. That said, there are
many code monkeys out there (like me) who need business partners who can are
arty and/or can run a business. Coding isn't the only thing required to run a
start-up (I think :P).

------
webwright
Out of curiosity, what do you consider your strengths (aside from ideas)?
Design? Marketing? Accounting? Writing? All of these things have a place in a
software startup. If you're good at all of them, you're golden (because most
hackers decidedly aren't).

But, at the end of the day, the most expensive and time-consuming thing that
software startups need from the outset is software development. Other than
design, there's not a lot of need for other skills before you manage to create
a product that people want to have.

But I'd echo the sentiment mentioned elsewhere. Dabble in programming and see
if you're enjoy it. If you don't, focus on your strengths.

~~~
xzibitendo
My strengths are the ability to grasp technical problems, act as the face of
the company (lead meetings with investors, presentations, hiring), and more
than anything, I listen well. That being said, I'm definitely looking forward
to contributing to a significant amount of the content and design.

Thank you for the great suggestions!

~~~
jaggederest
Drop me a note, if you've got good ideas, I'm interested. No commitments, but
if something strikes me, we can work it out.

------
s_baar
You should learn as much programming as you need to but if you find that it's
not your strong suit then there are other options. Besides being the "business
guy" in a startup, you can probably work on finding people who are passionate
and fill in their holes. Chances are that someone is working on something
similar enough to be useful to you. What you can do now is approach these
people with one of your ideas, show them how you can reach mutual benefit and
coordinate efforts so that you can get together all the people you need to
make something great.

------
wschroter
I think learning code (even HTML and basic queries) is helpful. While I don't
code per se, I'm familiar with what code can and can't do, and it's been
invaluable in growing many companies.

Keep in mind the advice you're getting here is relatively slanted toward
programmer-centric minds.

Try posting it on LinkedIN answers and see how your responses vary.

------
ajmoir
Find a co-contributor. Carigslist etc. Put out an ad on the gigs forum. As a
dev coming at it from the other angle. I have the skills but not many business
ideas. But I also have clear ideas what I'm willing to work on.

If it's just a copy of something existing then don't expect many replies. But
an exciting new idea would have many responses.

------
fzkl
Ok. I have been wanting to post this question myself. I can solve problems in
C and am good with logic. I can also do some HTML. But when it comes to
interfacing with the web and real world applications I just don't know where
to get started. Things like databases, libraries and API puzzle me.

~~~
emmett
Web applications, databases, and APIs are all really very simple. An api is
just a collection of functions (or ways of calling functions) someone else
wrote. A database is just an api to store tuples. A web application is just a
program that listens on a TCP socket for HTTP requests, and responds with HTTP
responses.

You can write your own web server in a couple hours, even in C. It won't be
any good, but it's a fun confidence building exercise. Then learn Python or
Perl or Ruby or Lisp or some language with non-sucky strings, install Apache
and mod_python/perl/ruby/lisp, and point it at your script. Voila, instant web
application! There are plenty of step-by-step tutorials online.

I was in a similar situation to where you are before I started on Kiko
Calendar - I'd never written a web application or used a database or api
before in my life. Thanks to the internet, I could learn how in a couple
months. You can too.

~~~
whacked_new
"You can too" is the most important sentence in above post. Remember it.

------
crucini
The first step is to inventory your assets. What value would you bring to a
hypothetical startup? You're not (currently) a coder. What about business,
marketing and sales? If you can become strong in one of these areas, you
provide value.

Can you project a profitable business from one of your ideas?

If your only contribution will be your ideas, they'd better be valuable.
Valuab le ideas are generally new solutions to existing problems. As such,
they're usu ally patentable.

Good luck.

------
rokhayakebe
Coding is a lifestyle. You can learn how to code. Anyone can. But by the time
you have learned enough to build your idea, it will have become obsolete. get
a co-founder maybe or hire a firm to do the work for you and take it from
there. You are less likely to succeed, but at least you will not sit down some
day and say "I should have tried". Take it from a suit.

------
bmaier
Now taking this question from a different angle... Suppose the striving
programmer has chosen to start learning python.

What steps would you take to start (are there any one click installers like
there are for ruby? other things? tips for beginners). If you were doing it
again, what would you keep in mind?

------
vegashacker
We are working on an easy-to-use web app creation tool, and we're looking for
real use cases to test out our system. Drop me an email, if you want to chat.
If an idea of yours is a match for what we do, we may just implement a
prototype for you.

------
steveplace
Great resource for some skillset learning:

<http://ocw.mit.edu>

------
zcoelius
read this: [http://www.blogmaverick.com/2004/04/23/success-and-
motivatio...](http://www.blogmaverick.com/2004/04/23/success-and-motivation-
part-1/)

------
tx
Hm... Do you like to build something like a... robot that goes around and...
huh... does stuff for people that people themselves don't want to do?

I am sorry, but most of the ideas I hear from non-tech people are pretty much
like that :-)

Man, you have to realize that ideas worth nothing. Seriously: ZERO.

What counts is the best possible implementation. Facebook is not the first
social network and google wasn't the first search engine.

Sorry to disappoint.

