So far, I've just interned a couple summers, did Rails and web dev stuff on the side, and made a bunch of little apps...nothing monumental really.
What are some of things that you guys did to take that first step? I always get the impression from the people here that their product/site was their first app/idea, but really what happened at first and what are some stepping stones to take along the way?
And if you think it's not, why on Earth are you paying so much for it?
Don't waste your money. Pay more attention to your studies, and get the most out of it.
And if you're already getting A's and still bored, start doing more side projects. Things that are useful to you or (better yet) someone else you know. Try to write up a spec for the project first, and then work from the spec. Then go back to the customer/friend and see how close the project is to what they really wanted. It's a real eye-opener.
Be putting all of your best code in a portfolio to prepare for job hunting.
Don't "Finish your education" first. Do side projects while you're still a student - this is the best time to find other passionate people that are willing to work for nothing and are easy to convince to join you. Also - during studies you usually don't have to worry about your paycheck, so it's easier to spend a lot of time on your thing.
I'd suggest the exact opposite - don't worry about As. As long as you pass you're good. People that focus on As study so much that they don't have time to work on their own stuff and I'd much more like to hire 23 year old with some nice portfolio and Cs than an A student with no portfolio.
And the final piece of your advice I also disagree with. Don't do specs! Specs are for people with experience. If you have no experience there is no way you will make a good design.
Go with the flow, do projects that you're passionate about. Your code will suck, your user interface will suck, but it will get better with time.
Not sure about this one.
Sure, good education helps a lot, but not all education is good, and sometimes (and it's probably especially true for startups) you will learn much more by just going into a field.
The most famous example of a successful dropout is Bill Gates, and I believe we have a few dropout here at HN as well.
> And if you think it's not, why on Earth are you paying so much for it?
Education is so expensive because lots of people want to get a degree, and high demand means high prices.
High prices do not mean that something is really necessary or useful for you - think of diamonds.
There are a lot of good schools that focus on actually providing their students with a good education, and their costs are substantially less. There are a couple of books that provide information about good schools beyond the Ivy League:
1. Looking Beyond the Ivy League: Finding the College That's Right for You
2. Harvard Schmarvard: Getting Beyond the Ivy League to the College That is Best for You
An added bonus: the money you save by not going to an Ivy League school can help fund your first startup.
Yes, Bill Gates dropped out, but what about the unknown others who dropped out and are not successful?
I agree with kolinko up above, education is important, but you can also use that time to work on your own projects. Whether those projects go anywhere or not, you'll still have the experience from workong on them.
Or: Take harder classes and take classes in a different field. Stop by and ask the professor's office and ask them the hardest question you can think of. And instead of having them give you the answer, talk with them and try to figure it out yourself.
It does help to stay productive though!
But it wasn't an overnight eureka, and it wasn't intentional.
I didn't just walk out of high school, pick up a Ruby book, meet Tom and PJ,
then launch the site GitHub.
Before GitHub came, in chronological order, Spyc, Ozimodo, my ozmm.org, tumblelog,
ftpd.rb, Choice, Err the Blog, acts_as_textiled, Cheat!, acts_as_cached, Mofo,
Subtlety, cache_fu, Sexy Migrations, Gibberish, nginx_config_generator,
fixture scenarios builder, Sake, Ambition, and Facebox.
And that's just the stuff I released.
Source: https://gist.github.com/6443Discussion: http://news.ycombinator.com/item?id=282158
Then later on when its stable and usable consider launching it to the world, sharing the valuable software you've created. (and possibly receiving value back)
In the process of building it, if you get stuck, read/post on HN and go to stackoverflow to ask programming questions, you'll get there.
Maybe it's something that nobody else is doing or a tool that you use but think could be better or a way to improve the operation of a suite of tools that could work better together. Maybe it's a group that you're a part of that needs a web site/service for something or a better way to explore their data or automate a tedious process.
It has to be something you're interested in otherwise you won't be psyched to do it.
But ideas are a dime-a-dozen - you want to make it real. I'm sure everyone here has orders of magnitude more never-done ideas, started-and-stopped ideas than out-in-the-world ideas. But generating and playing with those ideas, even if they come to nothing, are part of the means to getting something done.
Take small steps and keep taking small steps. Even with 15-30 minutes a day, you can do something (write a function, write a page, tweak the database). Eventually, though it doesn't seem so along the way, you'll get some place.
But, firstly: Understand yourself. Through this you will discover (or strengthen) your interests and passions, and find out what you truly truly care about.
Then figure out how you could apply your skills to improve upon/change/disrupt what you care about. If your care is strong enough, you could do it all day regardless of the "monumentality" of it.
The single biggest thing likely to make you fail is if you lose motivation. Building cool stuff is a way to avoid that.
1) Find a partner - I've had a LOT of false starts on projects that were sure to be the next big thing. I would get an idea, work hard on it, overthink everything, convince myself it was destined to be a failure, and then start on something else. I watched idly as I saw my ideas implemented by other companies, some with very large exits, some making large profits, and some flops. I invariably regretted whatever reason I had justified to myself for losing steam on it before.
I found a likeminded individual who is motivated, and is good in all the areas I'm not (and better in some of the areas I am). From first-hand experience, it's a lot harder to lose focus or succumb to wanderlust when you have somebody next to you making progress. His progress motivates me. My progress motivates him. We both have skin in the game, and we're both moving forward at a pace I never have before.
The other piece of advice? Cancel cable. My TV broke, and I found myself being extremely productive while I was waiting for a repairman to come out. So productive, in fact, that I called and cancelled on him.
I still get most of what I watch from Hulu or other sites, but now the TV is background noise while I'm programming, and far less of a distraction than something that I needed to leave the room for.