Here's something nobody told me when I started studying computer science: the career outcomes in this field are bimodal in a way that most people don't want to talk about honestly.
At the top, there are research scientists. The people pushing the actual frontier — publishing at NeurIPS, inventing new architectures, the kind of work where your name ends up on a paper that thousands of engineers downstream build products on. These people are rare, brilliant, and mostly came through a very specific pipeline: top undergrad → top PhD → top lab. The path is narrow and mostly legible in advance. If you're at Tsinghua or MIT doing research at 20, you probably know if this is your track.
Then there's everyone else. And "everyone else" is not a failure category — it's where the actual economy happens. But the work, if you're honest about it, is infrastructure. Systems engineering, data engineering, platform work, DevOps, ML ops, building and maintaining the plumbing that keeps things running. Important work. Well-paid work. But fundamentally different from what the degree promises when you sign up.
The middle is hollow
The thing that surprised me is how little middle ground there is. The dream that CS programmes sell — "you'll build intelligent systems that change the world" — maps onto a very small number of actual jobs. Most ML engineers at most companies are not designing novel architectures. They're fine-tuning existing models, debugging data pipelines, and writing YAML files for deployment configs. The intellectual content of the work is closer to plumbing than to science.
I'm not saying this to be cynical. I'm saying it because I wish someone had told me earlier so I could have planned differently.
If you're not going to be a research scientist — and statistically, you're not — then the question isn't "how do I get better at ML?" It's "how do I position myself where my technical skills create the most leverage?"
That's a fundamentally different question, and it leads to fundamentally different choices about how to spend your time in university.
The school matters. The GPA doesn't.
This is the part that feels uncomfortable to say out loud, but I believe it strongly: in both CS and finance, the name on your degree matters a lot and the number on your transcript matters very little.
The name matters because it opens doors. It gets your CV past the filter. It puts you in a network of people who are going to interesting places. It gives you access to recruiters and career fairs that don't exist at other schools. This isn't fair, but it's true, and pretending otherwise is bad strategy.
The GPA doesn't matter — past a threshold — because nobody doing the hiring actually cares whether you got a 7.5 or an 8.2 in Algorithms II. They care whether you can do the job. And the way you demonstrate that is not through grades. It's through what you've built and where you've worked.
This has a very specific implication for how to use your time at university:
Get into the best school you can. Then spend the minimum energy necessary to not fail, and pour everything else into internships, projects, and real-world experience.
I know this sounds like advice to be lazy. It's not. It's advice to redirect effort from the thing with diminishing returns (grades) to the thing with compounding returns (experience).
The internship compounding effect
Here's how the internship game actually works, from what I've seen and lived:
- Internship #1 is the hardest to get. Nobody cares about your coursework. You get it through networking, cold emails, or being lucky. It will probably be unglamorous. Take it anyway.
- Internship #2 is dramatically easier because you now have Internship #1 on your CV. The brand name of #1 matters more than what you actually did there.
- Internship #3 is where you start to have choices. Recruiters begin reaching out to you instead of the other way around.
- By the time you graduate, someone with three internships and a 7.0 GPA will beat someone with zero internships and a 9.0 GPA in almost every hiring process. The person with the internships has proof they can work. The person with the grades has proof they can study.
This isn't just my opinion. Talk to any recruiter at a bank, a tech company, or a consultancy, and ask them: "If you had to choose between a candidate with a 9.0 and no internships and a candidate with a 7.0 and three relevant internships, who would you pick?" The answer is unanimous.
Why this applies double in finance
Finance might be the most internship-dependent industry that exists. The standard path into investment banking is literally: get into a target school, do a spring week, convert it to a summer analyst offer, convert that to a full-time offer. The entire pipeline is internship-gated.
For data/tech roles in finance — which is what I'm targeting — the dynamic is similar but less formalised. Banks are increasingly hiring data engineers, quant analysts, and ML engineers. But they still value pedigree and practical experience over academic metrics. A candidate who's worked at an industrial company processing real data at scale (hello, Airbus) is more credible than one who's only ever worked with Kaggle datasets, regardless of what their transcript says.
What I'd tell my past self
If I could go back two years, here's what I'd do differently:
- Stress less about grades. I spent weeks optimising for marks in courses that taught me things I could have learned in a weekend from documentation. That time would have been better spent building things or applying to internships.
- Start applying to internships in semester one. Not semester three. Not "when I feel ready." The first one is always a stretch. That's fine. Apply before you're ready.
- Choose the school for its name and network, not its curriculum. Every good CS curriculum teaches roughly the same things. The difference is who you'll meet and which companies recruit on campus. This sounds shallow. It is shallow. It's also how the world works.
- Spend weekend time on projects that demonstrate taste, not just skill. Anyone can build a to-do app. Build something that shows you understand a real problem. My csvtool in C++ exists because Python was too slow for a real dataset — that story is more interesting to an interviewer than any amount of coursework.
The uncomfortable summary
CS and finance are both fields where the entry ticket is a good school name, and the career is built on accumulated practical experience. The degree is a filter, not a training programme. The training happens at work.
If you're a student reading this: the single highest-ROI thing you can do right now is close your lecture notes, open LinkedIn, and start applying to internships. Your GPA will survive a semester of B's. Your career will thank you for the head start.
And if you're in CS specifically, be honest with yourself about which side of the bimodal distribution you're on. If you're a future research scientist, you know it already — go deep, publish, and ignore everything I've said. If you're everyone else, stop cosplaying as a researcher and start building the experience that will actually matter.
I say this as someone who spent too long on the wrong side of that decision before course-correcting. It's not too late. It's just later than it needed to be.