Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This is a cool idea and I’m all for it. However, I’d like to observe that software seems to be one highly skilled profession that is trying to eat itself. All other skilled professions try to protect themselves by limiting supply. That’s why you need 10+ years of medical school + residency to become a doctor. Same with law school etc. Not saying I agree with them, but just pointing it out.


Just an observation on your comparison here, I think you'll find that the realities of the legal and medical profession are radically different from one another. Medical school limits supply because the salaries (and therefore, quantity) of medical residents are paid by the US government, and so the number of medical schools and graduates remains fairly static year to year. Law school famously has no such restriction, and so the number of law schools in the US has exploded in the last 20 years, and the outcomes for the average law school graduate have worsened dramatically.

It's reasonable to assume software development will follow the legal path (or similarly, of business grads who aspire to careers in finance) over time: a few graduates of elite universities, with some combination of greater ability or prestige-signalling degrees, will land elite jobs at global firms making six figures directly out of school, while most earn a small fraction of that elsewhere. In the late '00s / early '10s you had a confluence of events--the settlement of anti-competitive hiring case against the major industry names, a boom in revenue for tech companies, quantitative easing causing a global hunt for yield and explosion in VC, and other factors--leading to a scenario where in the span of a year or two, tech jobs went from "not on most college kids' radars" to realization that this was a well-compensated career. In 07, my top 30 university nearly shuttered its CS department, which would be unthinkable now. That kind of rapid change causes a shortage. It won't last forever.


The outcomes are only bad for lawyers because they all graduate with mountains of debt and get totally shafted if they can't get a super-high-paying job to cover that expense, and those high-paying jobs are in short supply. In some sense, though, society as a whole would be better off if there were more lawyers, and more of them were able to work for less money: poor tenants would be able to afford counsel in landlord/tenant disputes to fight unjust evictions, people wouldn't be stuck in failed marriages for want of being able to afford the legal costs of a divorce, etc., etc. All sorts of people could benefit from legal services they can't afford, and you'd think that market forces, with the increased supply, would drive down cost. It hasn't, though, because debt loads create an artificial floor.

I think exploring more of the possible solution space for how to train and pay tech folks has all sorts of potential for society as there are definitely parallels there in terms of the potential social utility of making technical labor more abundant and less expensive. Obviously there's a downside for people who work in tech and keep wanting to make fuck-you money, but so it goes.


Once CS became the hot thing to get a degree in, the impact was almost immediate. And based on my experience, it happened a decade earlier than you think.

In the early 90s, universities threw students straight into data structures and algorithms in LISP and expected fully half of them to drop out first year. By the early 2000s, the market was already full of useless grads. I was always on the east coast, but near as I could tell from the refugees I interviewed after the dot bomb, SV had been hiring anyone who could type as a senior developer, and the market just kept going downhill from then on. The schools must already have been complicit in it, because I had employees with degrees who didn’t even recognize the names of basic algorithms and data structures when the need for them arose. Now I see intro curriculum from serious schools that’s just a few loops in python or even visual programming in a browser. Less serious CS schools seem to be little more than job training programs. And of course, like this post shows, tens of thousands of coders who really have just completed a job training program are flooding the market.

When I started working, every programmer I worked with was at least competent. If they weren’t, they just didn’t have a job. There wasn’t such a desperate need for people and it wasn’t hard to find someone competent. Now I assume that someone’s code can’t be trusted until I see evidence to the contrary. I used to bring people straight in for in-person interviews or do a really quick phone screen. Then I started doing much deeper questions on phone screens. Now I have to start with a coding test, because 95+% of candidates cannot write simple programs in their language of choice, even though they’ve got a fancy degree and they sound like an expert on the phone, because they’ve been trained for that... but apparently they have not been trained to actually create software from scratch. One company I worked for had a well researched candidate screening program and was talking about spinning it off as a service by the mid-2000s. Now extensive screening is universal and there are multiple companies that you can outsource it to.

There’s no shortage of developers on the market, but there’s a real shortage of good ones. If you’re right and that shortage ends at some point, there’s going to be a sea of unemployed, unqualified coders who need job retraining or something. But I don’t see the shortage ending unless the pipeline starts spitting out more well qualified people.


The residency shortage is a result of AMA lobbying as are the restrictions on foreign doctors practicing.


I am not sure an engineering discipline would go as bad as law: in law, the people you know and the calibre of your University have a larger impact on your chances, while in engineering your abilities aree a greater component. Or so I like to think.


Thanks for pointing that out. So yes, it seems the legal profession is a cautionary tale.


Mark Twain's Life on the Mississippi is a criminally under-rated book in this aspect, specifically the first half. Twain related how riverboat pilots talked, navigated, trained, and dispensed info on the Might Mo and how they formed a union (sort-of) that kept them well off. The key part is how the pilots acted when new technology and methods threatened their livelihoods.

The parallels to modern computing and programmers are uncanny and provide a good reminder about how unions, capital, and labor all interact. Even though we imagine ourselves on some grand crusade of science and reasoning, ever towards the Kurtzweilian singularity of rationality and thinking sand, we are still bound by the same forces young Samuel Clemens was lashed into.

In general, it's a great read and a great look into the life of one our greatest writers. Highly recommended.

http://www.gutenberg.org/files/245/245-h/245-h.htm

https://en.wikipedia.org/wiki/Life_on_the_Mississippi


I think level of safety is higher for other professions; if you mess up as a doctor somebody dies, if you mess up as a lawyer an innocent person goes to jail.

If you mess up a CRUD app as a junior full-stack developer, prod is broken until somebody fixes it. And you can learn enough to not break prod pretty quickly on the fly. It's a very reversible mistake in comparison.


That is exactly why I required all of my software engineering students to write a research paper on software flaws that injured or killed people. I wish I could be more confident that all companies producing products that can harm people spent the time and money necessary to discover and remediate all defects but corners are cut all too often and the lure of cheap labor is just too tempting to resist.

Maybe Boeing and Airbus will never have an Ada developer make an error that kills a plane full of people but there's already a push for javascript to be used in embedded systems and I'm sure it's coming from someone seeing the large numbers of javascript programmers coming out of coding boot camps and similar programs.


> spent the time and money to remediate all defects

Surely you mean to design systems with modularity that helps RAM-limited brains made of meat to avoid defects and defense-in-depth which reduces the impact of defects.


You could just as easily conjure up a situation where a junior doctor or lawyer makes a mess of something trivial, while a junior developer put on a major healthcare project could absolutely do some damage to their fellow human beings.


> a junior developer put on a major healthcare project could absolutely do some damage to their fellow human beings.

Any compliant healthcare software project would keep a junior developer very far from the patient -- there are many layers of review, testing and validation that would prevent one developer's mistakes from significantly putting patient health or data at risk. Even senior developers (usually) shouldn't be able to touch stuff that close to patients.

A doctor literally has their hands on a patient. There isn't a review pipeline that makes sure a doctor's mistakes are caught before they reach a patient.

(That's not to say mistakes that harm patients don't happen in healthcare software, just that it's hard for one developer to cause harm without many others approving it first)


Interesting perspective. In my mind, the fact that any one developer has the tools to think up, create and launch applications that deeply alter our society, has already done more harm than any single doctor has ever done and probably could ever do (at least by putting his hands on patients).


I couldn't pay a late bill once because my ISP's website was down for several days. Luckily for me I could afford the fine.

Imagine if this is your power company and a bugged website means you can't pay your bill before your power goes out.

Problems in prod can have affect people's lives.


That may be generally the case for now, but as software becomes ingrained in more of our daily lives, especially things like healthcare or autonomous vehicles, bad code could absolutely harm/kill someone.


There is absolutely no situation where safety-critical code will be pushed to production builds without extensive testing, analysis, and verification, if the org standing behind it wants to live. This holds for medical device technology and autonomous vehicles. Furthermore, there is no situation where a junior full-stack developer with five months of experience will get anywhere near these systems, let alone write code without thorough code review by senior developers.


What I am worried is the other way around.

Non critical software is push into production following reasonable practices for non-critical software. Then, with time, what was once non-critical became the stonewall of a much larger and complex systems and now it is a really "non-critical" system that powers other critical systems.


> There is absolutely no situation where safety-critical code will be pushed to production builds without extensive testing, analysis, and verification, if the org standing behind it wants to live.

One would hope so, but I'm not quite as confident as you are…


Except for Uber automated cars... but in general I agree with you. The safety critical development areas are generally wrapped in safety critical processes with extensive process checks, and I would suspect Uber now has better practices.


Didn't the Patriot Missile start missing because of floating point mishandling?



It is possible to cause an irreversible disaster with critical software, though, like in the infamous Therac-25 case: https://en.wikipedia.org/wiki/Therac-25


Therac-25 is brought up I like to point out that the Therac-25, which killed 3 people), was released the same year as the Hyatt bridge disaster (https://en.m.wikipedia.org/wiki/Hyatt_Regency_walkway_collap...) which killed 114. We really need a new reference case of the potential harm caused by software bugs. Perhaps the recent lion air crash will take that grim mantle.


I think parent's examples are not so great. let me list some for you:

CPA, even for being a barber you need to go to school for 2 years and get a degree, electricians, if you even want to work on nail, you need to be certified!!!!!


CPA: You do it wrong, IRS audits you for years.

Barber: You hold a sharp object to somebody's head wrong, you could take out a chunk of scalp. If you're malicious, you could do more.

Electricians: You do it wrong, you can literally fuse your corpse to the thing you were working on.

All of these are greater consequences than having prod going down. In these fields, things can go very wrong very fast, and all these professions are right to same some form of certification.


Barber: you don't need a two year degree to learn how to use scissors on someone's hair without cutting into their scalp. This is something anyone with basic motor skills can do. And if you're malicious, you can just as easily run out into the street with scissors and start stabbing people. You don't need to get a job as a barber to give yourself that opportunity.

>>In these fields, things can go very wrong very fast, and all these professions are right to same some form of certification.

Licensing is not the same as certification. Licensing means you are forbidden from doing something until you meet certain conditions. In any occupation where the parties subjected to risk are consenting to that risk, there's no possible justification for such a restriction that doesn't involve a paternalistic argument that people should have their liberty curtailed by the state for their own good.


Writing code is one thing, knowing how to guide an organization of any size greater than a handful of employees to design software solutions and manage the change of rolling it out is an entirely different ballgame.

As software eats the world, people with 10+ years of field experience working at high organizational levels aren't threatened by a supply of people learning how to code any more than a surge in people learning to be medical office administrators threatens those doctors with the 10+ years into medical school and residency.


Exactly this. No program can produce graduates to compete with experienced engineers. So it's not a threat to experienced engineers. It does force us though to keep learning, otherwise we might well find ourselves in competition with people with less experience.


Not to nitpick, but the supply of doctors is limited first and foremost by the number of residency spots available every year. The length/cost of med school is a deterrent, but it by no means has prevented med schools from filling their seats.


Progress in the software industry is tightly coupled to the advancement of human technology. I don't mind personally being made redundant in the face of progress. It's going to happen to a lot of other professions within the next 50 years as well.


I think this is a thought worth discussing.

It’s a problem larger than the field.

I mean, in an ideal world we could even render doctors redundant in most cases by some incredible Elysium(the film)-like medical bed.

The problem is what do we do with our time instead? It’s a question that can inspire all kinds of hope or dread depending on your outlook.


Its not a problem of time. Plenty have been born into wealth that never had to commit themselves to anything to survive. Anything they did was self motivated of their own accord - they could have lived and died a consumer of an endless stream of money.

Its a problem of convincing the society that its not anyones place to dictate how someone else decides to spend that time. There will be massive resistance to any economic model other than the established scarcity based capitalist regime enshrined in most of the west for the last 150-200 years. Trying to ensure the fruits of the societies labor that led to that automation are properly apportioned to said society will be a long uphill battle against people of substantial greed that see automation not as a liberating force for humanity but as a source of permanent, infinite wealth allocation and centralization.


Well said. The question isn’t really “should” we decouple income from labor. We need to begin to concieve of a transitional process. Perhaps these kinds of schools are the first step, or perhaps there are even better approaches, but we need to help those who are being kicked by the current financial model. There is so much thinking and creating that is just trashed because folks can’t afford to participate.


This is the problem with the current state of the industry. We have “startups” like this one pushing an “everyone needs to code!” agenda every which way and it’s been attracting people who just hear that working in tech comes with a big paycheck (it does and also doesn’t).

There are more Charlatons in tech than ever before.

If you don’t have an interest first in side projects and exploring your curiosity with programming, you’re probably not going to make it.


I would counter that those things are not to limit supply, but to ensure quality of service. When you're holding someone's life in your hands the profession can suffer greatly from bad actors or just those with limited skillset. It behooves everyone in those professions to make sure the quality of service remains as high as possible because bad service could damage everyone in the industry.

As we move forward and software does impact people's lives more and more and in some cases can lead to injury or death, we will see many more professional hurdles put in place. But it won't be to keep the profession pool limited.


When those other professions started out the Internet didn't exist so you needed a physical school to learn. The whole industry got built that way, standards got established etc. it isn't bc they are trying to artificially control supply (at least not initially). would be hard to change all that now

If software were to impose such restrictions it would be much harder to justify other than "we want to preserve our high salaries". When laborers formed unions they were genuinely exploited in many cases. Not sure how you rationalize a software engineering union...


Also, medical schools limit the number of seats available to prevent an oversupply of labor from occurring. This helps keep salaries very high.

Right now, the big thing keeping the supply of software engineers down is the lack of housing available near software companies, but this will slowly change as more and more companies start outside the bay area.


I will never understand why remote work isn’t more widely embraced. It’s bizzarre when an industry that prides itself on solving the big problems, and one that literally invented the web— a place where one can get stuff done without being in a dpecific place—can’t embrace the very new way of working it created, a way that would solve some serious housing issues. No one needs to live anywhere close to their “work” anymore, and yet we still have companies that force this upon us.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: