Live data from Hacker News

Ask HN: Advice for those in high school?

news.ycombinator.com

1–10 of 13 posts

Ask HN: Advice for those in high school?

#1
Hi HN,

My brother referred me to this site. I'm in highschool right now (Junior), and am interested in learning programming. I'm trying to figure out this space right now. I've learned some Java on my own, but want to upgrade my skill set so I can (eventually) be a part of a startup. I'm wondering what languages are valuable to learn, and what the best resources for that are.

Overall, I'm just looking for some guidance to propel me into the same space as some of you guys. I was inspired by that Ferross story recently, and in general want to dedicate myself to learning all the skills necessary to be in a similar position in a few years. Advice from some of the veterans on here would be appreciated..

Re: Ask HN: Advice for those in high school?

#2
To be a bit more specific, I'm currently interested in creating some mobile apps for the various platforms (android, iphone, win7, etc). But I want to develop a skill set that will allow me to have a general understanding of the whole domain (sort of like a liberal arts education but in the scope of software development and programming). General resources, as well as advice for somebody just starting out in this field are all appreciated.

Re: Ask HN: Advice for those in high school?

#3
There are so many directions to go and so much advice out there. To cut away all of the fat, I'd say 'Make Something'. Decide on something you want to make and finish a piece of it today. Eventually you'll find a technology stack that works for you, a niche you can serve, etc., but start today with just creating something. Learning involves a lot of consuming, but above all you need to learn to be a maker.

Re: Ask HN: Advice for those in high school?

#4
post #2

To be a bit more specific, I'm currently interested in creating some mobile apps for the various platforms (android, iphone, win7, etc). But I want to develop a skill set that will allow me to have a general understanding of the whole domain (sort of like a liberal arts education but in the scope of software development and programming). General resources, as well as advice for somebody just starting out in this fiel…

Write a simple Android app and you'll start gaining experience in software development. If you want to balance that by studying some computer science, there are a wealth of top notch textbooks freely available. How To Design Programs is probably a good place to start.

Re: Ask HN: Advice for those in high school?

#5
I, too, am in high school, but have been programming for several years. One of the best things that I've been able to do that I wholeheartedly recommend you try to do as well is to find someone in your school or community that knows computer science (the theory and principles involved, not just how to program). A solid knowledge of computer science is a terrific foundation to have, but it's hard to learn on your own. If you have a mentor (I found mine in my school's computer science teacher, and a professor at my local college), you will have someone to guide you and someone to go to when you're confused about something.

In addition, as tommynazareth said, find something to make. It doesn't have to be the next Facebook or the Linux 2.8 kernel, but you should find something that you can program. You mentioned Android/iPhone applications were something you were interested in doing. If that is the case, try deciding on a single-functionality app like, for example, a "Where's My Car" clone, where you create an app that remembers where the user last parked his car by using the Android's GPS data. Or maybe you want to make an app that can interact with Twitter. Whatever the case is, pick something and make it. If you have a mentor, you can go to him or her if you get stuck (or even for project ideas!). Contributing to open-source projects (once you're comfortable programming in whatever language the open-source project is in) is a great way to not only make contacts in the programming world and improve your skill set, but also add to your college and job resume.

If you're interested in learning CS theory on your own, the more power to you. How To Design Programs, mentioned previously, is a great textbook -- in fact, it's the same one I used when I was first starting out. MIT's OpenCourseWare has copies of most MIT class lectures, and you can try to follow along. Stanford has something similar. Read pretty much anything by O'Reilly. If you want your brain to explode, you can try working your way through Don Knuth's Art of Computer Programming. Since you mentioned "languages ... valuable to learn," check out why's (poignant) guide to ruby at http://mislav.uniqpath.com/poignant-guide/book/chapter-1.htm... (although programming languages come and go like grains of sand on the wheel of time).

The most important thing of all, though, is to never stop wanting to learn. TED talks can provide the inspiration for that.

Now I must go and finish my homework that I have due for tomorrow. Hope this helped.

Re: Ask HN: Advice for those in high school?

#6
post #5

I, too, am in high school, but have been programming for several years. One of the best things that I've been able to do that I wholeheartedly recommend you try to do as well is to find someone in your school or community that knows computer science (the theory and principles involved, not just how to program). A solid knowledge of computer science is a terrific foundation to have, but it's hard to learn on your own.…

> (although programming languages come and go like grains of sand on the wheel of time).

C what I did there?

Re: Ask HN: Advice for those in high school?

#7
What I did: downloaded the Stanford courses on iPhone development, spent two weeks working (really, playing) my ass off. Spent the next four weeks making my first app (http://colorstreamapp.com/). Was excited to make millions on release!!!

Made nothing. Worked harder, made some. Worked more, made more. Now it's a decent income stream and I've gone from a nobody to a less-nobody.

Age is less of a barrier every year. Get started ASAP. As pg often says, if you're so passionate about something, why aren't you working on it RIGHT NOW?

Good luck!

Re: Ask HN: Advice for those in high school?

#9
First off exactly like folz and others have said. Make something. BUILD SOMETHING as people often call it. It can be as simple as you want.

Make sure to avoid feeling inferior with whatever it is however it comes out. ALOT of programming is learning by doing. Don't get caught up in well "all I did was x". You can still learn alot from actually having done x that can help you when you eventually want to make y.

Next its good that you are getting started early.

I wish I had the foresight to ask this question of a community like HN (much less known about/ had HN) back in high school especially so I could have gotten started working on subjects like the ones you can read here

http://www.quora.com/What-does-it-take-to-become-a-programme...

I've been learning programming since about middle school (about to graduate from college now) and I'm still learning everyday. People well into their careers from CEOs to new hires will tell you the same.

Dive into something, start small and scale up. You'll be amazed at what you can come up with given time.

Post reply on HN