8 answers

How can I stand out for programming jobs straight from high school?

Asked Viewed 3004 times

When I graduate high school I'm going to go to college but I also want to try to get some summer or after school jobs to help pay for school. What can I do to stand out for the competition? For example does it matter if I do a team sport or other things or are my grades and programming languages all that matters?

8 answers

Christopher’s Answer

Updated

One thing you can do besides what has already been mentioned is becoming a contributor to an open source project like those hosted at Apache. Millions of people use these software libraries and the development that is done on them is on a volunteer basis. Every single project that I know of can use additional help with development, testing, documentation, etc. There are several benefits of this option:

1) You will learn programming at a professional level.

2) You will learn many of the open source tools of the trade that are used by today's professional programmers.

3) Your participation is a matter of public record and can be easily seen and verified by potential employers.

4) You will be networking with serious developers that can teach you a lot.

Personally I would think it would be amazing if a entry level candidate were able to list numerous tickets or features they were involved in on an open source project.

Updated
While you're at it, take a look at Google Summer of Code (http://www.google-melange.com/gsoc/homepage/google/gsoc2014), if you'll be eligible next year. It's a way for high school students to contribute to Open Source software and have some support while doing so.
Updated
I understand what you mean by features but what do you mean by tickets? And how can I find an open source project to work on at my skill level? I'm still pretty new to programming, but I'm trying very hard to get better quickly. I really love it!
Updated
A ticket is a feature request in one of the feature tracking systems that projects use. As far as getting started, you can look for features classified as entry level (like https://s.apache.org/newbie-accumulo ). Another way would be to ask the project's mailing list for suggestions.
Updated
its very useful to me thank you

Eric’s Answer

Updated

Practice programming on your own as much as you can. This both helps you see where your passions lie, so you can talk about that when interviewing (do you like writing servers? Android apps? Web apps? Games, real-time or turn-based? Embedded systems? There are innumerable possibilities), and gives you concrete code to show off. Some tech companies looking for programming positions will happily look through source code if you put a link to it on your resume. I had several personal projects which I stored on Github (github.com), and put links to them on my resume with short descriptions. This meant that interviewers could ask specific questions about things that I had done that they were interested in, and I think this helped me stand out.

There are many ways to get started in programming if you haven't already. I can expand on a few of them if you're interested.

Updated
Thank you for answering my question. Yes I would like to hear your suggestions for getting started in programming. I've already begun with studying online. I started with codecademy and then I got a book and started some code projects at school.
Updated
Sounds like you're off to a good start! Codeacademy was going to be my first suggestion. The other main piece is to, after you've learned the basics, try make something stand-alone, that is, outside of any teaching framework. You learn a lot from thinking about how to make it so others can use your program, plus it's fun to be able to, say, give people a URL where they can download or run something you've made.
Updated
its very useful to me thank you

Monty’s Answer

Updated

Sports and grades will not help you much. The most important thing is networking, meeting people and letting them understand your skill. You can meet people anywhere the important thing is how you present yourself and your expertise. For example you could go to a chamber of commerce mixer or meet a parent of a friend. You will be asked "What are you up to?" A solid answer on I am building a software development company and this is who we are working for right now will pay off.

Understand networking is a long term effort but the person you meet today will suggest a job for you next month. Over time you will have a solid network that feeds you work. Stay in touch with people and talk about your successes and new projects.

Finally in all of your work focus on customer service, take care of the people you do work for. Communicate with them regularly, follow-up on anything that is uncertain and respond to their questions quickly. Previous customers are a great source for new projects.

Essentially I am saying don't present yourself as a student, present yourself as a professional. People might do a student a favor but a young professional who is working hard is much better.

Updated
Thank you Monty. I'm going to try to present myself as a young professional.
Updated
thank you1
Updated
Thanks for the great advice!
Updated
its very useful to me thank you

Stephen’s Answer

Updated

Hi Jonya,

Engineering is, at the end of the day, a service required to run a business [which exists to make a profit]. Training people takes time and money, which many companies do not wish to provide if they don't have to. If you show up at my company with sports as a big part of your resume, that won't do me any good. If you show up with high grades, I'm going to assume you're intelligent and you work hard, but I'll have to train you. If you show up with good grades knowing one or more programming languages [or similar skills] that I can immediately use to help my business, you're in. Take a look at the open positions companies in your field or area have and the skills they are looking for, and that should help with which language(s) to learn. Best of luck to you!

Updated
Thank you Stephen. I will do my best. I am curious about what a Principal Nuclear Control TUV FSEng Applications Engineer does. Is it dangerous?
Updated
Hi Jonya - I help design and program control systems for "sections" of nuclear power plants. It's not dangerous at all. Our job is to make sure that the plant's control system is as reliable as possible and fails "safe" if it does fail. We "program" by connecting different mathematical (add, subtract, multiply, divide) and logical functions (and, or, not) in a CAD based program. It's fun actually. Google "IEEE 61131 logic drawing" to see what it looks like.
Updated
Cool! Thank you so much
Updated
its very useful to me thank you

William’s Answer

Updated

I started learning web design at 17 and got my first industry job at 19 (almost right out of high school) with no degree. Here's what I did:

1) I spent countless hours (several hours a day) learning everything I could about web design, programming, how computers work, how the web works, etc (the languages I started with were HTML, JavaScript, CSS and PHP).

2) I focused on learning a few key things at first. There are an unfathomable amount of things to learn as a programmer. Don't make the mistake of fluttering between them at first. Focus on learning a couple of big languages or concepts and master those. If you want to build web apps, learn a language like Ruby and a framework like Ruby on Rails and master those. Then you can start to tackle more once you have a solid foundation.

3) Develop your ability to learn rapidly. The skill that has helped me the most throughout my career has been my ability to learn new things quickly. Every single job I've had has required me to learn at least one new programming language (sometimes several) and at least one new major concept (like a new programming paradigm; sometimes several). It cannot be overstated how important it is to know how to learn to be effective with things quickly.

4) Have a portfolio of work. This is what landed me my first job. Having a portfolio of example projects that you've done on your own, open source projects that you've contributed to, and other code that you've written will put you in a new category of candidate. I can tell you, having interviewed many people myself, that it's a big red flag if a programmer doesn't have examples of his or her work. And put your projects up on a site like GitHub.

tl;dr: Pick a single programming language and a framework you can do something useful with and master them. Build a portfolio by working on some open source projects (preferably at least one project you created yourself).

Updated
This is really great advice! If you wouldn't mind could you put a link to your portfolio so I could see an example of someone who is in the industry. Please and thank you!
Updated
its very useful to me thank you

Tiffany’s Answer

Updated

Your best bet is to look for internship positions. A lot of companies will hire interns who are in college to do programming-type work. To get an internship, most companies will likely just be looking at your grades and any past experience you've had in programming. If you have some examples of things you've coded, that's likely going to be a big help! Plus, when you go to get a job after college, internships look great on your resume.

Updated
Thank you for answering my question Tiffany :)
Updated
thank you!
Updated
its very useful to me thank you!

Anshul’s Answer

Updated

There is nothing better than demonstrating that you have created something ( a small product ) using the skills you acquired that other people love to use. In my interviews I always showed the projects I worked on ( games in my case ) and why people love to play them.

Updated
its very useful to me thank you

Morgan’s Answer

Updated

Sign up to http://www.freelancer.com and start doing work for small businesses in there. Get your experience of small projects and build up that portfolio.