Question: why the job?

Do you need to make money, or are you looking for a validating project to work on/experience? If so I have some other ideas but first things first

1. Make sure you stay focused on grades and definitely do Computer Science/Computer Systems Engineering one or the other. Find a school that welcomes the geek like mentality. While I have heard Harvard and such has good Compsci programs, going to a geekier school might be helpful. For me, going to an Engineering school where 80% of the majors were engineers was kind of awesome, it was like everything was a programming club. If you are into that stuff it's fun. You will get a great education elsewhere, but not the same sense of community and experience. It's really fun.

So in the midst of everything, dont forget to make going to a good college a priority. Theres going to be lots of downvotes and explorations of whether college it worth it or not, but I say its worth it because of my following theme: the people

2. Like many have said "oh I did that once at your age and worked for some mind numbing job somewhere etc"

Don't do that here are some ideas

3. Do you live in a big city? If so, places like LA, Bay Area and NYC WILL hire you for projects if you go to the startup scene.

4. In big cities there are hacker houses, reddit meetup groups etc dedicated to programmers. Find and do all of those things and begin to meet other people in your community who program. Going to a hacker house and meeting college kids doing the same thing as you will give you unprecedented advice, let you work on projects with them and you may get an internship to one of the companies they work with.

I dont' want this to sound like political networking stuff, I'm saying that in this field the quality of your work matters, but so do the people. Real programmers will be impressed with you and find places for you meeting them in person you would not be able to find elsehwere.

In San Francisco there are hacker houses dedicated to highschool dropouts starting companies and the little sister of the 17yr old female Russian now woman who started Wanelo I think was the one who started it. In big cities you will find open minded things like this. I would focus on finding communities like this ALONGSIDE your search but you may find these communities find you more venues for work/interesting projects for pay/stock options than you initially anticipated.

I dated a guy who by the time he was a freshman in college had worked for multiple startups because of his programming abilities. He grew up in Boston, his dad worked at Oracle and he went to things like MIT startup bootcamp. Sure he was well connected but also motivated, and in big cities like that you have access to things like that.

5. Continue to beef up your github

For you, learn this lesson now, don't sell yourself short, every great aunt, manager, passerby on the street will want you to code their next unicorn app for them and say theyll pay you later once they "figure out the profit" stuff and its no uncommon for people in your position to get caught being overworked and underpaid on less than stellar ideas.

I would say your best bet is to find projects you like, dive into an area of expertise, VR, AI, compression, graphics, whatever you like and find people working on projects like that whether startups, bootcamps, hacker houses, etc and find those people and work with them and don't settle for working on anythign that youre not interested in and getting valuable learnign experience in.

This is why finding other people who can code is important, otherwise youll be treated as a gruntwork engineer doing data entry or writing someones "app"

6. Finally,

7. You can always make your own stuff opensource and host on a website, even if it doesn't make money. I would say at your age unless you really need the money to get buy and have to choose between working shifts at a restaurant or coding, to focus on your knowledge/interests and produce your own projects in areas you are interested in.

8. Again, if money is not number one priority, you can also use community service as a venue. There are probably businesses in your community, clubs or charities at your school etc who could benefit from some development, and then you can not have to spend time on extracurriculars at school just to impress a college, and turn them into real world experience for you.