3 ms·
A formal degree and algorithmic problem-solving is the answer. Always has been
- herdrick 1mo agoWell written. I have a similar background and I agree with most of your observations and conclusions. Not the part about prestigious universities catering to 'rich kids", though, at least not any STEM departments.
- hellisothers 1mo agoClassic 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.
- mbrumlow 1mo agoSame 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.
- marcianx 1mo agoI agree about the existence of people who really just aimed for the grades (sometimes dubiously) to unlock a career. There were also enthusiastic folks with whom I learned a lot. While I'm an interested self learner, I significantly benefit from structured learning. I don't think I would have had the breadth of depth of knowledge if I didn't do a CS degree since I didn't think I would have done such a variety of focused projects and homework. I would "shop" for good teachers and wait until they taught to take a course. I would have lots of questions in class. At the end of many of my semesters, I genuinely felt like Neo's "I know kung fu" - knowledge given on a platter. I didn't think I would have left covering undergrad subjects if I didn't, well, feel the need to earn my keep and at least aim for higher level studies and get assistantships for initial financial independence. That being said, this was all before the YouTube era. Although, YouTube is a double-edged library of distractions and amazing educational material.
- alpha_squared 1mo agoAs 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.
- GPerson 1mo agoBecoming a good developer was nowhere in the curriculum at the CS program I attended, unfortunately. It still had some interesting topics. I think the profession evolved too quickly for an academic curriculum to cover anything relevant. Nowadays I hope the CS curriculum explicitly disregards whatever the standard industry code factory meta is, since from the outside it appears to be soulless and dehumanizing. Who wants to take 101: Hit Approve all day on your 20 claude terminals?
- visarga 1mo ago> Who wants to take 101: Hit Approve all day on your 20 claude terminals? Obviously put all 20 in tmux sessions and have a monitor agent do the approvals.
- GPerson 1mo agoThe meta has changed in 6 months so the university is investing millions of dollars to design a new 101 course: Hit approve all day on the agent which should be taking your job any time soon.
- suusjjshs 1mo agoClassical developers IME can’t properly abstract their way out of a paper bag. They’ll draw semantic boundaries everywhere but where they belong usually following tech and tradition instead of properly reasoning about it. They are generally unable to see beyond an inch of their nose and think the business comprises 75-90% software dev and don’t see how their activity is actually the tiniest insignificant wiggle in the grand scheme of things (“the suits are just there to act important”). “Don’t see further than your nose is long” they say in Dutch. I think philosophy is an excellent match for development, certainly now with AI.
- spoiler 1mo agoI 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.
- cvoss 1mo ago> 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.
- Aurornis 1mo agoThere 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.
- hellisothers 1mo agoI think your interviewing experience is valid because tech interviews have been designed to filter out people without DS&A experience which a CS degree will give you a big advantage at. Day to day job performance (for the most part, in most roles) will have nothing to do with DS&A though. If you know when to use an array vs a dictionary then you’re good for 99.99% of actual software development day to day tasks.
- Aurornis 1mo agoWe weren’t using DSA interviews at the job where I had the most leeway to interview candidates without CS degrees.
- x3haloed 1mo ago[flagged]
- zaksa 1mo agoTo be completely frank, I'm scared of missing out on not learning the fundamentals properly and having this omission bite me in the back later in my career. I also think that AI can make terrible people "look good", and some filtering isn't too bad.
- ThrowawayR2 1mo ago> "I hate to have to be the one to tell you this, zaksa.... you're not a brain surgeon." Your account has existed since 2015 so you should know very well that comments like this on Hacker News are not permitted.
- ThrowawayR2 1mo agoThe 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.
- voidhorse 1mo agoWhile I agree with this in principle, I think the market is a separate problem. As much as this is correct, the market is not going to select for competence. The market is going to select for affordability. Ultimately the most affordable worker of the future is going to be the person who knows just enough to prompt an agent to first build a feature and second fix it "fast enough" when it ultimately breaks. Companies might have a couple of people who actually know how to design systems and think deeply on hand for overall architecture, load balancing design, and serious problems but this will be a small cadre of employees. In some sense, I suspect, in relation to degrees, computer science will eventually look like the field of curation: an extremely small pool of outstanding positions looking to be filled by an orders of magnitude greater number of degree holders. Unless the bubble does eventually burst, in which case people will hopefully return to their senses.
- rcarr 1mo agoYou're missing nepotism from the equation. The salaries available at American Big Tech have made it so that graduates see a dev career as more desirable than traditional prestige industries like investment banking and law. The same nepotistic hiring practices common in those industries will also become entrenched in tech and already are to an extent.
- AnimalMuppet 1mo agoI have worked for 40 years in software. I have seen very little nepotism. Contacts, yes. Nepotism, no. I'm not denying that it happens. I don't think it's a significant driver, though.
- rcarr 1mo agoI don't doubt it, but it is also only the past 15-20 years or so when tech became a prestigious career with higher salaries than law and investment banking and not just a "job for nerds". To some extent, the latter is still the reputation it has in the UK/EU where the salaries are nowhere near US levels. At the minute I would agree that I am going off a broader definition extended to friends and past colleagues but I strongly suspect in the next 10-20 years more traditional family nepotism will seep in as the kids of millennial coders who got their break at FAANG start graduating and using family contacts to land jobs. Yeah engineering will always require a baseline of knowledge but if the basic competence is present there is nothing to suggest that tech is immune to the nepotism which exists in every other industry. The "don't be evil" days are clearly long gone.
- RunSet 1mo agoSo says "zaksa". Follow up question. Who is zaksa?
- zaksa 1mo agoI'm a pokemon
- a2ff6eeb0 1mo agoThis is a very dated view. We're in the process of offloading that to the machines.
- globalnode 1mo agoi dont think a whole degree is required for software dev, prolly better to just make it a major in some other degree like eng or sci
- tracerbulletx 1mo agoYeah it's demonstrably not required. We can just rule that out by observation. There are a million examples of successful self taught people in software.
- moezd 1mo agoIf that's the case, then why do we see increased cargo-culting, jumping on to hype trains, and less understanding on computer fundamentals in general that favours more and more abstraction in this field? It's not like we're in a rush to bring software out there asap, and we still have some people who measure software success by LoC. Something doesn't add up.
- epolanski 1mo ago> If that's the case, then why do we see increased cargo-culting, jumping on to hype trains, and less understanding on computer fundamentals in general that favours more and more abstraction in this field? Because leading the pack you find Harvard/MIT-bred Leetcode ninjas that are absolutely void of any engineering skills, any whatsoever. The type of people that spend years thinking that Grokking the coding interview is a valuable way to spend time and are pushing memory leaking React+Tailwind garbage to billions of people as a living. Absolutely pathetic. If that is engineering and that is what it leads to (people rat raceing big tech while writing very poor bloated software) and that should be the elite, no wonder the rest of the world quickly figured out a degree had little to offer beyond (some) selection.
- moezd 1mo agoI haven't had much exposure to the Ivy League grad engineers until now, but if they are also on Leetcode treadmill and about grokking interviews... yeah we're in a bit of trouble. I thought they would bring in fresh ideas instead.
- petra 1mo agoA 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.
- ElatedOwl 1mo ago> 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. I’ve worked with plenty of people like this that had degrees. A few of them even have masters. > The people I wrote above weren’t considered bad performers. Did management - the people who are supposed to deal with the issues described - have degrees?
- Dove 1mo agoExcellence 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.
- hellisothers 1mo ago[dead]
- zulux 1mo agoI'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.
- Aurornis 1mo ago> 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.
- jnwatson 1mo agoI 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.
- deleted 1mo ago[deleted]
- accountrequired 1mo agoI removed dot zip from the interwebs using dnsmasq. https://web.archive.org/web/20260822143156/https://zaksa.zip/blog/formal-education-is-the-answer/ https://web.archive.org/web/20260822143156/https://zaksa.zip... address=/.app/0.0.0.0 address=/.vercel.app/0.0.0.0 address=/.zip/0.0.0.0 address=/.mov/0.0.0.0 address=/.so/0.0.0.0
- dist-epoch 1mo agoMilk takes 3 days to age. This is already spoiled.
- briandear 1mo agoCrazy. 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.
- mcv 1mo ago> 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.
- tzs 1mo agoAdd John Backus (FORTRAN) to that group. Like Grace Hopper, got his degrees long before CS degrees existed. His bachelors and masters are in math. Dennis Ritchie (C) got his degree, bachelors in physics and applied mathematics from Harvard, after CS degrees came into existence but 20 years before Harvard offered a bachelors degree in the subject. At the time those interesting computing could study it as a special track in the applied mathematics program. At a lot of research universities I think that was the general pattern. They start a CS research department which takes on graduate students and offers PhD and masters degrees. Then they start offering undergraduate courses, but no degrees. This can go on for a while. Eventually they add undergraduate degrees. When I was a Caltech student (class of '82) they were in the "this can go on for a while" stage. My degree is in math but I took all of the undergraduate CS courses they offered. It wasn't until 2004 that they finally started offering a bachelors degree in CS.
- jdw64 1mo ago[dead]
- MisterKent 1mo agoBased on the comments here and the content of the post... I sort of agree. But maybe less so directly with their gatekeeping. But maybe we should formalize closer to "real professions". And if we think college degrees don't matter, there's plenty of professions that require time on the job, rotations, flying low/no passenger planes, and so on. We require people get a license to own a firearm (or ostensibly should...). And AI can be an extremely powerful weapon. I see a gatekeeping argument. I don't agree with their requirements. I'd rather see that regulation than banning models. It also has the side effect of preventing AI from taking jobs as aggressively, keeping it at bay in schools, and getting people to maybe respect(?) / acknowledge the dangers involved here.
- visarga 1mo agoWhat you are saying is impractical, we cannot uninvent AI or force all countries to abandon it, a simple laptop is sufficient compute to run it. Licensing to access AI cannot be implemented. Why stop at AI, maybe we should license people to use the internet as well? Own computers? Electricity could also be a powerful weapon, should we only trust some people to have electricity?
- goosejuice 1mo ago> 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.
- rootsudo 1mo ago100% 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.
- codemog 1mo agoGuy 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.
- bee_rider 1mo agoI 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?
- ThrowawayR2 1mo agoHaving 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.
- akkad33 1mo agoWhat is a problem LLMs can't solve?
- ddj231 1mo ago3 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.
- TehShrike 1mo agoEven if you take the problem seriously as he describes it, it is delusional to imagine that a formal degree would be the solution. Not that I would consider a "licensure required to use a sharp knife" kind of world, even if it would solve some problems.
- bewareofscams 1mo agoYeah, no.
- spudlyo 1mo agoI'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.
- dbalatero 1mo agoWhile 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.
- culebron21 1mo agoI think the post has kinda contradictory parts. The beginning says that a requirement of formal training, like in medicine or architecture, or transport planning, is desirable. But then a number of examples are given, that suggest that degrees are orthogonal to skills and promotion, and instead being aggressive promotes better than excellency. So how a compulsory degree would fix this corrupted promotion mechanism?
- matltc 1mo agoI got into this stuff super late. Have kids and a job. Would love nothing more than to go get a proper cs degree. Would probably go for computer engineering. Alas, my undergrad GPA was poor, so grad school is out. Can't picture dropping six digits on a degree from like Trump University or wherever, and seems silly if not impossible to go get a second undergrad. Sucks because my alma mater had an amazing cs dept, I just didn't know or care back then. Oh well. Especially with advent of agents, I have dropped all illusions of ever getting paid for this outside of like freelance work. Will keep working through cs:app3e for the love of the game.
- satisfice 1mo agoI’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.
- entwife 1mo ago"It takes thousands of hours of practice before someone is authorized to use it on human skin," This is not true, or at least, the practice that medical students do leading up to their first involvement in a surgery is not with a surgical scalpel.