

Join the discussion
Write your take first — we'll ask for email only when you're ready to publish.
- Hacker News
- I’m surprised that someone who claims that formal education is so important would make such a clumsy, unsupported argument.
A big problem with the notion that a university degree is necessary for success— apart from the obvious counterexamples that are all around you— is that university education is such a small percentage of your career as a learner. Another problem is that a degree can be acquired without doing much actual work. Another problem is that degrees are poorly aligned with the needs of industry.
Having been in the industry 43 years, I also have experience. I wouldn’t tell anyone to “stay in school.” I would tell them to relentlessly study their craft and achieve excellence in it. That’s why, in my field of testing, instead of quoting textbooks, the textbooks quote ME.
by satisfice - Crazy. It depends on the kind of software being built. Working on embedded systems for avionics is an entirely different animal than working CRM software development as an example. Even Wozniak didn’t have a degree until 1986, long after Apple went public.
Most of the people I worked with at Apple didn’t have CS degrees yet they built the thing many of you are using to read this.
Much of software development is deciding what to build rather than how to build it — that takes skills far beyond CS. We are building software for people to use rather than building it for its own sake.
CS people might know algorithms but do they understand why they even need it? How does it help the user? Some of the worst places I’ve ever worked had lots of CS degree people who spent more time complaining about framework defaults than building something people are able to quickly use and pay money for.
Inventors of Perl, C, Turbo Pascal, Typescript, Delphi, C#, FORTRAN, PHP, and COBOL pioneer Grace Hopper — no CS degrees.
Jack Dorsey, Peter Thiel, Zuckerberg, Chris Wanstrath (GitHub,) Arash Ferdowsi (Dropbox.) — no CS degree.
Stewart Butterfield (Slack) had degrees in philosophy! Reid Hoffman — also a liberal arts guy.
Avie Tevanian (Architect of MacOS,) — no CS degree. And while Steve Jobs wasn’t as technically astute as Wozniak — he still did tech and of course, no degree at all.
I could go on all day — I only mentioned the famous ones. At Apple I could list a hundred top engineers with no CS degree. I am sure most people here could.
The CS degree gatekeeping is complete ridiculousness.
I am biased though— I spent 7 years at Apple and have been in this business 16 years and my degree? Journalism.
CS people might be able to answer questions, but many times they don’t know the questions to ask. Tech has room for everyone and everyone brings a different skill set to the party. Not all doctors need to be neurosurgeons.
by briandear - > Inventors of Perl, C, Turbo Pascal, Typescript, Delphi, C#, FORTRAN, PHP, and COBOL pioneer Grace Hopper — no CS degrees.
Some of those (certainly Grace Hopper) are old enough that CS degrees didn't exist. Hopper had a PhD in mathematics.
by mcv - > Experience has shown that, things rarely work out in the long-term if you aim to have a successful career without a degree or by skirting coding interviews. Lacking these skills in the current conditions might be career-ending.
Perhaps your experience is unique and not at all representative. This reads very out touch.
Edit. Here's some data.. none of which indicates "rarely works out".
SO survey 2025:
20% of respondants who were professionally coding did not have a 4 year degree. Only 17% of all respondants said they learned to code from school.
SO survey 2017:
> The remaining 20.9% said they had majored in other fields such as business, the social sciences, natural sciences, non-computer engineering, or the arts.
> Of current professional developers, 32% said their formal education was not very important or not important at all to their career success. This is not entirely surprising given that 90% of developers overall consider themselves at least somewhat self-taught: a formal degree is only one aspect of their education, and so much of their practical day-to-day work depends on their company’s individual tech stack decisions.
by goosejuice - 100% agree. The second I got a degree, gatekeeping stopped.
Becoming an MBA candidate, the barriers were minimized even more, if not eliminated.
I can only imagine if it was a top ten school instead of top 30.
Combine a top 10 with a proper computer science degree. If only I knew and understood this was the “proper” path a decade ago or more.
Taking the harder path helped me become who I am today, but, it sure is easier to take the easier path.
If you are looking for a practical computer science degree, Georgia Tech’s OMSCS feels tailor made for late 20s and 30s. There’s no age restriction of course, but if you are younger, on campus networking is better.
I plan to do it sometime after my MBA.
by rootsudo - 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 - What is a problem LLMs can't solve?by akkad33
- Having a large vocabulary is a rote trick, writing letters in an alphabet is a rote trick, touch typing on a keyboard is a rote trick, and the DS&A stuff needed for leetcode is a rote trick as well. People should not dismiss knowing fundamentals by rote because they personally haven't needed to use them.by ThrowawayR2
- I didn’t do any leetcode, but I did some Project Euler, which was the cooler predecessor. It was a fun, but I don’t know why these gamified programming things have become so predominant in hiring. Why not hire based on Factorio progress or some Zachtronics game score?by bee_rider
- 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 - The author didn't have a CS degree so it's not classic gatekeeping: "For the majority of my career, I neither had a formal, rigorous computer science education...". The author also directly addresses the parent poster's viewpoint: "If I had to categorize the 'no need for education, no need for algorithms' crowd of our field, they’d fall into three categories: They either focus on the wrong things when developing software, they have a very shallow knowledge and lack of regard of how difficult good engineering is, or they’re utterly clueless and rely on good soft skills and politics."
Personally I agree that a CS degree isn't needed for most software jobs because frameworks and libraries hide most of the gnarly CS stuff. But those are the software jobs least likely to survive adoption of LLM-based software development.
by ThrowawayR2 - > Neither the prestigious degree nor the good proficiency in algorithmic problem-solving guarantee a career success. They are factors that make statistics work in the favor of the candidate.
I think the article takes a more nuanced view than you suggest. And the existence of counterexamples to a "for the most part" claim are not counterexamples at all.
by cvoss - I think it honestly not even a signal of how good anymore. It's become noise in my experience..
I've worked with an absolute leetcode beast and had a masters in CS. He insisted we use Redis for a project with a lot of relational data. We ended up building a mini relational database on top of redis. Whatever you're imagining about the dev experience, it was worse. He was a lead/senior engineer at the company. Turns out he never bothered to properly learn SQL because he didn't like it. C'est la vie, ggs I guess.
One of the best engineers I worked with was a biochemist who fell in love with programming through chance.
Most of the people I admired in the industry are self taught and passionate about the craft; a lot of them are also immigrants who didn't have access to prestigeus unis. Some went to uni but admit they've been programming since before that.
You can't really learn to be passionate about the craft and to enjoy learning at any uni.
by spoiler - There are many great developers who did not get CS degrees. Might be an unpopular thing to say, but in my experience interviewing a lot of applicants, the majority of applicants who don’t have CS degrees are not in that category.
It’s always great to find a diamond in the rough who has been passed over by other companies for lack of degree and is looking for an opportunity to shine.
On the whole, a CS degree is directionally correlated with being more likely to have a good understanding of the fundamentals, algorithms, and other important context that helps more as the problems get hard. These things can all be learned by someone without a CS degree, but in my experience being open to interviewing non-traditional applicants it’s more common for the self-taught applicants to be more trial and error type devs who got to this point by experimenting and seeing what works.
I always have to give the blanket disclaimer that a CS degree does not guarantee a great dev and a lack of CS degree does not mean the dev is not good. However, I honestly can’t say that a CS degree is not correlated with better developers on the whole. I choose to interview non-traditional applicants who don’t have CS degrees, but to be entirely honest I can’t fault companies who get a lot of applicants who start prioritizing those with degrees.
by Aurornis - As someone with a CS degree, most of the people I know with CS degrees are not very good developers. This is regardless of schools, as my anecdotal experience includes people from ivy leagues. The strongest developers I've met and worked with often come from other STEM fields or, interestingly enough, philosophy backgrounds.
Again, purely anecdotal, but it is 20 years of anecdotal experience across a very broad range of industries.
- Same here, 20+ years, no degree. but have a slightly different view about folks with CS degrees.
It really comes down to the individual. Those who are good with CS degrees would likely be good without them. The majority of those who picked CS as a degree because “it pays well” are truly awful. Only a small handful end up enjoying and understand how to write code and make good software.
by mbrumlow - 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 - I've spun up an AI-assisted RoR app. Having the AI "explain this to me like I'm a human" has been the quickest way for me to learn a new environment, language, and system that I've ever encountered.
The golden days are now: We can amplify our mind's ability to get stuff done before our AI overlords supplant us.
Kind of not kidding. My opinion: Get shit done, make stacks because it's going to get interesting even if AI never advances much further. The perception that it will be chaos enough.
by zulux - I went back to school recently to get a degree after 20yrs in the industry. It's hard to overstate how helpful it is to able to open ChatGPT and ask "ok but why?" ad infinitum like children do.by inhumantsar
- > but in my professional experience, a C.S. degree is no guarantee that one has been trained with excellent taste and judgement
The range of degrees is very wide. Even within some universities you will find graduates with completely different levels of ability despite achieving the same degree. Some universities are set up to pass everyone through to graduation and the professors try to give opportunities for the really motivated ones to actually learn.
The range of degrees you will see is also dependent on where you’re hiring. Graduates from the programs with the strongest degrees aren’t applying to average jobs. They’re being recruited before they leave campus and they have a deep network of people in top companies to get referrals from.
This creates a strong selection effect where the type of C.S. graduates you encounter is dictated by the strength and compensation level of your company. Top school CS grads can go straight into jobs that pay higher than Senior SWE compensation in many markets. They’re not interested in applying to average junior SWE comp jobs at companies that nobody will recognize on their resume.
by Aurornis