Hacker News new | ask | show | jobs
by brailsafe 24 days ago
> This is a prime example of why programmers are not seriously considered engineers.

Seems to me like your comment is simply an example of prejudice.

You're just describing another standardized incentive structure that you're operating in, and using that as a basis to extrapolate that programmers of all kinds—whether they work on a video platform or on machinery that could cause catastrophe if it fails—are implicitly careless careerists who refuse responsibility by nature.

8 comments

Other fields of engineering usually have a regulated licensure, upon which they can call themselves a Professional Engineer. This gives them the ability to make final approval/sign-off on designs and technical reports. It's most common in civil engineering, where a PE license is required for all publicly funded projects (and most privately funded ones as well, due to local/regional/national regulations) to be approved.

This license requires the holder to uphold code of professional ethics, and makes the engineer themselves be personally responsible for the safety and viability of the design itself. Losing a PE license is rare, but it does happen. The industry board (usually a regional board) can also discipline/reprimand engineers who fail to meet the professional standard - rubber stamping projects, personal misconduct, etc. Losing a license is a huge deal, but even reprimands can have a serious negative impact on someone's career.

In the industry the previous commenter works in their hypothetical would absolutely meet the bar for discipline or reprimand.

The incentive structure you're describing is also a major contributor to cost disease.

Every decision to increase the cost of a product is taking that money out of the customer's pocket which they then can't use to buy more nutritious food or medicine or make rent and avoid becoming homeless. Every additional tax dollar spent on inflating the cost of an infrastructure project is one that can't be spent on cancer research or Pell grants or catching pedos. Moreover, that type of "tax" is highly regressive because when you make e.g. housing cost more, only the poor become unable to afford it.

Meanwhile the system you're referring to gives the engineers the incentive to be excessively risk-averse. Give someone the authority to command that resources be allocated to something and liability for not allocating them but no liability for what happens to the people the resources were allocated from and the result is not an optimal system.

It goes beyond engineering. An account just out of university isn't allowed to sign off on anything, only after a next step can they co-sign, and they need yet another step to be the primary signer.

Depending on the country, there's also a level you need to attain as lawyer to argue in higher courts.

The problem with software is that software doesn't care about where it's built. Jurisdictions need to balance safety and quality regulation with the fact that you can just make the software somewhere where the regulations aren't so onerous, and most software is made very far from the place where it is used.

If you're making a bridge usable by residents of Springfield, that bridge has to be in Springfield, and it has to be made by Springfield engineers following Springfield laws.

You also don't need one of these to build a garden shed in many jurisdictions. So there is a spectrum. And the question is, is YouTube more like a skyscraper or a garden shed?
The prejudice seems to be everywhere. Unfortunately, to my knowledge.

Eg. architects vs construction engineers vs land surveyors vs construction designers vs urban planners… anyone of them thinks that their profession is more valuable than the others…

By now there seem to be unfortunately more careless careerist programmers on the job, than dedicated engineers. In a proper CS degree we do learn about engineering methods. It is up to us to also make use of them. Someone who graduated from a bootcamp likely will not have the tools to actually engineer this stuff, unless they got some prior experience in engineering.
> You're just describing another standardized incentive structure that you're operating in

Yeah, that’s the point. That incentive structure includes going to prison, and employers aren’t willing to die on that hill because it exposes them to insane liability if they go against a certified Professional Engineer.

It's because the first sentence of the American Society of Civil Engineers code of ethics is:

Members of The American Society of Civil Engineers conduct themselves with integrity and professionalism, and above all else protect and advance the health, safety, and welfare of the public through the practice of Civil Engineering.

The first tenant of a software engineers code of ethics is:

fuck it, make the boss some money.

Or, formally, according to the ACM:

Contribute to society and human well-being.

Which means fuck-all and includes absolutely zero enforcement like it does for real engineering professions. So do us all a favor and don't whine about our discipline's lack of standards while dipshits who call themselves software engineers are tokenmaxxing a pile of shit and SEO optimizing manipulative user environments for profit.

I understand the direction of your comment, engineering doesn't guarantee security either.

Hubris is the single biggest downfall, whether it's pegged on insecurity, or a false sense of knowledge, superiority or entitlement.

The very best and most experienced people I know have deep expertise, and maintain a healthy mistrust of their own work to keep an eye on it and improving it.

Real world experience and run history is a big thing, and people can re-learn the lessons of the past over and over with their egos, or also be open to learning from others to learn quicker.

It's not hubris (for the engineer) in this case though. It is the fact that company X knows that its dept Y can thrive with 10 engineers, and stay afloat with 5 engineers, so the magic number is 5. And then it is down to the individual to convince their manager (or resign) that problem_A is bad, but problem_B is worse, but not in my P&D objectives.

  The hubris comes from the fact that the CEO doesn't hear the problems that Directors don't disclose.
  The hubris comes from the fact that the Directors don't hear the problems that Senior Managers don't disclose.
  The hubris comes from the fact that the Senior Managers don't hear the problems that Managers don't disclose.
  And Managers simply don't care to hear the problems that Engineers face because "shuddup and close that Jira ticket within 48 hour or else".
I am ~50, I have worked (now..) 20? 20+ years in Audit/Compliance, and I laugh-cry inside.... and I am NOT surprised when I read about cases like this, it's another day in the office/life..

(definitions)

The terms hubris, ate, nemesis, and tisis originated in ancient Greece and had specific meanings and roles in everyday life.

  Hubris
  “Hubris” was a fundamental concept in the lives of the ancient Greeks and was used to describe someone who overestimated their abilities and behaved in an arrogant and offensive manner toward others, toward the laws of the state, but above all toward the gods.
  According to ancient beliefs, such acts of hubris offended and enraged the gods.

  Ate
  “Hubris” consequently provoked the intervention of the gods, and especially Zeus, who sent “ate”—that is, a clouding or blinding of the mind—upon the hubristic person.

  Nemesis
  “Ate” led the hubristic person to commit further acts of hubris, until they committed a grave folly or fell into a very serious error, which provoked “nemesis”—that is, the wrath and vengeance of the gods.

  Tisis
  Next comes “tisis,” that is, the punishment and ruin or destruction of the person who committed hubris.
Have seen this so many times. And like you, having spent decades in tech, I know the cycle well. Some engineers know the problem today, but the directors will arrive at the same conclusion / concern 1-3 years later, when it becomes obvious that ... "oh this was wrong all along". But to be fair to them, they are dealing with a 1000 problems, not just this one, and that's where the management hierarchy you describe is completely liable (if someone could hold them liable).
An example of prejudice? What an extraordinary statement. It’s an example of ethical, competent, responsible professionalism.

The ‘incentive structure’ is non-financial and based on the ethics of valuing other humans. This is a professional duty. To even call it a ‘incentive structure’ feels like it’s missing the point.

The comment is prejudice to conclude from the Google Engineer's supposed thought process as fact and to say that it's an example of why he isn't an 'engineer'. But you can find classic engineering fields where due process is ignored due to systemic pressures - like the Challenger incident. They were engineers but the system was broken. So it's not good enough to spit on the ground and say this is why they are not engineers.
consequences like delicensing, and civil or criminal liability, are all significantly financial.

the ethical objectives are supported by disincentives, offsetting the financial incentives to misbehave.

and none of that exists in software engineering (yet).

While I do think there needs to be regulation of some sort for SWEs, I can't fathom how it'd be enforced. Non-coders can use replit to build whatever they want and sell it to whomever they want. That kind of scale doesn't exist in the physical world.
The prevalence of calling software development “engineering” was 100% a con job by either self-important nerds or the companies pandering to them in tight job markets.