Internships and Jobs
Timeline
- 9 to 12 months before you expect to start an intership or job:
Start submitting applications. Some of the large companies will
complete the hiring process in the fall or early winter for jobs
and interships that start in May or June.
-
Keep submitting applications
until you have committed to a job because some companies will
continue hiring up to the start date.
Finding Positions to Apply For
-
The Skidmore Career Development Center has
Online Career Resources. They also have
information about career fairs and other job search events.
-
Attend professional conferences that include a job fair. For
example: the Grace Hopper
Celebration of Women in Computing;
the ACM Richard Tapia
Celebration of Diversity in Computing.
-
Participate in a computing competition (such as a hackathon)
where company recruiters will be in attendance.
-
Sign up in the career center of professional organizations
such as ACM and
IEEE. The professional
organization career centers typically allow you create a
profile that is available for companies to search for, and
have job postings from companies.
Preparing Your Resume, LinkedIn Profile, and Project Examples
-
The Skidmore Career Development Center has a
Resume and Cover Letter Guide
-
Create a LinkedIn profile that highlights your Computer
Science skills. Make sure this profile has a professional look!
-
Provide descriptions of the computer science projects that
you have worked on. These could be independent research
projects, or class projects.
-
Create an account on github to showcase one or more code projects. Make sure that your code has excellent comments and great style. Be prepared to discuss these projects with potential employers.
-
Get feedback on your resume, LinkedIn profile, and github projects. Use the
services available through the Skidmore Career Development Center,
talk with your advisor and your CS professors. Seek feedback
from people with different types of experience.
-
Here is a sample resume for a generic computer science
student. This shows examples of how to highlight your computer
science projects, and of how to specify important skills you
may have learned from non-CS jobs.
Preparing for a Techincal Interview
It is common to have a technical interview as part of the interview
process for a Computer Science job or internship. A good idea is to
get together with a group of CS students and practice asking each other
questions (do practice interviews with each other).
- Books that have useful information about preparing for a technical interview:
- "Cracking the Coding Interview"
- "Programming Interviews Exposed"
- Any textbook about algorithms and data structures.
For example "Introduction to Algorithms" by Cormen, Leiserson, Rivest, and Stein
- Guides to the Technical Interview process:
Online practice problems:
Graduate School
The Computing Research Association (CRA) has a variety of information and resources for undergraduate students who are considering graduate study: https://cra.org/for-students/
Timeline
Note: this is an example of a timeline that lets you work on
preparing for graduate school applciations over a period of two
years. You can start preparing for graduate school during or after
your senior year, but will need to compress this timeline.
- Fall of Junior Year: Start preparing for the GRE exam.
- Spring of Junior Year or early summer before Senior Year: Take the GRE exam.
- Summer before Senior Year: Research graduate school programs.
Reach out to faculty who match your research interests, especially
for programs that match new students with a research advisor.
- Summer before Senior Year: Begin preparing applications for
external fellowships for graduate school funding.
- Early fall of Senior Year: ask three to four faculty
members or computing professionals if they are willing to write
letters of recommendation for your graduate school applications
- Fall of Senior Year: submit applications to graduate schools.
The application deadlines vary. Many are in November or December.
Finding Graduate Programs to Apply To
Talk with the Skidmore Career Development Center, and with your CS
professors about your interest in graduate school. Finding a good graduate
program for your interests is an individual experience. Rankings of programs by U.S. News and NRC (no subscription needed when accessing the NRC link from the Skidmore campus network) give a picture of the overall reputation of graduate programs. Because graduate study, especially getting a Ph.D., involves specialization in a particular sub-field of computer science, the true quality of a graduate program depends on many factors. Your CS professors can help you choose the best programs to apply to based on your individual interests.
Typical Application Requirements
Every program has its own requirements. This is a list of what Computer
Science graduate programs in the United States typically require.
- General GRE exam. There is no longer a Computer Science subject GRE.
- Essay about your academic and research interests.
- Three to four letters of recommendation from faculty members
who you have interacted with as an undergraduate student, or
summer internship mentors.
Sources of Financial Assistance
Many Computer Science graduate students are able to obtain financial
assistance that covers tuition and provides a small stipend for living
expenses. This information is specific to graduate school in the United States.
- Work as a Research Assistant or Teaching Assistant: Many universities
provide financial support for graduate students through assistanceships.
Look for information about assistanceships when you are applying
to a program.
- University sponsored fellowships: Some universities have fellowships
for exceptional graduate students. In some cases, the university
will tell graduate school applicants that they can apply for these
fellowships, while in other cases these fellowships are awarded
as part of acceptance into a graduate program.
- External Fellowships: United States government agencies as well
as private companies sponsor fellowships for graduate students.
Examples of fellowships that Computer Science students are eligible for are:
the NSF Graduate Research Fellowship;
the National Defense Science and
Engineering Graduate Fellowship; scholarships from
Google.
- International students: some countries have fellowships for students who attend graduate school abroad.