Your ideas are shit. Make them anyway.
graygenesis.com
graygenesis.com
1) Just build stuff.
I think this, by itself, is pretty good advice. I've built a lot of websites and apps, and while I haven't gained a lot of notoriety or huge financial success from them, they have all been huge educational experiences for me, and are a big part of the reason I have such a good job (and good opportunities) right now.
I'll keep building stuff because I find it intrinsically rewarding and educational, and because I figure the more stuff I build, the better the chance that one of them will turn into something bigger.
2) Don't get a CS degree.
I cringe when I see stuff like that. This was me a little over a decade ago when I was planning for college. I had the grades and test scores to study CS at Stanford, MIT, or any other well-respected school and for a variety of reasons (that don't make much sense to the 29 year old version of me) chose to study Finance at a few state universities instead.
Finance was interesting, and I got to do an internship at a VC fund as a result of it, but ultimately, not studying CS has been a major regret of mine. I feel like I'm a pretty competent and successful software developer now, but I can't help but wonder how many more opportunities would have been available to me had I gone the CS route (or at least Physics, Math, or Engineering) instead.
It certainly is worth thinking about whether you really want to go the CS route, but don't write it off because you feel like you can simply learn it all along the way.
Thanks for this comment.
Many developers who don't study CS tend to not-know-what-they-don't-know. It's fantastic they can throw together some web apps, but they don't always seem aware of what they can't do. I'd like to see the OP be thrown into a situation where he has to, among other things: write a static analyzer, design a stable routing algorithm over a mobile ad-hoc network, or publish, defend and implement a novel cryptographic key distribution protocol.
Here's a bit of philosophy for the OP (since he seemed so keen on hiring a "philosopher"): Knowledge is being more cognizant of what you don't know.
It wasn't until my first job that I started to grasp that I didn't know everything (or even very much) about the field I'd chosen to work in.
I keep hearing this on hacker news and I'm not sure why people think this. There are a lot of people who can't form abstractions or pay enough attention to detail to be able to program. People either get it (and can become great at it) or they don't (they will fail their programming classes and/or give up). As a CS student, I remember in the lower division classes half the people scored in the B+ to A range, and the other half nearly failed and had to drop the class and switch majors. This brought me to the conclusion that CS is not for everyone..
Not just because programming is difficult, but simply because most people don't have the ability to do all the easy things. I'm hopeless with most tools; I can figure out the easy stuff because it is, well, easy, but I would need to learn on the spot, so I don't have that ability now. The same is true for an almost infinite number of other easy things. Most people can't even cook.
Even if programming were easy, why would people chose to be able to program instead of other abilities if they don't have to.
Busy period ahead required to achieve this in the UK! Recently reported that '49% of the working population have the maths skills of an 11-year-old or worse'.
http://www.telegraph.co.uk/education/maths-reform/9115665/Nu...
I'm not convinced it's something genetic/innate as there's a whole raft of environmental factors at play, but some empirical evidence of this phenomenon quoted here: http://www.codinghorror.com/blog/2006/07/separating-programm...
"The test was administered twice; once at the beginning, before any instruction at all, and again after three weeks of class. The striking thing is that there was virtually no movement at all between the groups from the first to second test. Either you had a consistent model in your mind immediately upon first exposure to assignment, the first hurdle in programming-- or else you never developed one!"
Who do you think makes the operating system that runs your all-important, "real world" app? Who are you going to pay $100K a year to rework your hack of a database schema if your service ever "goes viral"? Yeah, that's right, it's an engineer who learned all that theoretical knowledge.
A lot of CS majors don't know how to code for their life. A lot of MBAs will stab you in the back over equity. A lot of designers in a post Jobs-ian world are self-entitled brats. It turns out that A LOT of people are incompetent and their occupation has nothing to do with it.
If you don't enjoy your major, change it. If you think a philosopher can achieve your product vision, do whatever is best for your company. But the author is a fool to disparage an entire field of knowledge and its practitioners because it is not immediately relevant to whatever his goals are.
What I focus on instead is past accomplishments. I ask for work samples, questions about what you've done in the past, etc. If you have done open source development even better. Please send me your contributions and I will review them!
I have met excellent developers who had CS degrees and excellent developers who didn't.
This being said... The article I think illustrates the kind of person who needs an attitude adjustment before starting a company. His overall negativity means he will need to be able to think positively about his ideas before he can even start to think about making them work in the real world. It's hard enough to get such a software project going to a level of self-sustainability when you believe in it. When you think it all sucks it can be very hard.
I found it strange that the author is a fool who makes your blood boil solely because he said (in one sentence) he wouldn't immediately hire CS majors. He didn't seem to be disparaging CS degrees, just saying that the non-CS students who'd taught themselves programming tended to be more interesting.
This chimes with my experience as well. I am a CS student, but the best CS students seemed to be those who never went to lectures and worked on cool side projects. Likewise, I met a few non-CS students who, naturally, never went to CS lectures, but were also working on cool side projects, and taught themselves programming to get them off the ground. Some were big-ball-of-PHP-mud type coders, some actually became very solid programmers, I would happily work with almost any of them. There's many bright CS students who lack that same gumption, and I'd be less interested in working with people like that.
And: I'm in the middle of making my first shit idea. And it feels good even though chances of any success are probably zero.
Hiring a philosopher was an idea that I got from @mattt. He suggested majoring in Philosophy, if I wasn't happy with the CS curriculum. That if you set your mind to it, you can learn it anyways. With so many free books out there, it's almost scary what you can learn today.
For those wanting to know, I attend Austin Community College.
I don't want any more ideas, I got plenty, good ones and lots of bad ones as well. Ideas are a dime a dozen. Sometimes I really need to write them down because it's too damn hard to focus, especially when one of those ideas appears to hold a lot of promise.
I'm not sure others can relate to this but ideas usually come when you don't want them, it's almost like there's a trojan in your head waiting to release ideas in an attempt to get you all excited and distract you from whatever it is you're doing or need to do.
OP is in Austin. Anyone else at SXSW interested in buying him a drink and talking about how we made our own stuff? (And how important a CS degree is in silicon valley?)
Also, I know and know of gobs of people in CS who were educated in physics.
Yeah, the article is pretty scattered and whimsical, so I may be deciphering it wrong, but it is my guess that part of the author's disdain for CS degrees and most of his concern about making others rich rest on a lack of appreciation for division of labour.
Yes, there are still opportunities where one person can have an idea (shit or not) and make money by implementing it.
However, much more potent and myriad are opportunities requiring multiple collaborators each with their own domain of knowledge. Bioinformatics wouldn't get off the ground without a computer scientist and a biologist. Yes, as the article points out, the bioligist might just learn to code because it's hard to get a computer scientist to work with you. (This is the story of how tools like R and Mathematica came to be: statisticians and physicists dissatisfied with their computational tools set out to build their own.) But author is endorsing this problem!
As for the autodidact elitism and the importance of CS degrees, the article misses out on the fact that the ability to 1) study philosophy 2) learn to code and 3) make money with some cool idea, relies on computer scientists studying the deepest depths of computing to make step 2 possible. And like it or not, advancements in specialized CS areas mostly happen in academia thanks to people with CS degrees.
"College almost makes me sick, but I attend because it gets me out of my apartment."
I think that the author of the article should work on his interpersonal skills a little bit. It makes life more interesting, and leads to better prospects.
The whole piece gave me the impression of a rather isolated person.
Second--how important is a CS degree in the Valley? I lived there for 10 years, was extremely successful there by almost anyone's definition, and built, bootstrapped, and ran a tech company for 6 of those 10 years. Yet I don't have any college degree.
I think the OP sees people like me in his daily life (we work out of the same building, and chat a lot) and thinks a degree is probably not as worthwhile as society thinks it is.
There is a value in a CS degree, but there's also a lot of value in being forced to make a business work or you don't eat this week. That's where I was when I first started in business. Both paths have merit, but many CEOs and successful people don't have, or need, a degree to get there.
(I'd still never tell anyone not to get a degree though. The skills and connections are undeniably useful.)
I think "programming" is an interesting phenomenon because it seems that it can be made into a career regardless of what you study in school, if you love it enough. Keep on keeping on.
With regards to ideas, I def. think you'll come up with something. NObody is born an ideas person, trust me. Its def better to go from tech to tech + idea, then be the biz dude who just sits around and says "i have this idea for an app... ALL I NEED ARE DEVELOPERS". (aka that was me 2 years ago, so I know how it feels). Just follow lots of startups, keep reading Hacker News, etc. The key is to find a startup idea around some pain point YOU have (ideal situation, makes for the most passion / follow through) or something you know others have. You did the wireless antenna thing cuz of a pain point you have, etc.
I'm not sure exactly what you mean by 'born' but insofar as people are 'born hackers' people are also born idea people. The special ones are people who are both.