What are some good high school summer internships, part-time jobs, or summer programs, specifically for people interested in Computer Science?
College is coming up very soon, and I'd love to get more familiar with the tech industry over the summer before I finalize my decision to major in CompSci. Besides online courses, is there any way I could explore CompSci or technology hands-on over the summer before senior year in high school? #computer-science #technology #internships #high-school #summer #programs
Hi Thu. It's great that you're looking for ways to develop your skills. I have three suggestions for you that can help you find a great opportunity:
Get an internship, job, or contracting gig
Obviously the benefits of this general category of opportunities is that you have a higher likelihood of getting compensated for your time as you learn new skills and validate your interest in a future in technology. Here are a few ways to think about this You can do that in one of a few ways. You could be extremely targeted by finding a company or organization you are really passionate about and contact someone there to introduce yourself and make a case for why they should let you work with them. You could be broader in your search by going to any of the many popular internship board websites like angellist or internmatch or internships.com and try to find a good fit there. If you want to find a contracting gig (paid by the hour or by the project) you could go to one of the many freelancing websites like freelancer, upwork, or elance and list your skills (forewarning you this requires that you be pretty self-directed).
Attend a school or training program
There are now a huge number of training options available for young people interested in technology. At one end are extremely structured programs designed specifically for young people. These options often cost money (sometimes many thousands of dollars). Some examples (not my endorsement -- just to illustrate) include programs like: MakeSchool's Summer Academy, Launch Academy, iD Tech Camps, Startup Institute, and programs run by universities like Berkeley and Stanford and others. Some of these options are quite structured by don't cost anything, such as CodeNow, CoderDojo, and others. I have lots of friends who have used programs like these and developed great skills. Many options listed at http://code.org/learn/local (hundreds in the Bay Area, where you live)
DIY (Do It Yourself)
This is what I did. There are so many free resources right now that it's entirely reasonable to teach yourself using a combination of tools. Things like codecademy, Khan Academy, Code.org, and the millions (literally) of free tutorials or reasonably-priced O'Reilly books available a short google search away. If you choose to do this, I recommend strongly that you structure your learning around a couple of projects you'd like to work on, and that you keep all of your code on Github so you can easily get advice from others. You should also recognize that this approach will not provide you with some of the theoretical underpinnings that you might get in a college-level CS program. However, this can still be an extremely reasonable way to get started and to build your skills (and resume!)
You can do all of these simultaneously. Just to be clear, these things aren't all easy, but if you find the right opportunity it can be incredibly rewarding! I hope this is helpful, and please feel free to ask any questions that you think we could answer in the comments below. Good luck!
I would suggest seeing if there are any local companies or small businesses that will hire you part-time or give you an unpaid internship in a technology related field. I was able to work for my High Schools IT department the summer between my Junior and Senior years of high-school and I gained a lot of valuable experience with computer hardware and computer networking.
Ask your computer teacher if they have anything you can assist them with over the summer, hopefully they'll have something for you.
You should learn the AWS api and make bash scripts. This will be highly marketable.
I would also suggest reaching out to all tech companies in your area and tell them you are looking to job shadow and ask if they have opportunities for you. Quite often job shadows are short term and last one day up to a week. I would also follow local tech companies on Twitter and Linkedin and reach out to them via social media to show your knowledge of their product/services. See if any friends, family, or neighbors work in the tech industry and can make introductions for you. Definitely start early in college making a target list of tech companies and applying to their summer internships. Once you are settled in college, work with your career center to see if there are co-ops at tech companies on your target list also.
There are hundreds of free trainings and training tools online as well, but there's nothing that beats hands-on experience.
You can search and find some of the tech internship jobs in on-line job boards or volunteer at local schools, nonprofit organizations to help support or manage their IT projects.
You could also take online courses (e.g. Coursera) and develop your skills in: software development, infrastructure/network, system administration, cybersecurity and data science...and apply these skills to future career opportunities. Hope this helps.