I graduated with a Computer Science degree and promptly discovered I didn't know how to build a website.
Not really. I knew HTTP existed. I'd written some HTML in first year. But could I sit down and ship something real, from nothing, to a URL someone could visit? Not without a lot of Googling.
This isn't a complaint about my degree. It's an observation about what university is for, and why the gap between it and industry is so consistently surprising to new graduates.
What the degree was good at
Computer Science is fundamentally about reasoning about computation. My degree made me good at:
- Thinking in abstractions — separating what a thing does from how it's implemented
- Analysing trade-offs — time vs space, consistency vs availability, simplicity vs flexibility
- Reading research — papers, specifications, technical documentation
- Knowing that I don't know things — understanding that every tool has assumptions baked in, and those assumptions matter
None of these show up in a portfolio. None of them help you on day one. But they're the things I reach for when a problem gets hard.
What I had to learn after
The actual mechanics of building software — the stuff you spend most of your day doing — I learned outside of lectures:
- How the web actually works — HTTP headers, CORS, cookies, sessions. I knew TCP/IP from networking class but had never traced a real request.
- Git beyond the basics — not just
commitandpush, but rebasing, resolving conflicts, readinggit blamelike a detective novel - Reading other people's code — university code is written to demonstrate concepts. Production code is written by humans with deadlines, changing requirements, and imperfect information. It looks different.
- Deploying things — the first time I set up a server I felt like I was doing something illegal. Nobody had taught me this was a skill.
Most of this came from projects. Side projects, open source contributions, reading source code out of curiosity.
The thing I'd tell myself on day one
Stop waiting to feel ready. The gap doesn't close by studying — it closes by building things that don't work, then figuring out why.
The degree gave me a way of thinking. Building things gave me things to think about. Both matter. Neither is sufficient alone.
Also: learn to touch type. I'm still annoyed at myself for taking so long to do that.