

Join the discussion
Write your take first — we'll ask for email only when you're ready to publish.
- Hacker News
- While I have a CS degree from a good university, I think I see things differently than the author here. I think CS degrees are great overviews of the field and give you 4 years to practice programming basics without needing to worry about your job. You also might meet some smart classmates and learn from them too.
However, I think the core issue that individuals run into is that the industry does not stop to train engineers in any kind of formal way. If you do not address this, then your skills will never adequately develop over time. This goes for CS degree holders too, they just might have some more confidence initially from the 4 years of marinating in the material.
There are so many ways to develop your skills:
- cs degree, sure
- pair programming with people that have the skills you want
- helping others with their problems
- building personal tools
- reading blogs, watching videos, and generally soaking up external opinions
- taking projects slightly outside of your skill level
- self-reflection and writing down the problems you have, then actively seeking help with each specific problem
- learning to read error messages so you don't sit there slackjawed when red text shows up
- learning to read documentation and scan for useful APIs
- reading books, if that's a method that works for you
- doing retreats like Recurse Center that push you
- SRS practice with tools like Execute Program
- paid courses with work edu budgets
No one will really make you do these things though, so it is very sink or swim. You don't have to do all of these things, but you likely need to be on some kind of upward trajectory, particularly for the first solid chunk of your career. For me, this is mostly work I would do as part of the job, during 9-5 work hours.
by dbalatero - A lot of the leet code problems are "math shaped". LLM's are pretty strong at that.
My guess is that interview questions would test your skills combined with the llm, because when testing skill without, the difference is just too big.
by petra - 3 positives from a degree are:
1. the complete demystification of computing. If you’re writing c or assembly and working on OS concepts there’s a sort of aha moment that the computer is not a mystery.
2. The degree pushes you past the hump where a lot of folks get stuck on when learning to program. There’s a seeming spot where things makes sense and you actually understand what’s going on. Forcing yourself to stick with it for 4 years where you’re taught by experts is helpful for that.
3. It gives you a space to explore a wide array of topics. Whether they are useful to an employer or not.
I assume folks can accomplish these 3 on their own. But it would be more or less building your own balanced curriculum and also trusting as you start that your curriculum will work. Whereas within the school system the trust is baked in: if you successfully complete these assignments you will learn foundational concepts.
by ddj231 - I have a CS degree. I learned some useful things. However, I graduated in 1998. I've had to learn a bunch of stuff since then because it didn't exist in 1998.
For folks that don't have CS degrees, they just have a little more to learn outside college. When I started my career, a significant majority of my colleagues didn't have CS degrees. It just wasn't a popular major in the 90s.
Among the best developers I've ever worked with never went to college at all.
by jnwatson - I'm not sure how this kind of software gatekeeping squares with our new glorious future where everyone is happily running bespoke vibecoded applications tailored specifically to their needs.
I bristled a bit at the scalpel "you don't want to give this tool to the wrong person" analogy. While I agree that there are certain classes of software (like banking/finance, healthcare, etc) that you don't want just anyone writing, but you don't need to have a C.S. degree to whip up a SwiftUI Music.app replacement so you can listen to dad Rock while you work in the basement.
by spudlyo - Guy writes like he’s the main character when he’s probably dev #48373 at CrudCorp. I bet the internal company tool he works on is pretty slick though.
Most smart people I know don’t like toy leetcode problems, they like real problems which are orders of magnitude harder and not solvable by LLMs. Leetcode is for people who got good grades and want to feel smart by learning the rote tricks to solve leetcode.
by codemog - Classic gatekeeping argument insisting a CS degree is necessary to write good software. I don’t have one and have 20+ year successful career with accolades, know many others in the same boat. Obviously there are CS degree people who were also successful, and the flip side comes for both camps, I’ve worked with absolutely awful engineers with or without a CS degree.
It is a signal, not the signal.
by hellisothers - Excellence is what matters. It can be found in universities (and is in theory what universities are for), but in my professional experience, a C.S. degree is no guarantee that one has been trained with excellent taste and judgement. In fact, I usually react to the new hires with C.S. degrees with some degree of frustration at what schools are teaching these days.
Excellence can also be found in independent reading, and it can be learned with professional mentors as well.
You can learn it from AI, too, actually. I'm skeptical about the central use of AI in writing code directly, but find it incredible as a teaching tool. It is especially impressive when I use it as something between a tutor and a search engine, talking to it a lot about the best way to do things and asking it about standard methods and resources. It's not infallible, to be sure, but it's this incredible combination of tutor and textbook, with a better connection to the zeitgeist than all but the very best of tutors and textbooks.
In this way, AI is not dissimilar from school, independent reading, or work experience: you can use these tools in different ways, to serve different goals. If you focus on credential, skill, productivity, and money, you may entirely miss out on excellence in your craft. On the other hand, you can pursue excellence in any of these contexts.
by Dove