How To Study CS In College (from a Stanford CS Major)

vincent
3 min readSep 7, 2022

The summer before Stanford, I, a raging luddite, decided to learn Python. As per my friend’s recommendation, I started with the Hello World program because it’s “two lines long and impossible to fuck up”. Impressively, I wrote a buggy Hello World and was ready to Goodbye World to my CS career.

I’m a rising junior now, this summer I interned at a big tech company, and I’m majoring in CS with a focus on systems.

I’m definitely not qualified to give advice, but there are things I learned the hard way that I wish someone told me earlier on. A lot of the lessons have less to do with coding and more with the mindset I should’ve had going into this industry. Upon talking to my other CS friends, it seems everyone entering tech realizes the same lessons at one point.

If you are currently a humanities devotee like I was in freshman year, I encourage you to give programming a shot. I promise it isn’t that bad. If you are a woman in the tech industry, I hope you keep going. If you are neither, I offer you a fist bump.

  1. You Are Qualified

A handful of people will enter college with programming experience, and at first they will look like Jesus. Here is what I’d say about this, looking back: After the first couple entry-level courses (e.g. CS106B at Stanford) everyone is on level playing ground. But it will always seem like others are ahead of you.

In my freshman year, I believed I wasn’t good enough at coding and didn’t apply to internships until late spring. But it was too late, all the opportunities were already taken.

Later, a guy in the same grade told me he had gotten an offer from NVIDIA. When I asked how, he said he just chatted with his interviewer about the heap allocator — a class project I had also done.

So don’t convince yourself you aren’t qualified. You’ll only be successful if you believe you deserve it.

2. No One Gives A Crap About Your Freshman Summer

It literally doesn’t matter. I regret all my summertime attempts at productivity. Go grow an avocado tree or something. If you feel nervous about your future, start a personal programming project. It doesn’t have to be big or impressive or completed. That is just as impressive as work experience.

4. If You Are A Woman It Sucks

I did not speak to a single woman in my 12-week internship. In most of my CS systems classes the woman-to-man ratio is something like 5:3 on a good day. Tech gender gap is real, but we already knew that.

Here is the news: femininity in tech will set you back. In this industry, gentleness and hesitation are not a redeemable traits.

Don’t apologize after asking questions; thank them after receiving an answer instead. Don’t waste energy being polite over Slack; be assertive. You don’t need to second guess every question and comment before sharing it with the team. You are allowed to take back what you said. You don’t need to offer your space to others after every sentence, you are allowed to close conversations.

I still tell myself these things on a daily basis. Only when I internalized them did I make real progress at work.

5. No One Actually Knows What Is Going On

If you ever feel dumb for not knowing what an acronym stands for, know that 80% of your classmates also have no idea what the fuck it means either.

Nothing in CS is obvious! Unix commands, Git workflows, compiler errors, config files, environment variables — every programmer learned through trials, errors, and googling. You are not alone in this. Do not let anyone make you feel stupid for asking.

…but make sure to ask. Far too often I nodded along, telling myself I’d look it up later. Pretending to know did not impress anybody, and I always looked stupider seeking clarification further down the road.

--

--