What should a striving non-programmer do?
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.
61 comments
[ 0.19 ms ] story [ 611 ms ] threadMy 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.
"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.
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.
http://philip.greenspun.com/panda/
This is the book that got me into web publishing back when I was like you. It is, as I said, slightly obsolete, so when you finish it you will be an expert on the cutting-edge Web technologies of 1998 (e.g., Oracle). But the step from then to now is not as large as you think. (And, to be fair, the online version of the book has been revised a few times in recent years.)
There is also a New and Improved book that covers much of the same material:
http://philip.greenspun.com/seia/
I haven't read this myself, and I believe that (as a textbook for an MIT course) it may be geared more toward hard-core hackers than the earlier book, which was intended to be readable (or at least skimmable) by non-programmers.
The advantage of these books is that they provide large-scale perspective. I didn't know what a relational database was when I started the book, but I sure did after I finished.
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).
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
http://www.elance.com/p/corporate/community/resource-center/...
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.
Nobody made any value judgements on either word. It's quite clear the word offshoring doesn't make sense for United States companies outsourcing to Canada or Mexico, just like the Germans can't offshore to France. However, Italy can offshore to the United States and vice versa.
Maybe I'm wrong about the semantics (people are free to vote the post up or down), but it's not fair to imply that rms, staunch, or I feel there's anything wrong with people who live in other countries.
I didn't intend to imply that any of the other comments were xenophobic in nature.
It's just a more sensitive area than anyone here would like to admit, and there are political motivations at work in the use of these terms, and by following the lead of xenophobic folks, we might be working for their political ends despite not having those desires ourselves. I'm actually assuming that the vast majority of people here are educated and lacking in bigotry or xenophobia, and based on the number of startups started by non-US natives in the current web 2.0 economy, more likely to be literally "off-shore" than most English-speaking community website contributors.
In short, I was merely wanting to point out that by using the word off-shoring, people might be indicating political positions they don't endorse (which is just what anti-immigration and protectionist supporters want). I don't really care what terms folks use, and I'm wholly non-PC. I just know enough to know that there has been a subtle shift on border issues in the US in a direction I don't like at all, and I know that language is a tool that the reactionary new Right uses extremely well. I'm not saying the word "off-shoring" is the reason immigration or import/export issues are about to become a shitstorm in America, but I can't help but think Fox News would rather I use "off-shoring" than "out-sourcing", because "off-shoring", in some Americans minds equates to "non-white, non-American, workers stealing my job". So I'll use "out-sourcing", thanks.
Apologies to rms, staunch, or vlad, for any hurt feelings. Just remember that I'm an insensitive clod, and I'm sure you'll feel better. ;-)
"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.
I think for startups, outsourcing is the best term to use.
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.
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.
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.
It's not scientific it's empirical observation and hardly an expose.
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.
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.
I think it makes sense to differentiate between ideas and style. For example, many of the most famous guitar players / trumpet players / musicians in general were self taught. I heard an interview with James Taylor where he said he doesn't even know how to read music. And Miles Davis only played like he did because he learned on a broken trumpet.
(This isn't meant to be a metaphor for hacking, but rather to point out that there is something called style that exists outside of the cognitive layer.)
It makes sense that the guys with the most interesting styles were the ones who were mostly self-taught.
At the cognitive level, it makes sense that the guys with the best ideas are those are
A) most familiar with the medium.
B) Familiar with other similar mediums they can draw from.
But a lot of people don't make their money through novel ideas so much as taking other people's ideas and adding the sex. Which seems to be more of a style thing than a cognitive thing.
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.
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.
That being said, I think that businesses started by hackers have a greater chance for spectacular success (which is the empirical evidence that I think you're talking about-- and that kind of success is the only kind most VCs (or press outlets or bloggers) really care about or want to talk about.
In other words, business people are more equipped to solve the problems that assail most businesses-- and slog through to some sort of success/profit. Hackers, on the other hand, are more apt to ignore these problems or attempt do something revolutionary.
When biz people try to emulate hackers and aim for these revolutionary victories, that's where you often see the flameouts that you're talking about.
Non-technical founders tend to overvalue:
- their lovely snowflake of an idea
- their business plan (that it will magically cause investors to beat a path to their door)
Things imho that can be hard for a hacker:
- sales
- finding and/or dealing with investors (getting into Y Combinator definitely seems to help here, but what if you don't make the cut?)
If I could find a non-tech guy who can successfully raise angel and/or venture capital money, I would totally partner with as a co-founder in a second. (given a good fit, etc)
These people tend to be hard to find though (the Steve Jobs' of the world) -- if they can raise money, why don't they just raise a round and hire a talented hacker at 1% equity instead of 30%? =)
digg.com would be the most obvious. Kevin Rose studied CS at college, but it had been a while and he didn't really have the skills to execute his vision quickly and simply. So he paid a developer he'd met through elance 200 buchs to write the first beta of digg. digg is now the most popular social news website.
Outside the world of startups, there's a bunch of established companies that weren't led by programmers.
Microsoft's success is largely based on business acumen - their OS monopoly came from Bill Gates' ability to purchase QDOS and sell it to IBM.
Steve Job's is also a non-programmer - the success of Apple is his vision and the ability to direct people to achieve that goal.
Well, that and Wozniak's 1337 skills at hacking.
The real benefit of having a great hacker cofounder isn't the work they do themselves. It's that they can recognize and attract other great hackers to work for them, and that they're respected enough that those other hackers will give their best effort and not cynically slack off. You think that Jobs could have attracted Burrell Smith and Bud Tribble and Andy Hertzfeld alone if they weren't working with Woz? Or that he could've hired John Lasseter at Pixar without Ed Catmull and Alvy Ray?
I'm not familiar with the other developers you've mentioned.
I think a co-founder who puts as much effort in learning the industry and what goes on in the scene is still a valuable asset to have in a startup. Friends or people who just through out armchair ideas and can't match their ideas with whats going on in the industry don't add much value. But when a person knows his idea and knows the industry he can continually add value (beyond the technical level), and when your idea starts to change course from the original (which it often does with startups) he'll be able to adjust quickly with it.
But like trekker said, enjoying and being passionate about the industry will show to your co-founder programmer that you add value especially when you can continually surprise him by showing your still a step or two ahead of him about whats going on in the industry.
Ideas are also a dime a dozen and everyone has great ideas. Execution is the hard part. And if you don't learn how to do it yourself, you will always have to rely on someone else.
http://ocw.mit.edu
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.
In fact, the decision is not (totally) settled yet. My brother is a web developer with five years experience. He is pushing me towards php on Zend (PoZ?), a php web framework authored by the authors of php. For now, however, I am trying to learn RoR just in case he is not able to help me with PoZ.
That being said, I heard that RoR and Python (maybe on Django) is the best for newbies to start with as far as web dev languages go.
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. ;-)
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.
If it's just a copy of something existing then don't expect many replies. But an exciting new idea would have many responses.
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.
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.
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.
Thank you for the great suggestions!
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.
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?
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.
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.