Ask HN: Start-up success as a non-technical?
Why I ask: I'm a grad. civil eng. who wants to get out of the industry, saving up hard to start my own business/further my education. Would my money be better spent on a MBA or MSCS? I see a Stanford MSCS doesn't require a CS background (although I may be hard pushed to get in anyways). Neither is also an option but I see huge value in the networking potential of going back to school.
Really interested to hear what you guys reckon! Any (potentially life changing) advice is greatly appreciated.
[+] [-] edw519|16 years ago|reply
Neither.
1. Find someone who needs something.
2. Start building it.
3. Trust that when you need to learn something, you will.
The education you will receive this way will be way better than any formal education for multiple reasons. First, you will automatically triage your lessons; you will learn what you need, not what someone else (who probably doesn't know) thinks you need. Second, almost all the "data" you will need in this education is easily available and free. Third, for the education you need from other people, you will begin building a network you'll need anyway. And finally, this is exactly what you'll have to do whether or not you get any more formal education, so just skip the unnecessary step and get on with on. From your own self description, you already have way more formal education than you need.
This may not seem intuitive, but believe me, this is the way things get done in the real world of software development. At this point, the creme rises to the challenge regardless of education. Save your money for living expenses and start-up expenses. You'll probably need it. Best wishes!
[+] [-] dmix|16 years ago|reply
I dropped out of my business program after creating a startup during college and realizing I was learning far more from my startup. My classes began to seem so non-relevant by contrast. The only selling point for school is access to smart people.
[+] [-] one010101|16 years ago|reply
[+] [-] alizaki|16 years ago|reply
I'm not good with long posts, and I'm sure you'll get plenty of solid advise here, but if you'd like to chat, email/IM me on alizaki (at) gmail.com
[+] [-] mahipal|16 years ago|reply
Nonetheless, I'd say to go for the MSCS (or similar). You're looking for the networking potential of going back to school, and you want to start a start-up. In a technical master's program, you'll be around exactly the sort of people you need to meet for this to happen. In an MBA program, you'd network with a bunch of other business guys, many of whom wouldn't be interested in start-ups at all.
You'll obviously also gain a lot of truly valuable technical skills. You might not be able to single-handedly carry the technical side of a start-up by the end, but you'll definitely be able to make meaningful contributions and decisions about the technology. This helps your future partners as well, since they know you can contribute to the tech while working the business side.
If you're worried about missing out on the education side of the MBA, don't be. I think you could get a better version of an MBA education by just buying a pile of books [1] and starting a company. You'll learn everything you need about business along the way. And, as for the networking part of an MBA, you'll get way more interesting conversations out of "I'm running a start-up" vs. "I'm working on my business degree."
[1] Possibly a topic for another thread, but here's an example of such a reading list: http://personalmba.com/best-business-books/
[+] [-] SaasDeveloper|16 years ago|reply
[+] [-] sachinag|16 years ago|reply
[+] [-] dave1619|16 years ago|reply
[+] [-] rnugent|16 years ago|reply
[+] [-] strlen|16 years ago|reply
You already have a strong background in a quantitative discipline (CEng). It means you'll have an easy time picking up either. Don't forget the advantage that this gives you. That means you'll have an easier time with statistics, mathematics and numerical analysis: this opens up a whole new world for you that's closed to many programmers who are only good at programming.
That being said, there's a lot you still have to learn. Start with learning C (you might not develop your application it, but a) you need to understand how physical memory works in order to be a programmer b) C is the lingua franca of programming languages which means you'll have no problems learning whatever other language is better for the task at hand), then learn algorithms and data structures and at least three of (compilers, operating systems, databases, computer networking). Then specialize: machine learning/NLP/IR (given your "real engineering" background, you might have an easier time here than most programmers), further into systems, further into databases, etc...
That's a multi-year project and you have to be ready for it. Don't under-estimate the value of experience (by experience I mean working in firms whose product is software i.e., not consulting or internal IT development) in doing a start-up: it's possible to start without "having done it before", but several years of work experience (alongside people much smarter and more experienced than you) is extremely useful. Experienced developers have a huge role to play in a start-up: partly by making it possible for apt junior developers to be recruited (they want to work alongside "hard core" hackers) and mentored.
If you join a start-up, it's also a chance to be exposed to the "business side" as well -- although certain types of established firms (in my experience, those who build software for other developers) will give you exposure to customers and sales/support cycle as a developer too.
If you prefer a more structured environment in which to learn (as do I -- there is absolutely nothing wrong with that), an MSCS will serve you well. It's also a chance to meet hackers, show your "worth" to them (they'll have collaborated on lab projects with you) and make connections without looking like a "shmoozer". It will also give you credentials for employment (getting initial experience), although I'd have zero hesitation in hiring a self-taught hacker with a degree in Civil Eng (software development is really an engineering discipline rather than a science).
[+] [-] hga|16 years ago|reply
Including myself; the one time I inadvertently violated that it ended in tears (the idiot penny pinching salesman who was the founder tried to put off really hiring the first programmer until he got at least 1 other programmer ... and the first got a better offer; I think the only benefit I got out of that was by the end of it I could port code between subtly different versions of UNIX in my sleep (1H83)). In that case, it turned out to be impossible to hire the 2nd programmer and the start-up never started up.
As for your sequencing recommendation, I think it's better to learn foundational CS with something like SICP/6.001 and then reifying it with C (this CMU course looks damned good: http://www.cs.cmu.edu/~213/index.html). I think it's easier to make your mental tool box bigger if you can do it this way.
[+] [-] hga|16 years ago|reply
If you have that, partnering with more technical people is a lot more likely to work, otherwise the only possible posture that works is blind trust, which most people aren't capable of.
However this is coming from the son of a businessman who started reading his Wall Street Journal in 3rd grade, so I've found partnering with business people to be easy (amusingly, in many of the startups I've worked for I've helped the point man procuring office space, since unless you have a background in that area you e.g. have no idea how slow the real estate clock cycle is).
To finish, when you think of the historical hardware and software long term superstars many if not most were founded and lead by at least one person with serious technical chops, perhaps even uber-salesman Larry Ellison of Oracle.
Obvious examples are Bill Gates, Jeff Bezos of Amazon, the founders of Google and the Chairman/CEO they picked, Ken Olsen of DEC, H&P of HP and I'm sure I'm forgetting many others.
Tom Watson, Jr., who saved IBM with his massively successful push into computers, is the most famous exception to this pattern ... but seeing that he grew up in the predecessor punched card industry and undoubtedly absorbed a lot of technical stuff including most especially attitudes he's got to be a special case.
As you probably know, the list of technical companies ruined by non-techie leaders is nearly infinite, but it's balanced at least in part by techies not getting the business side of things. Can any of you think of major counterexamples of complete non-techies who massively succeeded over a long term, including retaining their initial key technical people?
Steve Jobs is the only one I can think of off the top of my head (and he fails the retention test, e.g. he burned out the Macintosh development team, didn't he?) but he clearly has unique relevant design talents that make him a special case.
[+] [-] mechanical_fish|16 years ago|reply