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

If we're going down this road, then I claim programmers are more skilled than engineers or doctors.

90% of engineers are not inventing new things--they are merely applying codified knowledge (which they didn't create) to a new location or instantiation. In contrast, every new program is unique in the world (if it were not then it wouldn't need to be written--you'd just copy/fork/download the program).

And don't get me started on doctors. More than 40,000 Americans die each year from medical errors[1]. You really think the casualty rate from programmers--with all our mistakes--can beat that? I don't think so.

So, yeah, maybe surgeons are not the right model. Maybe surgeons could learn a thing or two from programmers.

-------------

[1] https://journalofethics.ama-assn.org/article/medical-errors/...





This is a good perspective. In most disciplines where they need some level of repeatable quality, like medicine or construction, they have constrained the environment to such a degree that they can engage in somewhat repeatable work.

Consider how well cars would work if they had to traverse arbitrary terrain. Instead, we have paved the earth to make their usage somewhat consistent.

Construction projects repeat the same tasks over and over for decades. Surgeons perform the same surgeries for decades. But in software if something is repeatable and useful, it becomes an app or a library or a framework.

Some things in software have been heavily constrained to make the terrain navigable. Cloud computing in containers is one example. But in general, there’s a much higher degree of navigating uncharted territory in software than these other fields. Even building a CRUD app is often wildly complex, not the CRUD part, but the mapping of a specific business’s processes to that CRUD app, and getting those specific employees who currently work there to use it, is itself quite a novel undertaking.


Sometimes I wonder how many people die indirectly from specific decisions. Like, large A-pillars in cars definitely sometimes save people when the car rolls over, but how many people die each year because a large A-pillar makes a blind spot and the driver hits a pedestrian? How many people die each year due to traffic slowing down ambulances?

People dying directly due to software bugs (e.g. Therac-25) is pretty rare, but what about an inefficient network that caused congestion and made a heimlich maneuver youtube video load slightly too slowly to save someone from choking to death? I don't think there's any way to measure it, and it's almost certainly important to train surgeons more than software engineers, but I still do wonder.


I agree with you: indirect causality is what kills people. Directly attributable causes are rare because they are easy to fix.

I also suspect these indirect causes are not easy to fix. It's not like 1 or 2 bugs cause 10,000 indirect deaths. It's more like 10,000 different bugs/design flaws cause 1 or 2 indirect deaths each.


> 90% of engineers are not inventing new things ...

That raises the question of just how much of a difference you need for something to be an invention. Merely copying another program is not invention, while coming up with and implementing TCP definitely is. But is implementing another instance of a CRUD app invention? Is configuring a server invention? What about if the configuration is written by a script? The dividing line seems harder to pin down than one might at first think.


Is another CRUD app any different than another static-force analysis on a house beam? How many engineering decisions are made by software running the math and spitting out numbers?

I agree that there are degrees of invention in both, but my argument (which is, admittedly, emotional in nature) is that there are more unique decisions in software, mostly because if you don't need to decide--if there is already an algorithm for it--then you can just plug in an existing library/app.

You only need a programmer when you can't just run an existing app. Therefore, all programmers create things that don't already exist. That's the definition of invention.

I know I'm exaggerating here, but it's less of an exaggeration than saying that programmers are "poised to wreck the entire world".


Written like a true programmer.. who inflated his ego so much his belly might pop

There is no shame in being a "true programmer". Thank you for the compliment!

> You really think the casualty rate from programmers--with all our mistakes--can beat that?

I think that if my infrastructure + code had any direct connection to patient outcome, there would be a lot of harm done. Not that I'm particular bad at either, but I know the effective cost of errors is minimal, and certainly does not have a direct impact on people's health. If I had the same responsibilities as a surgeon, I'd have a much slower rate of change in my systems.

I do not in any way believe that the fact that we in IT kill fewer people than surgeons has any meaning for whether we're more skilled than doctors.


This is a good point.

My comment is really an emotional reaction to the (very common) denigration of software engineers, so don't take it too seriously.

But I also think that good software engineers can scale the reliability of their software to fit the purpose. There is a ton of software in medical devices, and despite the well-publicized fatal bugs, 99.9% of medical software works without error.

In fact, the automation of things like drug dispensing at pharmacies has decreased mistakes. I think if you deleted all the medical software in the world, deaths would increase.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

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

Search: