How to pick a Computer Science program
Tags: career, beginners, computerscience
Published: 2019-04-03 03:41:26

---
title: How to pick a Computer Science program
published: true
description: If you're going to pick a school, it might as well be good.
tags: career, beginners, computerscience
cover_image: https://thepracticaldev.s3.amazonaws.com/i/k8fsdwlrm9j0ak5a892e.png
---

# So you're 18 and making the largest purchasing decision of your life

University is a weird concept. On one hand, you should pick a place that's going to make you a better, more well rounded person. 

On the other hand, **you're paying for the cost of a home.** 

All existential benefits you get become fairly superfluous relative to going 200k in debt. 

The following is a ruthlessly practical guide to picking a good CS program. It acts as a checklist for students who know they want to go into computer science and have no one to guide them through the process.

Most students have a conceptual idea of "Stanford and then everything else." Most students will not go to Stanford or any other big name school; which leaves a large portion of high school kids trying to "guess" at a program's effectiveness by meaningless metrics like US News college rankings.

Screw that.

This guide is a ruthlessly practical guide of _actionable_ and _researchable_ steps you can take to find a good program. Use it as a checklist when applying to schools or wind up buying a house you don't want to live in. A school doesn't need all of them, but having none is a sign of a school to avoid.

# TL;DR: Checklist

- Does the university protect you against exploding offers?
- Does the school have regular career fairs with tech companies attending? 
- Does the university have course offerings for interviews?
- Does the school have "dorm room" investment opportunities? (Contrary Capital, DormroomFund, roughdraft.vc, school sponsored).
- Does the school have access to hackathons?
- Does the school have access to a tech hub?


## Does the university protect you against exploding offers?

An exploding offer is where an employer comes to you with a job offer, but you have to decide _extremely_ quickly. Like, make up your mind by the end of the day. 

Universities that have legitimate career opportunities for Computer Science and Computer Engineering grads have policies against exploding offers. If a company gives a student an exploding offer, they can report it to the uni and the company is banned from recruiting.

If a university _doesn't_ have a policy, **it's a good sign they're struggling to bring job offers to the school.** If you see this, bail. 

A university protecting you against exploding offers isn't hugely important; but it's a good litmus test for a school that has pull with companies and one that does not.

### How to find out

Try the following search queries in Google:

```
{COLLEGE I WANT} exploding offer
{COLLEGE I WANT} offer guidelines
{COLLEGE I WANT} employer guidelines
{COLLEGE I WANT} internship guidelines
```

If they have nothing available, copy/paste this email and send it to their career center:

```
Hi!

I'm a prospective student doing research on your university. 
I was wondering if you have any policies against exploding 
offers or other unreasonable pressure for computer science 
students.

Thanks!
```

### Tiers 

#### Really Good
The offer guidelines give multiple months for internship decisions made in the fall.

#### Good
The offer guidelines give at least 3 weeks for internships and full time offers.

#### Okay
The offer guidelines only protect internships.

### Example: University of Illinois

The engineering department of University of Illinois has a program that looks like this:

![offer](https://thepracticaldev.s3.amazonaws.com/i/vl861bzxnv0euk12a2eq.png)

[Source](https://ecs.engineering.illinois.edu/career-resources/offer-guidelines/)

## Does the school have regular career fairs attended by tech companies you've heard of?

This is your primary access to employment opportunities. If the university does not have companies coming to their career fair, something is _very_ wrong.

Many companies _only_ hire university grads through these fairs, so by going to a school without a real career fair, you're paying 200k to have _less_ access to jobs.

### Questions to ask

**Does a company have to pay?** Many universities _charge_ companies to attend their career fair. This is a sign that the university has _so many_ companies who want to attend that they have to limit it. If the career fair is free, the university is lacking applicants.

**Does the university have a CS only career fair?** Some schools are so popular that they move CS into its own fair. This is primarily at bigger schools, but hits midsize as well.

**Are companies that attend traveling?** If a company had to travel to the fair, they _really_ want to hire people here. It also means that the company is offering internships that pay for housing elsewhere, which typically is a sign of higher paid and higher quality internships. Companies that can afford housing typically can afford higher pay.

### Example: San Jose State University 

![SJSU](https://thepracticaldev.s3.amazonaws.com/i/lggcu5fu4lb5isbndqkd.png)
[Source](http://www.sjsu.edu/careercenter/employers/job-internship-fairs/index.html)

## Does the school have course offerings for interviews?

When you go to interview for jobs, you'll be asked to solve coding challenges, often in a timed, under-pressure situation. This practice may change in the future, but it's _extremely_ common. 

Any university worth its salt has created a class that preps students for this.

If a school does _not_ have this course, it means their CS department is _extremely_ disconnected from the industry or they do not adapt well. This is a red flag; if you do not see this, bail.

### How to find out

Try the following search queries in Google:

```
{COLLEGE I WANT} interviewing cs course
{COLLEGE I WANT} technical interviews cs
```


If they have nothing available, copy/paste this email and send it to a CS Professor at the school or their office of admissions:

```
Hi!

I'm a prospective student doing research on your university. 
Do you have a course dedicated to passing technical interviews as a computer science major?

Thanks!
```

### Example: Boise State University

> CS-HU 390 TECHNICAL INTERVIEWS, JOBS, AND CAREERS (1-0-1)(F). Prepare students for computer science technical interviews. Demonstrate how knowledge gained in classes can be used to solve new problems. Encourage teamwork and peer feedback. Learn how to negotiate jobs and manage career growth. A Hatchery Unit (HU) course is a short course to develop specific professional skills for computer science. (Pass/Fail) PREREQ: CS-HU 130, CS 253, CS 321.

[source](https://registrar.boisestate.edu/undergraduate/course-catalog/cs-hu/)

## Do students have access to investment and capital?

Much of tech is funded by venture capitalists: investment firms who specialize in small startup companies. There's a number of investment firms that do small investments solely in companies started by college kids.

Some examples are:
* [Contrary Capital](https://contrarycap.com/team)
* [Dorm Room Fund](https://www.dormroomfund.com/team)
* [Rough Draft VC](http://www.roughdraft.vc/)

Many universities have their own version of this. Some will offer N thousand dollars to students as part of a grant. 

Even if you _don't_ want to start a startup, having these opportunities are _extremely_ valuable. Maybe _you_ didn't start something, but Sally did and now she's hooking you up with a sweet job. 

Companies that start out of a university often go back and hire from that university. That creates a network of opportunity for you, even if you're not making the next Facebook.

Plus, having outside funding means that some market somewhere has effectively "bought in" to this school and its programs. Those investors likely did better research than you or I did, so it's reasonable to take their hint here.

### How to find out

You can go to the big three college funds websites, though many of them are only available at brand name schools.

Another way is to email their admissions department the following:

```
Hi!

I'm a prospective student doing research on your university. 
Have any tech companies been founded by your students while they were 
students here? If so, how did they get initial funding? Are there 
grants or other services that the university provides to CS students?

Thanks!
```

Be skeptical of places that have money _only_ for business majors. 

### Example: University of Maryland 

UMD has access to Contrary Capital and Oculus Rift was born here. Lesser known companies like [FiscalNote](https://fiscalnote.com/) came out of this program as well, along with bioscience companies, like Digene and Martek Biosciences.

## Does the university have access to a tech scene?

Preferably, it's one of the big 3 tech scenes:
* San Francisco and the Bay Area (the largest by far)
* New York 
* Seattle 

But it doesn't have to be. You want a place that has local companies interested in hiring local people. This is where you could get a part time co-op job or a summer internship without having to leave campus.

A lot of cities have tech scenes, but the size doesn't guarantee anything. Take Boise and Spokane.

Boise's current population is 226k and Spokane's is 217k. They're both about the same size, they both have a few universities that rest there, but only one has a tech scene. 

One of Boise's primary distinguishers is the presence of "key stone" companies like HP and Micron. These companies put major offices in the town, which attracted a number of tech workers. After some time, these tech workers left and started their own companies. Some of these formed into midsized places and small startups. 

### How to find out

When looking at a school, search for tech companies in the area. If you're only seeing smaller or mid-sized places, be skeptical. You want a large company to have invested resources into building an office there. Those big companies are making a larger investment than you are and frequently do a lot more research on the market there. 

## Does the school have access to Hackathons?

A Hackathon is where many programmers go to a college campus, program for 24 hours straight and then maybe win cash money. They may be for you, or maybe they're not, but there's no denying that access to them can be effective.

Many students get jobs from hackathons. Winning one is a resume item when often you don't have a whole lot to put down. They're opportunities to meet other smart programmers and to explore new tech. 

Even if you _never_ go to a hackathon, you'll still benefit. The people who _do_ go will network for you and be your 2nd or 3rd connection to job opportunities.

### Questions to ask

* Does the university host a hackathon?
* If not, is it in the local area?
* If not, does it sponsor students to go?
* If not, are students finding other ways to go?

# Summary

Overall, you're looking for a school that:
* Has a solid understanding of the tech industry
* Has _support_ for students entering the tech industry
* Succeeds at _getting_ students into the tech industry 

These should be your _base line_ goals. The feel of the university, the professors, and the campus are good tie breakers.

But they're frosting.

If you're going to pay the cost of a house, make sure you end up with a job at the end.