

Ask HN: Suggestions for a highschool programmer? - peter_l_downs

tl;dr: Do you have any good suggestions for a highschool student and programmer in regards to what to do after graduation?<p>Hey there HN,
I've only been a reader since about a month ago but Hacker News has got to be the site I visit most. I love not only the links and topics of discussion but also the community. I've been busy thinking with my parents about what I should do after graduation and, to be honest, we're overwhelmed. We don't have a lot of money, but I have good enough grades to go to at least a middle rate university. I'm extremely interested in math, computer science and engineering, and have been programming since elementary school.<p>So, I'm turning to you, HN. Should I try to go to college (my grades are good enough and I could, but I would probably have to take out student loans), or do you think that in these times trying to enter directly into the workforce is a better idea?<p>Also, do you have any suggestions for projects I should try to build? Any languages or areas of programming that you think I should look into? I program in C and Python and a little Java, is there anything else that I should really look into? Maybe Lisp?<p>p.s. to see some of my projects, check out http://www.peterdowns.com/projects/
======
ginsweater
A good university is the best place in the world to meet other programmers. Go
to the best school you can - once you're there, you'll be shocked how fast you
improve when you're surrounded by other young hackers. The classes are a bonus
- you won't be able to tell in advance which they are, but there will be a
couple that will blow your mind wide open.

The hacker crowd is not necessarily obvious at first glance; even the best
schools are full of "thirteenth graders" and disaffected professors. But rest
assured it's there. (The local ACM chapter is often a good place to start
looking.)

Applying doesn't cost much; don't be afraid to apply to MIT and Caltech. You
might get in! The usual strategy is to apply to a couple "stretch schools,"
three or four you think you'll probably get into, and a "safety school."
(Write the applications for your safety schools first - the essays get easier
fast.)

Community college is a backup. Work towards selective schools for now - they
have early application deadlines. Community college, on the other hand, you
can wait until practically the day before school starts. They're always there
if you need them. That's what they're for.

Finally, don't worry about money. That's what financial aid officers are for.
If you get accepted, they'll figure out a way you can afford to attend.

~~~
peter_l_downs
+1 for excellent advice. Thank you.

------
silverbax88
Keep going to school, but remember, school is a means to an end. Don't just go
because you think it's expected. Go to learn that last 10% of what you don't
know.

Even a genius isn't born with knowledge. It has to be acquired.

Trust me, and I really hope this does not come across as a dig, but however
much of a badass coder you may be, you have no idea how much you don't know.
If you dive in and work your butt off, you'll advance like crazy,
opportunities will come, and you'll realize how much you don't know.

Lastly, I will offer some advice that you probably won't hear from a lot of
Hacker News users. Corporate coders aren't all just drones who don't
understand new tech. Most corporate coders write a lot of code in their spare
time. There's no reason why you can't take a corporate coding job, and write
iPhone apps at night. Obviously, it's easier to go to school full time, but
take it from me, I worked two jobs, supported a wife and baby AND attended
college at the same time.

Was it hard? Yeah. But I've been a coder for over 11 years now, launched
several of my own products and am working on another right now. I've done
massive work for several Fortune 500 companies and make well over six figures
and climbing.

And I did it all on a community college degree.

~~~
peter_l_downs
Thanks for your advice. I hope my original post didn't give the impression
that I thought I didn't need to keep learning - on the contrary, I need to
learn a lot more than that last "10%". You've given me a lot to consider.

------
arghnoname
Community college can be a great way to save money and if you manage it
correctly you don't have to lose any time. Going to community college for a
year or two to burn through their math classes (high probability of transfer,
and 4 year University math classes are often effectively taught by grad
students anyway!) and you'll probably save in the neighborhood of 10-20k.
Computer classes in those places tend to be more vocational and rarely
transfer. Most states have a way to determine what would transfer ahead of
time and guaranteed admission for Community college graduates above a certain
grade point average.

So if you go that route you can do your last two years at the best state
school in your state with most of your prerequisites done and well on the way
to a math major. If they offer lectures to their CS classes online and you can
test out of the classes, read through those and do so for the first year's
worth (just introductory stuff anyway).

You can save a lot of money this way, and if you do well in community college,
think college is your thing, you could always try to transfer to a more
prestigious (expensive!) school.

The thing is, if your state has a good school and you go the community college
route, you'll have as good a resume as anyone who did the whole four year haul
there, but at almost half the cost.

If it turns out that you are one of nearly half who don't complete school,
finding this out at community college costs doesn't sting very much at all.

------
runT1ME
I recommend community college for now. It's cheap, easy, you'll be ahead of
everyone in the class, yes, but you'll learn that there are a lot of things
you probably don't know about yet.

Notice I didn't say you'll learn them :-), that will be up to you, but for
instance, you'll be exposed to ideas and concepts you haven't encountered in
your hobby programming.

Once you're in school, apply Google Summer of Code. Working on an Open Source
project in a team is _invaluable_.

I also learned to program from doing hobby projects, but writing real code
that others use and look at is a whole different world. I regret I waited till
I was done with my college years before I started getting into Open Source
development.

Good code you can show people and contributions are invaluable both to
learning, your resume, and getting scholarships to a four year Uni when you
decide it's time to transfer (if).

Good luck, keep coding!

------
andrewstuart
Definitely get a university degree in software engineering. The workforce will
wait for you. Opportunities will wait. Fail to get the university degree in
computer science and your career will likely be hampered for life.

------
aeontech
Definitely continue with school. You can most likely test out of certain
classes, but the main benefit of attending university is not necessarily the
piece of paper you get at the end, it's the experience, the people and the
ideas you get exposed to. Don't hurry to join the workforce - you can always
freelance, do consulting work, and summer internships while you're in school -
but at no other time in your life once you join the workforce will you be able
to focus so completely on learning and discovering yourself and the world.

------
jim_h
I highly recommend continuing with your education. It's going to be tough
going into the job market without job experience and no college degree.

If you're interested in hardware as well as software, maybe you can look into
the Arduino (<http://en.wikipedia.org/wiki/Arduino>).

------
stephenou
Go to college. The college tuition will not be a problem if you can start
taking on client work at your spare time. Simply go to less party and begin
looking for clients.

Besides, you can gain some real-life work experience while you are in college.
By the time you get out, you'll be more ready that everyone else.

