> 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.
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.
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.
That's why trains work, but Google's shitty YouTube often does not: Terrible, terrible video player, tons of crap on the page, broken buffering all the time, huge memory and CPU hog, need to log in to even watch a video if using a VPN, insane key bindings that are switched around depending on full screen mode or not, stupid and manipulative ads that only the uninformed or simple minded can tolerate, and the list goes on. Found a bug? Keep it! You won't reach another human at Google being to tell them about it anyway!
I find even standard HTML5 player better than YouTube's player. So many issues with YouTube's player. Sometimes not even the play button works properly.
We watch ads. We are tracked like animals. That time, attention and loss of privacy *is* payment. For this, it’s reasonable to expect a service that aspires to rise above shit-show.
>my engineering licence would be revoked and I would be kicked out of the industry.
This isn't because you're a "real" engineer, it's because of regulation and industry licensing around specific engineering disciplines that didn't exist until the start of the 20th century. Railroad engineers in the 1800's didn't have the same set of regulations to follow, or the same liability for mistakes.
Software engineering could have similar regulation and licensing set up, though I think you'd find it to be an impossible uphill battle in today's world against the lobbying power of the big tech companies.
I think the general hacker culture of most programmers prevents this. There's an undercurrent of anti-establishment, anti-authority, anti-management, etc... To think that the industry might choose to self enforce a license system seems very unlikely.
I've come to dislike hacker culture. Worst part is that when the hackers succeed with their objectives and take over systems; they become the authority coordinating others and they are often 10x worse than the authorities who came before them. They just focus on extracting money for themselves, pulling up the ladder behind them and building moats instead. There's nothing anti-establishment about it at the end of the day, they just join the establishment and make it much more oppressive for the next generation.
I think another reason this hasn't happened is sheer complexity of the modern software stack. No one fully understand how everything works, in principle or in details. You can't certify someone or establish principles for things no one understands anything about.
So no one working on railroads before 1907 was a "real" professional? That's more than 100 years after the railroad was invented and took off.
The Bar exam in the US didn't start until the 1780's, so lawyers before then weren't "real" professionals either?
It's a ridiculous argument.
A better one might be that the externalities and opportunities for software engineering to kill people, or be directly tied to deaths or negative outcomes, didn't exist or weren't well enough documented until recently. As an immature field/industry that's not surprising, but it does point to a responsibility by the community to push for standards that don't currently exist.
Software engineers have a widely-shared belief that most software issues are far less severe than those found in civil engineering. Even a security breach — arguably the worst issue there is — rarely results in any meaningful consequences for those whose data has been breached.
I don't think this belief is entirely justified, but as programmers, it's really hard to predict when our actions suddenly become life-threatening, so the belief persists.
My college ethics professor told us a story where a few people died at some concert somewhere in South America, because a software developer at a data analytics company pushed a config change that made all apps with their SDK crash on launch, and that included the ticket app needed to get into the concert venue. The mob, when learning that they wouldn't be seeing their favorite artists due to a software bug, got very agitated and trampled a few people to death.
I think there is a fine line. YouTube is not critical software and no one’s life depends on the safety (putting mental health aside) of the code running. Some software engineers do however write code that is critical, but to your point, I don’t think they are ever considered liable.
I went through an acquisition as a Canadian software developer getting acquired by an American company. They wanted us to be called engineers like the rest of their SWEs but in Canada it’s a protected namespace. It’s illegal to call yourself an engineer without having the ring and the papers. Which personally I can appreciate.
Once I worked in a company that had an ex-Googler on the board, who insisted on calling us engineers and wanted us to call ourselves that. In swedish, of course, 'ingenjörer'.
It's not a protected title in Sweden, but we still refused, because we were nothing like engineers. We were a minuscule team of mostly self-taught hackers who happened to be employed to solve business problems in a system for managing other companies and their customers. I had some idea of the rigour of engineering but my colleagues did not, still, they also weren't willing to appropriate the title.
This lead to meetings with this person being quite uncomfortable at times, embarrassing even. To me it was an obvious sign that they were unfit for managing roles. Two thirds of the team, me included, resigned at the same time after they had been increasingly active in the management of the technical department.
Since he was on the board the CEO could not get rid of him even though he knew that this person was destroying the dev team.
I worked for several American companies in Sweden an all of them insisted on calling us engineers. Many I work with happen to be engineers, but I dropped out before getting my (computer) engineering degree. It's embarrassing. I would never call myself a software engineer or any other kind of engineer (or a doctor or lawyer or anything else I am not).
If I must I call myself a software or systems developer. I make changes aimed at some improvement to software systems involving machines and people in a way that is more like a craft than engineering. In my view I'm closer to a plumber than someone with a degree in technical engineering. I take some inspiration from engineers, but unlike them I work in an environment where simulation can be as good as the real thing, because both are virtual, and simulation is exceedingly cheap. It is not when you're building an ocean going ship or a bridge or a nuclear reactor.
I can also tell my tools to automate my work once I understand it well enough.
One of my more senior colleagues at that company called himself a 'fixer', because to his understanding, what he did was fix things.
Youtube should consider their engineers responsible for the software they write. Big companies these days are just bureaucracy tricks and politics. There's a small handful of real talent, but they're quickly moving to new startups.
Also, I'm Canadian as well, and almost everyone calls themselves "software engineer" these days. You just can't say P.eng. in your title. You could be forced to remove it from linkedin/etc if you're called out, but it rarely happens.
Your latter point is legally incorrect. The protected term in Canada is “engineer”. If someone calls themselves an engineer without a P.Eng, that’s an offence.
Revenue generating services aren’t the same as critical infrastructure. This bug, I would argue, does not hurt creator’s revenue in a substantial enough way to call it “safety”.
> This is a prime example of why programmers are not seriously considered engineers.
Yup, most don't have the spine to stand up for their moral as they grew up creating low-stake toys. On top of that we have been unable to establish the rigour (proofs, automated-verification, proper design thinking beyond the next 2 quarters) and doing so is really hard and often doesn't have drawbacks comparable to losing speed against teams that just keep throwing stuff at the wall.
It's worse than that. Google will get rid of you if you are just fixing bugs. Ergo, the people who are inclined to fix are forced out or forced not to fix.
> because of a performance review my engineering licence would be revoked and I would be kicked out of the industry.
Does this happen because train companies just decided to care or because regulators got involved? I believe it was the later. Regulation is often derided here on HN but good regulation does improve things.
Europe has the Cyber Resilience Act and of course the more well known General Data Protection Regulation. They do not mandate licensing but they do establish liability when something goes wrong
Engineering and math follow logic - they model reality / self-consistency and always correct themselves because of the scientific method. However, computer science is a chase of what is the most popular at the moment. Those are decisions based on the crowd, not anything close to an objective opinion, and the wrong choices are compounded every day[0][1].
The issue is a bit more nuanced. Where I live, software engineering is regulated in the same way civil engineering is. The main difference is that you don't usually need an engineer to sign off for software projects, but I dont see a big difference between PE certified projects and those that are more "agile". And we aren't some sort of SWE quality haven either.
Generally speaking i agree that we need better control over titles and competence but youtube is still an incredibly massive engineering achievement as a platform, has been extremely reliable all things considered, and it's been mostly built by people without those certifications or regulations.
I used to be a sysadmin at hospitals. There is software in everything like biomed devices, imaging machines and even the humble email system that I maintained.
Other examples of critical software systems include banking and voting.
I have never _ever_ called myself an engineer even when I was encouraged to.
Yes, of course you are correct. I should have been more specific in my response. I can print("Hello World") and I am not an engineer. I have a BS in accounting but am not a CPA, and that is also highly regulated.
The point I am trying to make is that we are building a society on software that has no legally binding standards but has serious impacts to all of us.
"engineering - the application of scientific and mathematical principles to practical ends such as the design, manufacture, and operation of efficient and economical structures, machines, processes, and systems"
agentically vibe coding a website with some minor manual tweaks? adding bullshit to a product for the pure purpose of profit maximization at the detriment of the end user? moving fast, testing user engagement instead of user safety, and being okay with breaking things? .... not engineering !
following an agreed set of processes to formally maximise product safety & consistency eg. adhering to medical device standards for software development? .... engineering!
> This is a prime example of why programmers are not seriously considered engineers.
The civil engineer who builds a great suspension bridge probably looks down on the one who builds a bridge over a irrigation ditch in a rural county using a big metal pipe covered with dirt.
Much like you may look down on train builders who make the novelty trains for kids parks.
Software engineering happens to be useful everywhere and most stuff in life is low stakes and the economics do not exist to make it perfect.
However, in aerospace, banking, and other high stakes industries software engineering projects are met with the rigor that is called for.
In the country where I live there are two university degrees: Computer Science (depends on Mathematics) and Information Engineering (depends on Engineering). I took the latter, where there is more maths (despite not depending from the Maths department), physics, electronic, automation. I now work with healthcare data: a highly regulated field. Can you please explain what is _not_ engineering, given this context?
No one is saying all programmers lack engineering discipline. It is simply not required for all programmers, even in many situations when it probably should be.
It's YT creators vs people on/in front of/around trains. People with real jobs and real impact. Nobody would have invaded Iraq if those planes back then crashed into a Hollywood studio. ( exaggeration, chill out )
If a programmer fucked up something "train leaks" related and he ignored that because of xyz, there would be trouble.
yeah, and somebody mounting i.e. some sort of audio/video equipment might make a mistake of putting flammable wire through firewall, while a software engineer in a different field (i.e. embedded or network firewall) might get lawful action in case of a design flaw
Licenses and reprimands are not bulletproof as those are often portrayed: take 737MAX for example, or Ford Pinto, or bridges, which fail every day as it seems
The post-mortem on an incident is where it's at. Unfortunately most of those are proprietary and unseen by the rest of the world, but when a load bearing (are humans allowed to user that phrase still?) website like Google or Stripe went down, there's a level of rigor that isn't seen by the public to ask the five why's, or another framework that makes software look like real engineering. Problems are going to happen. Things after going to come up. The question is what you do after that, which determines if it's a serious thing or not.
Software should always be treated as the artisanal, crafts-person like work that it is. There is far more subjectivity and design/aesthetics (not relating to GUI, etc) in the design of software than most will admit.
The entire rail industry suffers from massive deferred maintenance issues that manifest as serious safety concerns. This shit happens in every industry: dieselgate, 737max, flint water crisis, PG&E camp fire, etc. Let's not pretend one engineering discipline is holier than thou -- especially when the consequences are derailments versus some leaked youtube videos.
Less so in those that actually have any barrier for entry, you do need an actual degree to be an engineer, an MD to be a doctor, a forklift cert to operate them in a warehouse, while anyone without any certification can write software.
If we're going to gatekeep the word "engineer", you're not in the most defensible position as a train designer. If you want to go back to the original definition, engineers were soldiers specialized in siege warfare, which has nothing to do with designing trains. Alternately, "engineer" can be broad enough to include someone driving a train, which presumably required some understanding of how the locomotive worked but was more of what we'd call a skilled technician.
i always have a little chuckle inside when i see someone using the term software engineer - i always thought it was a term they used to pick up chicks.
> This is a prime example of why programmers are not seriously considered engineers.
The problem isn't the programmers ffs. In your industry, if your superior orders you (or creates the incentive) to hide bad stuff under the rug, you have the ability to push back, at least to some degree.
Programmers? We don't have that. Maybe the few of us who actually work on security critical stuff, but some generic AI BS? No chance. You're being treated as a cog.
All sorts of employees are treated as disposable. The issue is absolutely that software engineers have no culture of responsibility or safety and no professional licensing group to enforce it for them.
The professional licensing group is what creates the culture of responsibility. Most developers would be happy to have that as it would limit supply and increase wages considerably.
> no culture of responsibility or safety and no professional licensing group to enforce it for them.
Naturopaths and chiropractors are licensed to do various things too, physicians, etc.. a license does not imply that there would otherwise exist a culture of responsibility, foundation in evidence or anything of the sort. It's an incentive structure and regulatory practice. One may even keep their license while being a monster and abusing other incentive structures that don't have a bearing on that license.
Software engineers are not typically licensed as engineers, that's all one can say without dipping into prejudice.
I'm working on automotive safety-critical security-critical stuff. There is structure and bureaucracy around this stuff.
For example, a project gets a safety managers assigned who has to sign off the release. Project management is explicitly not superior to this safety manager. In most cases these safety managers are just there review stuff according to some process guidelines. If there is pressure (project is late, etc), there are more senior safety managers to call in and they will usually make more nuanced safety arguments (in this specific case, violate this guideline, but at least do X as mitigation).
In the end there is bureaucracy. Things need to be signed and archived for potential law suits. Not having archived things will be even worse in the law suits.
The upside: As a programmer, you don't need to argue that you need some time for unit testing.
The downside: 100% test coverage is mandatory and it really gets enforced.
Programmers work on trains too, you know. Some of the busiest metro lines in the world are fully automated, pretty sure that code is held to a higher standard than some shitty YouTube feature.
I remember hearing this perspective when I first started in the software industry, and I agreed with it for quite some time. But frankly, we’ve never been further from it.
Last year alone, 40 people died in Spain in a train derailment. In total, how many people have died over the last 100 years because of something a software engineer did?
ETA: Admittedly the above is getting off-topic from YouTube, but I can easily imagine a scenario where an instructional video was deleted due to a spurious copyright strike or some other stupidity.
Not just accidental, there are many tools/processes/weapons that are powered by software written by engineers who knowingly write their code to do harm.
But people gotta eat and all so who am I to blame.
Probably many, but how many is the result of the title of someone's IP leaking? Other than private video titles, what can this AI actually access? I doubt it has bank account information or any other PII that could cause actual damages. The risk is real but the impact is incredibly low.
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.