views:

299

answers:

12

This is a pretty broad question; I'm fairly certain I'm proficient in Java (aced the APCS exam, which was by far the easiest AP imo though), and learning Python. I'm in my senior year of high school and programming's what I've wanted to do since the 6th grade. Thoughts on ways to start building up a resumé? (Open source projects? Internships? Do freelance sites such as guru.com allow minors to work?)

Edit: I probably should mention that I am planning to go to college; the current game plan is to have program to help me pay my way through.

A: 

These bits of experience are always welcome in your first résumé! However, don't fill pages with this kind of information. A résumé should be concise, never bigger than one page.

André Neves
+1  A: 

You could start to do some programming jobs at rentacoder. It's free to join and bid on projects.

Brian R. Bondy
+6  A: 

My honest opinion: No matter what you do, finish college. I know its expensive and you probably might not be able to pay for it right now, but anytime in the future, finish it. It helps, no matter what people tell you.

Now, that aside, contributing to opensource projects is a good way to go, but you might have to bring yourself up to level first. Interning as a junior programmer is a big plus. Also some freelance project work once you have some experience of coding for real world would be a great idea. I would feel more comfortable with doing a small project for someone i know first before taking on projects from the net.

And the best advice: Practice, practice, practice.

Mostlyharmless
A: 

I'll second the recommendation of RentACoder, additionally just doing some programming and having a "portfolio" available if possible is an awesome way to get started. But again, be sure to not list TOO much on an entry level resume.

Mitchel Sellers
A: 

If you can get an Internship, that would definitely do the trick. Depending on where you applied, contributions to opten source projects can help.

Also look at working on your online-working persona. Make sure your open source contributions, and contributions to any other programming related sites (C2, stackoverflow, etc.) are linked to your real name, so when the inevitable googlesearch happens, it works in your favor.

Jonathan Arkell
A: 

Start working on Open Source projects. You'll have to bring yourself up to that level, but an easy way to start is to find an Open Source project that interests you. Find their bug tracker and work on bug fixing and submit patches. This will improve both your reputation, and give you valuable experience with both their code base and as a programmer as a whole. This is where you need to start and it looks excellent on a resume.

Ryan Taylor
+4  A: 
  1. Finish college.
  2. Do [Google's Summer of Code][http://code.google.com/soc] every year to help pay the college bills, while earning extremely valuable experience and contacts in the Open Source world.

Then, when you are done with college, get a real job. It seems to be working for me -- then again, the government pays for most of my tuition bills.

Vicent Marti
+1  A: 

I'm not sure about HS teachers, but in college you'll have professors who have industry ties. It is in your best interest to do well in HS and get into a college with good reputation in the industry.

Professors also get alot of "cold call" emails where HR personnel just emails a professor asking "hey you got any good students to recommend?".

If you have good standing with your CS professors, one of them might be able to get you into, sometimes very lucrative careers.

Of course internships works as well, but where I work now, we only offer full time jobs to only 10% of the interns. So it can get competitive.

Kwan Cheng
A: 

Nothing is as thrilling as writing software that solves somebody's real problem. So find people with real problems (i.e., things the computer should be able to do for them that it's not doing) and solve those problems.

As programmers, we are toolsmiths. Build good tools that solve actual, concrete problems!

And yes, finish college with a BS in something that requires you to take a lot of math classes. Math builds mental rigor, and self discipline. You gain the ability to think precisely, and to power through difficult problems. The world is plagued by software built by sloppy thinkers.

markrlindsey
+1  A: 

The short answer no one wants to hear: College, work study and a few years of sucky jobs.

The long answer, being a good programmer isn't enough. The fact is that most failed projects I worked on failed not because the programmers were bad but because of bad management, culture or personality clashes. Soft skills mark the difference between a guy who knows java and professional java programmer.

If you want to be a software lifer, don't neglect to learn the soft skills. Go to user groups. Talk to other developers. Work on projects with others. Work with legacy code. Learn to take advice. Learn to give advice.

sal
+1  A: 

IMHO, a very good way to enter the programming industry is to do exactly what you love about programming every single day. Seek it out, study it, and make few compromises along the way.

Programming is a vast and varying field with many different kinds of work in wildly different settings. You have innumerable options in front of you, and yet if you're like most people I've worked with, just a small handful of those options will prove to be truly rewarding.

Find what it is you love about programming and do that for everyone you can, as well as you can, as often as you can. Ask to get paid for it at some point, and voilà! - you're in the industry =)

drfloob
A: 

Internships, internships, internships.

Everyone is looking for experience. And by experience, I mean professional, real world, earning a paycheck experience. Even if it's short term, or pays for crap, being able to list an internship with a real company on your resume will stand out strongly in comparison to any other new graduates who don't have any real world experience.

Open Source Software

Pick some Open Source projects and start contributing. If you can make some real progress, and get a reasonable amount of code/work contributed to one or more projects, list that on your resume. This has the advantage of not only showing off your programming skills and your ability to work with a group, it also shows that you're passionate about what you're doing. When I'm hiring someone, a passion for technology and programming is as important as anything else, and can be a huge edge over the competition.

Christopher Cashell