Skip to content

Instantly share code, notes, and snippets.

@ryanberckmans
Created November 13, 2021 19:17
Show Gist options
  • Save ryanberckmans/b5da66db02396094a3e4895b4c1144ed to your computer and use it in GitHub Desktop.
Save ryanberckmans/b5da66db02396094a3e4895b4c1144ed to your computer and use it in GitHub Desktop.
advice for software undergrads with co-ops/internships that want to make it big in industry
In terms of getting a good co-op job or highly paid internship, here is what I recommend
1. change co-op employers every co-op term. Do not go back to the same employer. The first reason is you learn most in your first term, the second term is better for them and not for you. The second reason is that job-hunting and interviewing is 100% a crucial and learnable skill, and you need to practice it each co-op term instead of taking the easy way out and returning to the same employer.
2. every co-op term, always try as hard as you can to get a job at a top-tier employer. Like Google, Apple, Amazon, Netflix, Microsoft, or Facebook/Meta. Top-tier employers act as a very big signal on your resume for future employers. More importantly, top-tier employers have extremely good internal tooling and training programs, so they will help you become a great engineer. The way to get a job at a top-tier employer is quite simple but hard. First, you need an interview... get an interview by distinguishing yourself on paper. There are a few great ways to distinguish yourself. #1 extremely high grades. but, don't rely on grades to get an interview. #2 do well in a respected computing competitions.. for example if you solved 200 Project Euler problems, say so clearly on your resume. #3 the best way to get an interview is to have a great, public github profile with a lot of actual project work you've done yourself out of personal interest. Hobby projects are career-makers. I can't say this enough, the number-one way we picked candidates to interview was on the basis of their self-starter practical project work on github. After all, the only thing an employer really wants from a junior employee is somebody who will hit the ground running, self-start, and begin the long process of maturing as an engineer. Self-directed project work is a very strong signal because anybody who can do a material hobby project is going to crush it at work.
2b. after you land a your dream interview with Google or whoever, the most important thing to understand is the reasons they selected you to be interviewed are not at all relevant in the interview. Did you win first place in the international computing olympiad? This fact will not help you one little bit in an interview. Interviews are completely self-contained, and they are 98% computer science. Algorithms, data structures, system design, testing, etc. Simply put, if you ace the hell out of books like "Cracking the Code interview" or the famous green book "CLRS Algorithms", you will get the top jobs in early co-op terms and that will spiral into an excellent industry career.
By the way, it is very important to earn a lot of money early in your career because your net worth depends a lot on *when* you start investing. You want to get a nice $200k job right out of school, so that by the time you're 26 years old, you're earning $350k and already have a savings portfolio of $100k's. That will turn into many millions when you retire.
If being a startup founder is interesting to you, that's a whole other thing. I'd recommend reading Sam Altman's startup guide for starters. Note that the #1 thing in startups is determination. Personally, I am quite driven, but not resilient. People who do real startups have to work like dogs 60 hours a week for years before they sell the company. If you aren't truly a hard worker, you are unlikely to succeed at a founding a startup.
Btw, after your career gets going, the very best way to make good money is to join a company that is obviously succeeding but still fairly early-stage, and maximize your equity. It's called "getting a seat on a rocket ship". For example, you may work at Google for 3 years, and then it turns out that some company is doing totally amazing and you think they may soon raise a Series B... great... joining a series A or series B company that is doing extremely well is a relatively reliable way to make a lot of money.
The other reliable way to make a lot of money is to climb the corporate ladder at a top company.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment