Ask Slashdot: What To Do Before College?
First time accepted submitter MtownNaylor writes "I graduated high school two days ago and am currently enrolled to attend college for studying Computer Science. I spent last summer working as a contractor, programming in Java doing work for a single company. I am looking to further either my career, my education, or both this summer. The problem is that I have found it difficult to find summer employment or internships programming for a multitude of reasons (lack of opportunities, lack of experience, lack of degree.) So what is a high school graduate who wants to work as a programmer to do?"
Pick an open source project that you find interesting and get involved in it. It will give you experience in coding, working with people, and look good to the type of employers you would probably want to get hired by.
Well, I can remember that summer and I spent it working in the fields, bailing hay, framing houses and working as a busboy/waiter/bartender at night. But that was just because that was the best way for me to earn extra cash before college. It was made clear to me that I was expected to pay for all of my schooling just like everyone else in my family and, growing up under the poverty line, that made sense. So if you have any legal way to acquire extra capital then that's what I would do. Bagging groceries isn't going to help your coding abilities but if it gives you enough breathing room to prevent a loan shark from taking advantage of you in college, I'd take that option.
Now had my family been able to pay my way through and acquiring capital was not an urgent necessity, there still wouldn't have been any internships or jobs available for a programmer at my location. In this situation and knowing what I know now, I would have opted for other paths:
1. Approach an entity that doesn't have a lot of money (e.g. school, library, city council, county park, church, whatever) and ask them if they need anything improved or fixed IT-wise. You can take an off-the-shelf route like just reskinning phpBB for a library forum or implement a server for voting on new books to acquire or an announcement system for school closings or even a static calendar page for events. Maybe you build it from the ground up like new reservation system for people who want to reserve a book at the library before they drive 40 minutes to pick it up. If the facility likes it, they'll use it. If they don't, well at least you learned something. The thing is, you'll build experience working with real-ish requirements and even if it amounts to nothing you'll learn why. Aim for something simple to ensure success and try not to reinvent the wheel. Now-a-days with Rails' scaffold system, you can stand up CRUD apps in no time. I remember a lot of broken processes as a kid that I saw at Boy Scouts, parks, libraries, etc where a simple registration form would have saved a couple people a lot of work.
2. Contribute to open source. I'd shy away from starting your own open source project. That is actually difficult to do unless you know someone demanding it and then you're kind of being held to get it done. Anyone can check in a project to sourceforge or github (and they often do) but without users it quickly withers and dies. I'd suggest looking into an active project and seeing if you can understand the source code. If you can contribute, that's great. That's experience and that's something you can put on your resume -- even if it goes defunct by the time you graduate.
3. Copy last year's course pages for the beginning CS and Math classes you intend to take and start working through them. Seriously, I wish I had thought of this way back then and if they're still up for your college, grab them and start looking at the problems so you don't get a wake up call. My college required me to take four semesters of calc as a CS major and that was a harsh reality indeed. If you start working on a project now and it's great by the time you get to the course, your professor might ask you to become a TA for some extra cash. Sure, it's brown nosing but it also feels really good to be prepared.
Those two suggestions are assuming you don't need capital and there's no paying gig. If you don't like them, hell, just enjoy your summer -- when you succeed you'll be working 9 to 5 and I sorta wish I had spent more time at the pool, hanging out with friends, playing music with crappy bands, playing baseball with pickup groups, etc. Don't forget to live a little.
My work here is dung.
I know you're looking for work stuff to do, but this is most likely the last real break you're going to have. Because it's classes & internships & part-time jobs & everything else. Take some down time to just relax...read a book...chase some girls/guys/whatever You're only young once
This summer marks the end of your childhood.
I swear to God...I swear to God! That is NOT how you treat your human!
two chicks at the same time, dude
I would suggest relaxing. You're not going to have many more summers like this and you might as well enjoy it. This is especially true since you just graduated - most of your high school friends are probably still around, you may not get the chance to see them again.
I agree, I really do, but many aren't providing any reasons why:
1. No employer is going to care what you did the summer before you went to UG
2. The work leading up to the degree you learn at the end of your UG work may not challenge you at all. Working to "get ahead" may leave you frustrated and bewildered as to why you worked so hard.
3. School is just school. Just do it, enjoy it while you're there, get good grades, and get a job after you're done (or go on to advanced studies, whatever).
As for this summer, enjoy it. If that means writing code for fun or screwing around w/friends, do it. You'll be able to do that stuff in college too but in a much different way--especially if you want to do extremely well.
Good luck.
Enjoy your summer, it will be one of your last. Travel, go camping, toss back a few beers, anything but work.
My father told me once, "You've got 40 years of working ahead of you, enjoy your youth. It's the one thing that we always wish we had more of."
My favorite summer was between high school and college, before everyone went off in different directions. Have some fun, travel, chase girls, go camping... whatever floats your boat. Spending your summer writing code, is not something that you'll look back at and say,
"Man... I wish I had spent July and August writing code instead of that time at the lake with my best friends and that blonde girl from two cabins away..."