I'm 16, and need advice
Hi, I'm a 16 year old student living in israel and about 6 months ago, i was approached by a friend with a ridiculous web site idea. while he thought it was a million dollar idea, i saw it as a great opportunity to really get started in web development, something i have been interested in since i started programming at 14.
so after some months of my php and mysql for dummies book, yahoo answers, and a lot of google, i finished that website. 2 months later, finished another website for another friend.
so currently, i know php, mysql, css, html, and am learning javascript.
i have some great website ideas and want to apply to YC after my senior year. but my question is, what should i be focusing on now?
I was wondering if you can please give me advice on what to do. Thank you very much.
-Binny Zupnick bzupnick@gmail.com
38 comments
[ 4.8 ms ] story [ 83.3 ms ] threadIf I were you, I would focus on the academic commitments at hand. If you are ahead of the pack, I suggest that you pick up advanced level stuff. Why? It will really hone your skills at critical thinking. All math problems are puzzles waiting to be solved; some are interesting and some are rote but important.
But if you are dead set on jumping right in, try and work out some biz models on your ideas. "Am I looking to make money? If so, why?" "What would people pay for?" "Does my idea solve an existing problem" "How/when will my 'great website idea' make money?" "If I look at this idea as an investor, would I invest in it?", etc.
Skip college, you can always go back. Anything you learn there is already 10 years out of date, and anything "new" you learn will be useless by the time you graduate. Seriously.
If you MUST go to college, DO NOT, I repeat, DO NOT get a CS degree. Go for finance, or liberal arts, even bio or chem, or some course of study where the instructors have a clue and have actually done something in that field.
I can't tell you how many BS/CS and MS/CS grads I interviewed that couldn't code their way out of a paper bag because they spent their college years writing compilers or some other such nonsense.
Get into a hot startup and listen and learn. The first six months will provide you with more experience than you'd get in a PhD program at any university (short of MIT or Stanford).
Cheers!
Seriously?
I'd spend time refuting that notion, but Steve Yegge already did it quite eloquently: http://steve-yegge.blogspot.com/2007/06/rich-programmer-food...
However, I ask you, please revisit this post in 20 year, when you've run the gamut of jobs, startups, and made a ton of money, and then ask yourself, "Did I ever really use any of the knowledge I gained in my compiler design and application courses?
You already know the answer will be "no".
I'm not saying it's not important for some people. For some, it's truly foundational and life changing. For others, it's a complete waste of time, and I'm not saying that to one-up or make myself seem super-hero-like. It's just the way it is.
How am I qualified to make such statements? I have coded assembly by hand since the 6502 and Z80 processors came out, since before there were compilers, and I'd happily list projects I've done in assembler if there's interest.
Cheers R
The first compiler was written in 1952. The first complete and usable one was introduced in 1957 for FORTRAN.
I don't know much about lower or middle tier schools but at the top tier schools, nothing you learn will be 10 years out of date.
While I do understand what you're saying, it's been my experience that a lot of companies won't even look at a person who doesn't have a CS degree.
My suggestion would be to work on the kickass project idea while working in tandem on a CS degree. If anything, the OP will be able to blaze through it and could potentially do a double major.
> Skip college, you can always go back.
It's much harder to get into and succeed in college later in life. You'll also be a bad fit for the college social scene, which is where many people make lifetime friends and connections.
> If you MUST go to college, DO NOT, I repeat, DO NOT get a CS degree. Go for finance, or liberal arts, even bio or chem, or some course of study where the instructors have a clue and have actually done something in that field.
I think this reveals bias from the poster.
My opinion is that you should at least start college. If you shouldn't be there, you can drop out. Find a mentor that seems to be a good fit for you. It could be a prof, a local startup founder, whatever. Make plans ahead of time (e.g. contact profs ahead of time and/or choose the university based on faculty) to secure that mentorship.
Getting a computer science degree will be an important asset to you as you move through your career. You might not spend your entire career running a startup, you might work for someone else at some time, and your formal qualifications will play an important role in getting a job and qualifying you to move into new positions within an organisation. Your formal qualifications will also be important to potential investors in your startup.
Contrary to the advice above, a good time to get a degree is at the very beginning of your career when everyone else is doing it and you need minimal money to live. It isn't actually easy to "go back to university any time" - the older you get the greater your obligations and commitments, that harder it gets.
Formal qualifications do not make you a great programmer, but they are an important part of a balanced career. Don't treat them like a "piece of paper", treat them like an opportunity to be shown potential pathways of learning, then do the hard work to explore each pathway in great depth.
The guy is in high school. You are telling him to skip college because
* "Anything you learn there is already 10 years out of date, and anything "new" you learn will be useless by the time you graduate"
You have got to be kidding me. What you learn in school is not the idea itself but a method of thinking, method of critiquing and the method of learning. One of the most effective ways to learn to solve problems is to solve problems that already have solutions and to learn from those that came before you. Yes you may learn "stuffs from the 70s" but you are learning them for a reason. For example, just because NoSQL is in vogue right now doesn't mean that relation theory should be discarded.
There is a value in going to school, being surrounded by a learning atmosphere, reassessing yourself every day and learning more about yourself.
* DO NOT get a CS degree. Go for finance, or liberal arts, even bio or chem, or some course of study where the instructors have a clue and have actually done something in that field.
Where did you got to school? Because almost all my CS professors not only had a "clue" but some even revolutionized the fields in CS. Seriously, you get to meet people who started fields, who wrote books, who first thought of the problems in CS schools. Computer Science is still in adolescence. You will still meet legends.
* how many BS/CS and MS/CS grads I interviewed that couldn't code their way out of a paper bag because they spent their college years writing compilers or some other such nonsense.
So? Just because you interviewed idiots doesn't mean everyone who got a BS/MS is one. Serious sampling bias there. I am sure YOU attract mediocre people.
* Get into a hot startup and listen and learn. The first six months will provide you with more experience than you'd get in a PhD program at any university (short of MIT or Stanford).
Wait. What? Do you really think 6 MONTHS of startup experience is a replacement for not BS not MS but a PhD in ANY university. Jesus Christ dude, how old are you? what is your educational background? What do you aspire to be?
http://www.linkedin.com/profile/view?id=483874&authType=...
https://profiles.google.com/rwdryburgh/about
The guy seems to have a lot of experience, but not from education.
I do have a ton of experience, and formal education is not a prerequisite for success.
It's an option, and not always the easiest one to choose.
Cheers, R
I guess I MUST be a troll.
* "Anything you learn there is already 10 years out of date, and anything "new" you learn will be useless by the time you graduate"
This was in the context of CS, not anything else, which is why I suggested he go a non-CS route if a degree is his goal. I've reviewed some of the best projects to come out of todays CS programs as assignments, and I can tell you that they are rote, unimaginative, and lack real-world application value.
* "You have got to be kidding me. What you learn in school is not the idea itself but a method of thinking, method of critiquing and the method of learning. One of the most effective ways to learn to solve problems is to solve problems that already have solutions and to learn from those that came before you. Yes you may learn "stuffs from the 70s" but you are learning them for a reason. For example, just because NoSQL is in vogue right now doesn't mean that relation theory should be discarded. There is a value in going to school, being surrounded by a learning atmosphere, reassessing yourself every day and learning more about yourself." *
I agree completely. Why so defensive? Huge loan payments due? You don't need to go to an ivy league school to learn ACID compliance, or relational theory (although relational application is more suitable for real world problems). You also don't need to go to school to "find" yourself, and to presume with such conviction that YOUR position is the correct one is just as asinine as if I were to presume mine was the only correct path.
Some of us are natural problem solvers, who absorb and process volumes of information quickly. Based on your frustration level, it's probably safe to assume you are not one of those, and there's nothing wrong with that.
But, ya know, you're right.. clearly there's only one way to go through life, and yours MUST be the correct way, or why else would people like you sink to name calling and belittling just because someone has a dissenting opinion?
* Seriously, you get to meet people who started fields, who wrote books, who first thought of the problems in CS schools. Computer Science is still in adolescence. You will still meet legends." *
Seriously? You'd go to college to meet the guy who wrote Pong?, or the guy who wrote the first ray casting algorithm? Sounds like a rational fiscal decision. I'll bet Dad was paying the bill. I figured out long, long ago, while you were still a glint in your father's eye, that I can simply call those people up and buy them lunch, and they'll impart all their knowledge to me on demand.
* So? Just because you interviewed idiots doesn't mean everyone who got a BS/MS is one. Serious sampling bias there. I am sure YOU attract mediocre people. *
Again with the berating. You must be a stellar human to be able to look down upon us all. I've interviewed 327 people in my professional career, killed billion dollar deals because they weren't technically feasible within time and budget constraints, and made more money writing code than 99% of the people on this board will ever see.
Does that make me better? No. It simply makes me an individual with a lot of experience.
* "Jesus Christ dude, how old are you? what is your educational background? What do you aspire to be?" *
Perfect. The true measure of a man is his alma mater. Get serious dude.
I'm 43, and I have a quarter century of rock solid software development experience, all in real world applications, many of which are still used today, probably by you without even knowing it, and my educational background is not germane to this discussion.
What are YOUR qualifications? I suspect you won't post them in public.
And yes, I still sit down and have lunch with people who call me and ask to meet with me.
He asked for my opinion. I gave it to him.
Crawl back into your hole, troll, and mind your own business.
>I've reviewed some of the best projects to come out of todays CS programs as assignments, and I can tell you that they are rote, unimaginative, and lack real-world application value.
What is with the sampling bias? learn statistic much?
>I agree completely. Why so defensive? Huge loan payments due?
>Some of us are natural problem solvers, who absorb and process volumes of information quickly.
I am sure you are.
>killed billion dollar deals because they weren't technically feasible within time and budget constraints,
Yup.
> my educational background is not germane to this discussion.
Your education is important to the discussion.
>Crawl back into your hole, troll, and mind your own business.
Haha fuck off.
Care to comment on this? * Get into a hot startup and listen and learn. The first six months will provide you with more experience than you'd get in a PhD program at any university (short of MIT or Stanford).
It's only important to you, and only because it's the only measure you have by which to assign the value of others. Hell, just 128 days ago, you were begging for advice on which chocolates to get your fellow employees so they would like you. You don't have experience, but you sure talk a good game.
* Care to comment on this? * Get into a hot startup and listen and learn. The first six months will provide you with more experience than you'd get in a PhD program at any university (short of MIT or Stanford). *
Absolutely.
The first six months of a hot startup is a microcosm or activity. Designs and ideas flying, deals, market tests, focus groups, venture capital pitches, startup camps, all night code binges, and more. It's 20 hours on, 4 hours off, for months at a time, pure adrenaline and pipelined learning at its best.
While you could argue that the VOLUME of information in a PhD program is greater, it takes six to eight years, and the VAST majority of that information is forgotten and never used. A bright person could easily pick up experience in a startup that they wouldn't see for ten years post-grad, if they just get engaged and pay attention.
Short of Stanford, MIT, and to some extent RIT, there really aren't many actively entrepreneurial schools that promote technology development from within. That's why I said "you can always go back". Sure, most choose not to, but that's a personal problem.
He should take a year off to work at one or more startups, then go back to school, if school is what he wanted to do.
So, let's take a look at Cornell, one of the top CS schools (#5 I think).
Here's their "Practicum in Operating Systems" (CS 4411 Project 1) for Fall 2010: http://www.cs.cornell.edu/courses/cs4410/2010fa/CS4411/proje...
Now, the same course in 2009: http://www.cs.cornell.edu/courses/cs4410/2009fa/CS4411/proje...
See any difference? Any modifications? Any enhancement or change of any sort?
Nope. None.
It was the same in 2008, but the page has been removed.
Two years of time has passed, new OS architecture designs have been published, some implemented, new threading paradigms documented, and some are in production, but the exact same project, with the same code, same requirements, and same final problem is to be solved, by the same morons that have no incentive to innovate because they're tenured.
Sure, you could argue "it's the basics, dummy!"... but wait...
It's a SENIOR YEAR project, and they STILL have these poor drones working on the food service project. This is AT BEST a sophomore project.
Any truly good developer with even a basic interest in OS design should be able to understand and implement the basics of kernel level pre-emptive multitasking and cooperative threading in year one of college, but these geniuses still have you studying the basics of semaphores and mutexes in your senior year.
Let's look at some of the Cornell senior year projects: http://people.ece.cornell.edu/land/courses/eceprojectsland/S...
Seriously? Sound identification of Loons? Arduino-based ANYTHING??? Touch screen user interface for a car using LabView?
These are the "geniuses" todays top schools are turning out.
It may sound like I'm calling out these specific people for their lack of imagination, but the fact is that they are the majority, and some of them go back into the educational system to get their masters in education so they can teach! Sheer insanity.
I've worked with hundreds of developers and mentored a dozen or so; some excellent, some not so much.
The one thing I can say without exception is that I have never met a truly prolific architect level developer that wasn't self taught. Most of them had a passion ...
If you really think that 6 months of startup is comparative to a PhD in computer science, you are wrong. They both have merits but one is not a substitute for the other.
>Yeah, you can get some basics, and yeah, there's SOME value in compiler design, but nothing you can't get from "Dummies Guide to Compiler Design", which, if it exists, was probably written by a student admin ghosting for a tenured professor.
What the fuck are you rambling about you ILLITERATE OLD FART. Seriously dude. Just because you met some people who are not competent. Just because you got to a point where you think you have made it doesn't mean you can judge things you have no basis of. I don't even want to argue against the OS design course that you just said. Jesus Christ.
There is a reason why your original comment was downvoted to oblivion because those kinds of inane and retarded comments are left in your company and with your employees not amongst people who know that you are a piece of shit.
And go work on your billion dollar deals rather than going through my history. What a fucking tool.
Have a great day.
* A guy who can't even defend his ideas and gets defensive when his lack of education is called out and resorts to ad hominem attacks.
* A guy who has no clue about what happens in a good CS program disses the program and tries to defend his poorly researched knowledge with attacks on the person.
* A 43 year old who apparently kills billion dollar deals writing LOL on the internet and spending time looking at the user history.
I have never met a bigger jackass than you. I just started out in the industry but I am more mature, honest and I can guarantee to be a better programmer and a person than you are.
Fucking illiterate, old blow-hard.
I suspect that you weren't in the "senior developer" group with your employer, and you're bitter about only making $8.75 an hour writing crappy code.
I never said I programmed before the first compiler, I said I wrote assembly before compilers were available. The first compiler was written in 1952, not '57, but if you had any study skills, you'd have simply googled that.
It's double digit IQ pinheads like you that make this and other sites like it a colossal waste of time.
Consider yourself ignored.
This is my first job after graduation and I am sure I am earning more than you did after at least 15 years in the industry.
I know the history of compilers you fucktard. I didn't expect you to program using Grace Hopper's compiler so I gave you Fortran to play with instead. COMPILERS WERE AVAILABLE BEFORE YOU BORN YOU ILLITERATE.
Why don't you pick up a programming book, any programming book. A real one. Not a J2EE one. Pick up let's say Wand et al's "Essentials of Programming Language" and try to solve f the problems. If you can solve them, come back and talk to me. Then you tell me the value of concentrated, mentored, rigorous learning.
For anyone who is thinking of following this advise please do not.
If you decide you don't want to go to a university then that may be the correct path of you. But, there is never an easier to to study than right after high school. By the time you decide "you can always go back." you might just have a 50 hour per week job, a house note and a toddler that are all way more deserving of your time than getting a degree.
The first six months will provide you with more experience than you'd get in a PhD program at any university (short of MIT or Stanford).
Are you serious? Really?
If you're confident that your friend is capable of running a business (with your skills to help him - although I hope you're a fast learner, because two years of programming isn't very long) - and that his idea will do well enough to support both of you, then by all means do it. If you're sceptical at this stage, stay at school and code in your spare time, and then start something when you're finished or when the right opportunity comes along.
Coming from someone who quit school at your age and ended up - well, successful enough :-)
On the matter of education, I'm taking independent learning at home - this allows me to get my OSSD under my province's Learn to 18 act but not have to physically attend an educational institute. Check if you have something like http://ilc.org where you live.
I would personally not start my own startup at the moment (however getting involved in something is a great idea) as I am still building up contacts and experience. I believe as the founder of a startup you should be the go-to guy, with only two years of experience in what sounds like L/WAMP stack programming environments, you need to spend more time.
Of course, learning from a failed startup is good too.
b. If you want to be a programmer I'd tackle a new language and try to build something: But keep in mind you can do other things in the same field be it information architecture to business
c. If you are getting your college degree in Israel I'd start to look into that now
If you're already looking into Javascript, I would recommend jQuery for practical reasons, and Node.js for more subversive reasons. Have a look at source of some common Node.js modules via github. This may lead onto finding out a bit more about lisp ideas.. and computer science topics that are both interesting and relevant.
Maybe at 16 you have time to work on a startup idea in your spare time for fun, while doing a degree also? Id actually suggest a course on compilers, it helps you write better programs. Throw in a bit of C programming on unix, and the basic stuff on algorithm complexity.. and calculus and.. oh dear.. just follow your interests :]
Theres so much cool stuff to find out about. University might be the best place to concentrate on hacking code and meeting interesting people, one of which might be the perfect cofounder for your startup.
Many of the teachers will be so-so.. but then you'll find one or two gems that really show you something you might not have found on your own - to be challenged is important.. seek it out.
Get a decent amount of knowledge about a broad-range of topics, unless you are inherently interested in something very specific. This will instill in you a lack of fear from new subjects that will be one of your greatest assets. Most people in the world don't do stuff because they are afraid, used to something comfortable, etc. If you turn 'not knowing' something into a challenge then you'll be a huge asset to other people, not to mention to yourself.
Don't try to over-think things at this point, you'll earn a lot by simply creating and improving your ability to create.
Be happy that you found something you love, most people struggle with this for all of their life.
Israel's a decent place to improve these skills (I came from there, went through a similar path) so look in your school/neighborhood/university for peers and go get it.
Just start building your websites now, it will become clear what you need to work on. You should probably give a good amount of thought to what technologies you want to start learning in the web dev space, ruby, java, asp.net?... so many choices so little time...