It's not just "knowing how to make a dynamic website", too; in fact, after I finished, I vowed never to use PHP again. The most valuable skills I got from FictionAlley were all soft skills. How to balance a dozen different feature requests and pick out a design that isn't what anyone suggested but satisfies them all. How to diffuse a massive PR disaster. How to deal with a completely unreasonable customer. How to make your life a living hell by promising features to users before they've been developed. How to (roughly) estimate the time a project will take (if you're just starting out, expect it to take roughly 10x as long as you expect). How to build things incrementally so you get to the finish line eventually.
I picked up a couple useful technical skills too; I learned all my UNIX, SQL and vi skills from that project, along with softer technical skills like how profiling, logging, optimizing, diagnosing performance problems, etc.
Most of this, you simply can't get in college. The projects are not of sufficient scope. You'll never have an unreasonable customer for a homework assignment, no matter how much you hate your professor. ;-) You probably won't have to maintain code that you wrote 3 years ago and can't stand now.
Heck, most people don't get to deal with that at work until they're in their late twenties, or even well into their thirties. I have older alum friends that graduated before I matriculated, and they're just now getting into positions where they have to balance competing tradeoffs between different groups.
I actually risked my degree a whole lot more than unalone is doing - I was a physics major, and it's a lot harder to do dynamic web programming + upper-level physics than it is to do dynamic web programming + CS. It ended up working out for me (after a really nerve-wracking last semester) and I got the degree, the fundamental math/physics/CS knowledge, and the experience of working on a fast-growing website. But if I had to drop one, I'd say drop the degree, get the fundamental knowledge from textbooks, and do the project.
Your interface was one of my favorite FF ones. I liked how you sorted by author name rather than genre: it put the emphasis on the writers, which was really neat.
It's funny, in the "When will you consider yourself a success?" thread, I was thinking that my answer would be "When random people I meet say, 'Wow, you built X! I use that all the time' where X is some project I've done." It's really gratifying to hear someone using it.
That is so cool.
My co-founder (apparently that term's inappropriate now) is very much a math-and-science person. I'm not averse to them - I took calculus in my junior year of high school - but at the same time, that's not what interests me. I'm much more an arts person: writing, music, theatre. It's a good combination, because we look at what we're developing in different ways.
At the same time, I'm learning how to program, I'm in a digital arts course, and next semester I'm taking an upperclassmen programming course. I'm not planning to throw my life away on a project. But if I've got a good idea, I'm going to try to implement it. I'm young: I can risk failure.
Sure but don't risk your undergrad. Graduate school is a much better time for this. And to quote DHH, don't treat your life like a planned waterfall project: "I want to do web development, so I will do X, then I will do Y."
I don't think that web development is my big thing. I'm interested in the web, but I'd hate to have to work on ideas I don't love. My current project is something for writers, so it has practical uses for myself as well. And YCombinator summer happens in Boston, which happens to be the place I want to go, so I told my cofounder and we agreed we'd give it a good try.
Important corollary: you'll never have more free time to pursue personal projects than you do in college. You don't need to quit school to find the time to make a popular website (just ask Rob Malda).
but one way to increase your chances of winning (that is, drive a start-up to profitability or a home-run exit) is to get a body of knowledge that makes you stand out from others.
i certainly agree that college is the time to pursue personal projects: but personals means exactly this, personal. work on projects that will teach you the most vs. the projects that seem to be the best from business perspective. you have rest of your life to spend worrying about making a profit.
for 2 years out of my undergrad career i did contract systems administration / internal web app development. however, i've learned a lot more about systems administration. in retrospect, it'd have been better spent otherwise. trying to have personal projects while working full-time and doing a part-time masters is a great luxury.
I think that the best metric is a third thing: "work on projects that you like the most."
I think that the start-up I'm working on will teach me a lot. And it's got more than enough potential to earn me a living, too. But more than that, it's an idea that I love. The fact that I think I can sustain myself with it is an added side effect.
I mean, I won't drop out of college just for the heck of it. My co-founder and I are applying to seed investors, though, and that means we'll spend time on leave from college working on the idea. If we get accepted, we'll work on the project full-time for as long as we can. But if we don't, then it'll continue to be a side project and we'll launch it from college.
And I found it wasn't time that was the limiting factor, it was attention. I found it really difficult to have spare attention to devote to personal projects when I was a physics major, learning CS fundamentals (mostly on my own, but I took some upper-level electives and ended up finishing the major), doing sailing & orchestra, and trying to have a semblance of a social life. Might be easier in a less-demanding major with fewer activities, but I found it a lot easier to do personal programming once I got a job.
* Bill Gates had the resources of an extremely well-connected and wealthy family to hedge his risk. He has also repeatedly and publically advised young people to stay in college, and not follow his path.
* Mark Zuckerburg didn't leave college until Facebook was growing so quickly that he had to make the choice.
* Larry and Sergey were grad students; they were trying to get their doctorates, not their BS degrees.
Ignoring all of that, there's some serious selection bias going on: for every Bill Gates, there are ten thousand droupouts who are flipping burgers.
When I see all the posts telling you "what would you tell your younger self", that's what I think (at the age of 25, working full-time while attending graduate school part-time and dating somebody an hour's drive away).
When you're a full time student... you don't know how great being a full time student is in many ways: not a worry in the world, you just manage your course load; you select the time of your courses, deadlines are reasonable and set ahead of time. On top of that if that there are smart and inspiring people for you and plenty of courses that you can take just for the hell of it (I really miss taking history and philosophy courses).
Of course it's easy for me to wax nostalgic about the great college days when I just drove home (to an 830 sq ft apt all to myself!) in a sports car I purchased new, after dinner at an upscale Indian place -- I am tempted at times to just take a leave of absence from work and do graduate school full time -- but once you're used to a certain lifestyle it's not easy to go back and cut your spending drastically.
Right now, I'm learning Processing in one class. I'm not learning anything new about language: I already know Java. Processing isn't used as much, and from what I've seen it's not doing anything that I want to do. We learned Scratch, which is a childish language, and ActionScript, which I've already worked with. I love learning new things; what I don't love is being in a place where I'm not learning and have to do busywork, while I have an idea and think I can mess with it. If that goes wrong, I'll know enough to find a program that teaches me exactly the thing that I go wrong with, and next time I'll be more prepared.
That's not to say everything that you study will be meaningful and exciting. There's tons of busywork in college (especially in the first few quarters, when they're bringing the slow kids up to speed), but that's life! If you think you're going to escape busywork by starting a company, you're being naive.
More to the point, if the stuff you're studying is so boring and unrewarding that it makes you want to quit, then you've got plenty of time to work on side projects while things get more interesting. That's where the free time comes from!
Looking back on it now (and having had to implement many of the algorithms we learned about in that class in C, Java and other languages that are less suited for it), I wouldn't have been able to grasp many of the sorting, binary tree or hashing algorithms nearly as easily in another language.
To my own surprise, one of the things that I now consider most valuable about my undergrad degree was that it forced me to at least grasp Scheme and Smalltalk.
Looking back I regret not having pushed ahead and taken that leave of absence because working even for one year in a company makes one appreciate the subjects of the classes in college much more... And I feel part of the classes of college were wasted on me because I lacked the experience to appreciate them
It's more that I'd rather take risks early. If I try this and succeed, I have more of a vantage point. Perhaps I'll end up at a better college, at a better program. If I stay in college for four years before doing this, my idea might have been taken, and if my idea doesn't work I'll have to hunt for an alternative venue. Right now, I've got the ability to leave for a little while, then come back, and I don't see why I shouldn't at least try.
Ignoring, for the moment, that a college degree lends you business credibility that's difficult to obtain otherwise, it's important to realize that quitting school right now probably won't give you a strategic advantage. Quit school, and you've got to feed yourself, house yourself, pay the bills and do a million other things just to manage your life. Stay in school, and you've got to do some homework. Otherwise, you're surrounded by smart people, free resources, subsidized housing and food. It doesn't get any easier!
Assuming that you're not going to some ridiculously expensive private school (and paying for it out-of-pocket), I can hardly think of a better place to start a business than a University. I've never had more free time than I did as an undergrad, and I think that others would tell you the same.
Before you make this decision, you should talk to people who tried. However, as I've said, life isn't a planned waterfall project. You seem bright, focused and most importantly confident.
I guess what I mean to say, don't come away from this knowing _nothing but_ web development (whether with a degree or not).
When I was an undergraduate, systems administration was all I wanted to do. Then all I wanted to do was backend web-development. Now I've realized that both of these are just narrow technical skills that anyone could do, but I am no longer nineteen (yet luckily, I'm also not 30 yet).
take something away from undergrad: if you want practical experience work on business-wise pointless but technically interesting projects (just for yourself) or open source projects. take the time to learn mathematics (calculus, calculus-based statistics), electrical engineering and physics: web fads come and go, but solid scientific knowledge stays with you.