Computer Science Experience

33 viewed last edited 3 years ago
As a student, would it be more valuable to get comfortable with continuously contributing to open source projects, or gain real experience in the field with something like a summer internship? Also, would you happen to know of any summer internship opportunities available to high school students? Thank you!
Vivekanand Vellanki

There are 2 aspects to computer science:

  1. Ability to write good code
  2. Ability to understand why things are done in a certain way. Following this, the ability to build a good software system to solve a particular problem

If your goal is to write good code, this an be done in several ways: contributing to open source projects, participating in programming contests, etc. I would rate a summer internship low for achieving this goal. Internships last 2-3 months - this is not enough time to demonstrate the ability to write good code.

When I had interns working for me, the focus was on the ability to learn and to deal with the ambiguity rather than on writing lots of code.

If you want to understand why things are done a certain way (esp. in areas in networking, databases or operating systems), I suggest getting a degree in computer science.

Vijay Chander
Here are the order of things to look at (1) Get your foundation strong by getting a degree in Computer Science. Pls note that learning a programming language is not Computer Science. You will have to do courses like Design and Analysis of Algorithms, Computer Architecture, Operating Systems, Compilers, Networking, Programming Languages, Database theory etc. This will stand you in very good stead as you progress in your career in the industry. (2) Start contributing to open source projects while doing your study in Computer Science - you have at least 2-3 years to contribute and build your open source credibility with good design and programming practices. This is an excellent item to add to your resume when you interview in the industry. (3) As a high schooler, not sure about the breadth of internship opportunities. But you will have ample opportunities to intern during your undergrad (bachelor) of Computer Science. You can literally pick any company out in the Valley - they have a summer internship program. In fact they encourage us regular employees to go to our alma mater to attract summer interns. You should do multiple summer internships (over the 4 year period) for you to get first hand limited exposure to how things work in the industry. I am a beneficiary of a summer internship here in US where I formed a long lasting professional friendship with the folks that I worked with during those days in addition to it being a great learning experience. In my internship, I was lucky to contribute something that was helpful towards the first customer ship of a product which happened after I joined later as a full time employee. Good luck !
Frank T

In my experience internships/real world experience are the way to go. During my time with Qalaxia and working as a research assistant I learned more about software engineering than in all my previous CS classes combined.

Kiran Sangha
As a computer science student, gaining any form of experience is helpful in building both your resume and your skill set. If you are having trouble finding an internship as a high school student, definitely try contributing to open source projects. Also, try to program your own projects regarding anything that interests you. While I was interning for Qalaxia, I was able to practice several programming languages by working on various projects. I also gained exposure to new programming tools and techniques that I use for projects today. Internships definitely give you insight into how you will use your computer science knowledge in the workplace. Try talking to your high school counselor to see if there are any internships available. Best of luck!