HN2new | past | comments | ask | show | jobs | submitlogin

> [...] or learn how to code yourself. It's not that hard, and if you think of startups as a career, it's a great skill to have even if you just manage tech people.

I disagree strongly. Coding is a great skill and just about everyone should be familiar with it, but telling starry-eyed entrepreneurs they can learn to code well enough to launch a successful tech startup on their own in a short timeframe is extremely misleading. Coding and design are the core competencies of any tech/web startup, and you can't hope to succeed if you're essentially an amateur at your core competency. Because the fact is, coding may not be hard, but coding well and being responsible for the software infrastructure of a successful project is hard and isn't something you can pick up overnight.

By all means, learn to code. It will help you in innumerable ways, and maybe after a few years of practice you can start to think about launching a cool project on your own. But don't be deluded into thinking you can pick up "Ruby for Dummies" and have a hot new web startup 6 months later without some real technical expertise.



It's important to note that the author of that article said he had a degree in Physics: that's a quantitative discipline, and he very likely had to write code as a part of it. It's very likely he is underestimating the advantages that gave him over an Russian Literature Major (to quote Rands) or even an MIS/CIS major.

If you look at a good undergraduate CS program, you'll note that majority of is going to be general skills relevant to any sort of scientific/engineering work: e.g., there may be at most a single programming course in the entire freshman year. That drove me crazy as an undergrad ("when do I get to code, why am I doing all these proofs with Greek symbols?"), but it taught me to reason and think in a rigorous manner.

Of course professional programming experience also teaches you about things such as debugging, release engineering, configuration management and operations; all of these are crucial but are more about being able to scale and iterate upon a basic product, rather than discovering what the product you're building should be.


Lets see.....i am 30yrs old, worked in marketing for a fortune 50 company and worked as a trader. Started Jan of this learning to program.......Ruby, rails, Javascript and until about two weeks ago Dojo. I enjoy it thoroughly, its like i am sitting down to watch Lord of the Rings. I am by no means find myself worthy of been called a programmer, but i started developing a little cellphone app targeting developing countries, its going really well, still coding it.

What i found is that there is so much help, so many places to find the answer if u can research. Just reading the source code, Readme docs, chat rooms, is so much help. Cookbooks, tutorials by bloggers are all helping me along. Also, you can create so much with just a little technical skills. At the end, you still have to run a business, be a hustler. So when i launch my little application, i will try and get some talent on board as well(if i am lucky). The key is to achieve a lot with a little.

I almost forgot......Google developer tools, has sped up my learning so so much, reading the source code of websites and looking at all the scripts. Its just amazing the resources available today vs 5yrs ago.


Would be great if you could give a little insight how exactly you started (which books, online tutorials... ) and in which order. Would you have done something differently?


This is probably the best way to learn to program:

http://www.amazon.com/Python-Programming-Introduction-Comput...

If you're too poor to pay for it this book is available free online:

http://www.greenteapress.com/thinkpython/thinkpython.html

This is probably the best place to get started with HTML and CSS:

http://htmldog.com/

Once you know regular CSS, if you're going to be designing your own sites, you should start using this (little known secret weapon):

http://compass-style.org/

I'd say once you understand all that stuff, learn Django

http://www.djangoproject.com/

and go ahead and build your first web application. You won't know Javascript yet, which will seriously limit the slickness of your interface, but that's alright for your first effort. These guys supposedly make deployment really easy:

http://www.webfaction.com/

Here's the best Javascript stuff I know:

http://yuiblog.com/crockford/ (download with netvideohunter firefox extension and watch sped-up with vlc, [ and ] keys control speed. I wish I'd taken notes.)

http://jquery.com/

http://jashkenas.github.com/coffee-script/

If you've got capital you can hire other people to do design:

http://99designs.com/

http://www.designcontest.net/

http://www.designcrowd.com/

There are a lot of services on the internet that will convert PSD (photoshop) documents that 99designs guys make in to xhtml and css for a few hundred dollars. So you don't have to go deep in to design if you don't want to.

I wish I'd installed Ubuntu and learned to use the command line earlier; otherwise I wouldn't have gotten frustrated when trying to install software. I'd say once you've got Ubuntu running, read everything under Linux on this page:

http://code.google.com/edu/tools101/index.html

Normally you want to be learning things on a just-in-time-basis, so you're learning something in order to apply it to some project. But system administration isn't like that because you don't know what you need to know.

As for regrets: I think I would have learned a lot faster if I'd given myself designated study hours. Probably half an hour a day to start, with gradual increase. Also, I shouldn't have been so hesitant to register for accounts and ask questions on forums, IRC channels, etc.

Paul Graham has more tips: http://paulgraham.com/pfaq.html


Thanks


I disagree. Coding is required for understanding the underpinnings of web-based business. You don't need to be great at coding, amateur skills provide a huge insigt about how to manage programmers.

If you have no coding ability whatsoever, you have no understanding of a major part of your business, and you will not have much a clue when hiring programmers about how skilled they are. So you'll end up hiring people that sound good, not are good.


Oh, don't get me wrong. I think all founders should know how to code. But I think the notion that an amateur coder without real experience can launch a successful tech startup on their own is naive. You really need someone, either a co-founder or employee, with real technical knowledge and experience.


I think the assumption that coding will be a core competency & the company's success hinges on its quality is not necessarily true.

Think of betterworldbooks.com. I'm sure that code is very important to them. They probably have great programmers working there. But, going to campuses, exciting students and organising fund-raising book collections is probably more their core competency. Zappos needed great software, but it wasn't necessarily technical prowess that made them successful, their customer service seems to the the credit. There are many web startups which are e-commerce companies at core. AirBnB, from what I read, is an impressive startup, but the problems they solved to get it going where not primarily technical. They are taking advantage of opportunities that technological advancements have created and have big, important technological components to them (compared to restaurants, shops, dental practices..), but they are not pure technology companies.

Being an amateur level programmer (can code an e-commerce site) could let someone have a go at a lot of potential ideas. You probably can't be Google or Paypal but you might be a Woot! or something.


> Because the fact is, coding may not be hard, but coding well and being responsible for the software infrastructure of a successful project is hard and isn't something you can pick up overnight.

This might be a good place to point to Peter Norvig's essay Teach Yourself Programming in Ten Years -- http://norvig.com/21-days.html


Yes, that is one of the first articles i read along with....Hot be a Hacker - Eric Steven Raymond, Great Hackers and Undergraduation-Paul Graham. I agree with the long-term approach or 10 000hrs according to Outliers-Malcolm Gladwell. Also in Talent Is Overrated-Geoff Colvin, you get a good idea on how to become an expert/outstanding performer in any discipline. But....

In Entrepreneurship(Particularly web apps), i disagree that you need to be an expert, i believe that you need to be able to get something built and manage whatever traction you get from there to make your business solid. Such as getting top talent to do thinks the right way. The key is just get something built first......in my opinion.


Or "Abstruse Goose: How to Teach Yourself Programming" http://abstrusegoose.com/249


For the early stages, I think you can get away with it, just like you can get away without bringing a professional designer into the picture.

The drawback is that it gets more expensive the longer you wait. The more code from a beginning programmer there is, the more there is to be overhauled, and the more ingrained your seat-of-the-pants interaction design and visual design is, the more challenging it will be for your designer and/or front-end developer to lift out and replace.


Do you overhaul your car or let it be done by a mechanic ? Do you make your own paper ? Do you grow the wood for the trees to build your house ?

Anybody technically can do anything themselves, if there is a skill worth learning then it probably is programming, since it allows you to amplify your ability to get work done in a given amount of time (which usually is your most scarce resource).

But you won't be managing that time effectively if you want to launch a start-up and learn this skill at the same time, then you're probably better of hooking up with a competent coder and letting them lay the bricks in a way that will help your business to succeed.

I'm all for learning new skills, I can weld, but when my life and or my business depends on it I go to a welder.

So if you are not already a competent coder and you have the choice to team up with a coder or to delay the launch of your product by a couple of years to get you up to speed seems like a no brainer to me.


OK, but that doesn't mean you can't have a specific startup idea in mind when you're learning to code, and work on it as soon as you're able. Why spend time writing software that certainly won't make money when you've got the option of writing software that just might make money?


few years of practice you can start to think about launching a cool project on your own

It's unlikely that someone who doesn't know how to program would be aspiring to do startup that takes a few years of practice in programming.


Sadly, yes. You've never run into someone who has an amazing idea for "the next youtube" if only they can find someone who will do all the work for 10% equity?


depends on your IQ / determination.




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

Search: