If I ignored a safety issue that I discovered - not one I caused by design but even one I discovered in an existing design - because of a performance review my engineering licence would be revoked and I would be kicked out of the industry.
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.
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.
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.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…
The real differentiator though is that the engineers of tangible things can get sued and go to jail if someone dies, but it seems tech companies gets away with atrocities (profits at the expense of teen suicides) with zero repercussions.
But, what is being described is THE EFFECT OF INSTITUTIONS ON INDIVIDUALS. This happens in every industry. The larger the company, the more disconnected people become.
Software does more than cat videos.
Examples that may be relevant:
- CAD and simulation tools that physical world engineers use
- telecommunications (not just programmers, but programmers are vital for the current ultra-cheap generation)
- CT and MRI data processing
- alphafold
- scheduling systems for universities and other schools (makes education more scalable)
- infrastructure/systems programming (OS, web browser, etc.)
Furthermore, no one would claim that civil engineering is useless just because a certain class of billionaires liked to hire them to design silly structures. So, the prevalence of the less useful things speaks more to priorities as a society than anything about software engineering itself
And honestly software engineers don’t need roads anyway working a tough four-day work week with long commute into the basement.
Jokes aside, innovation comes at a price. Every great thing will be turned into a weapon so just wait until the alpha-fold mutants start crawling out of a nearby sewage treatment plant.
Which, really, implies that 90% of people in this industry work in bullshit jobs that don’t require real engineering skills. You could even spout any BS about architecture in Medium.com and then asked to speak in a conference if it gets enough views.
C and the various C++ subsets called "C with templates" would be much less common than they are if "deep understandings of CS and DS&A" were required in day to day work.
> - CT and MRI data processing
> - scheduling systems for universities and other schools (makes education more scalable)
Those two read as if they are of different urgency (#1: whoever needs it urgently is at risk of dying, schedules for "non-urgent" cases will be affected for months, turning many into urgent cases; #2: the education systems will suffer, but it only gets dire after multiple days), until you realize that #2 also applies to e.g. hospitals.
Medicine at scale is already barely scraping by as it is (see: overworked staff etc. etc.), but disrupt the internal IT working of hospitals and the indirect body count will rise fast.
This is a fundamentalist perspective; it's hard to dispute that if we didn't have any roads, houses, or cat videos, we would need new roads more than we needed new cat videos.
It's much easier to dispute the idea that we currently need new roads more than we need new cat videos; we already have a lot of roads.
If the software made by my company ceased to exist, every government in the US, federal, state, and municipal, every construction company, plus most governments worldwide would be unable to build roads or houses until they were able to cobble together a replacement.
The entire world runs on software. Software controls our banks, flies our planes, decides what happens when you press the brake pedal in your car. The bridges you drive, walk, or ride across were modeled in software and simulated to determine whether they needed to be built stronger. The power companies use software to route power across the grid. Software drives servos which determine how much natural gas and air get pumped into our power plants. Every day, power producers and power consumers bid on how much they will pay for electricity at certain times tomorrow, and all of that is automated by software. Judges and lawyers file motions electronically, routed through software. Two weeks ago, US President Donald Trump, Iranian President Masoud Pezeshkian, and Pakistani Prime Minister Shehbaz Sharif signed a memorandum of understanding, opening the Strait of Hormuz. Trump was in Versaille, Pezeshkian was in Tehran, Sharif was in Islamabad; the agreement was signed digitally, with software.
If every computer on earth stopped working tomorrow, we wouldn't notice the lack of cat videos, but we would notice the complete collapse of civilization.
I am sure someone is going to dwell on that if not fixed.
If you want to be reductive, we’re all going to die due to entropy anyway, it will all balance out so there’s no point in doing anything at all.
There were roads built before your company's software and I'm sure if your company disappeared that ultimately roads would get built with or without their software.
It would be interesting to look at all the technological advances of the last 60 years and break them down into categories based on what happens if they went away though (category A: the field just goes back to 1950s and we more or less get by vs Category B: society utterly collapses).
The internet as a whole can arguably be all three at the same time.
We objectively don't need credit cards. We could do with cash just fine. If we were told that Visa / Mastercard were shutting down in 5 years, we'd manage to muddle through. If they suddenly vanished off the face of the Earth? People would definitely die due to starvation.
IMO what we really need in software is something like the various codes which govern fire safety, efficiency, etc of modern buildings. It exists in some safety critical domains but should be more widely applied.
The safety codes are where we accumulate the hard-won knowledge over time. Many of the rules in the codes were paid for with human lives lost.
[0] https://en.wikipedia.org/wiki/International_Code_Council
We've quietly gone from it being a research project, to a cool toy, to something most people had but that definitely wasn't essential, to a world where it is just as crucial as lightning or electricity.
I bet many farming and food distribution operations just wouldn't be able to function without a connection to AWS.
That basically never happens because the license wouldn't be worth the paper it's printed on if it didn't essentially protect you from your own stupidity. Any credentialed professional basically has to be farcically negligent for anything to stick and even if it does damage is usually limited by statute.
That's the whole point. The industry basically strikes a bargain with government to it's benefit. Government lets me run a supply cartel, I promise to enforce minimum standards along the way. Government gives me favorable treatment in court, I do whatever the government's rules say to the detriment of my customers. Society gets just enough scraps to provide the political will to get it done.
Only one of your list calls themselves engineers, because the others are not.
The whole premise of labelling someone prejudice for stating the facts is wildly idiotic.
Who, at this time, knows how to write code so well that they can dictate to others how everything should be done, and can they prove this superiority with a mathematical proof? If so, then maybe we can talk about getting bureaucrats involved to make up a bunch of rules and regulations to control everybody. Until then, it's the Wild West out here, and rightfully so.
Tired of shit code? Boycott the organizations who write and deploy it, up to and including opting out of their ' ' society ' ' altogether. Stop expecting Uncle Scam to help you. He's a scammer. All he does is scam people. It's right there in the name.
Ever notice how everything sucks these days--it's all cheap overpriced junk, like appliances, cars, houses, TVs, etc? That's because nobody in this ' ' society ' ' really gives a shit about quality or has any clue how to achieve it. That's who you want making laws?
And looks like you agree that coding isn’t engineering.
The first high-level programming language was Plankalkül, created by Konrad Zuse between 1942 and 1945.[2] The first high-level language to have an associated compiler was created by Corrado Böhm in 1951, for his PhD thesis.
How long are you going to keep claiming programming is a brand new discipline?
Okay, engineering proper has thousands of years of history. But it’s not like coding came down in the last shower.
Fair enough that any random app probably doesn’t need to be probably correct. And that’s why it’s not engineering.
The practice of coding is a science and an art.
I guess we should make a distinction between Engineering and engineering.
Lower case e engineering is the design and manufacture of complex product - in which case, sure coding is engineering, and coders are engineers.
https://en.wikipedia.org/wiki/History_of_programming_languag...
The defining feature of engineering as a profession isn't how much we collectively know about it, it's the attitude we bring into day-to-day practice.
Take something like the Sony BMG rootkit scandal[0]. Anybody with an ounce of sense and even basic technical programming knowledge could tell the sort of security issues that that piece of software could lead to. Shipping that thing was the sort of recklessness that would get you stricken from any industry's professional body.
Or maybe something like the UK's Post Office scandal[1]. One of the issues there was that post offices sold foreign currency. People were accused of (and, indeed jailed for) fraud because their branch sold $100, there's £70 in the till, and the reconciliation process says that the exchange rate is $100:£80, so there's £10 missing. Horizon had no way to track that the exchange rate at the time of the transaction was $100:£70, they literally shipped a billing system that handles ForEx but doesn't understand exchange rates change over time. And then they lied about it and said the software was working correctly! This isn't an issue with "revolutionary new tech" that we don't fully understand, it's simply a fruit of having an accounting system designed with no actual accountants in the loop. If an accountant had made this exact same mistake, their licence would almost certainly be revoked, but it's somehow ok because computers are involved?
> If so, then maybe we can talk about getting bureaucrats involved to make up a bunch of rules and regulations to control everybody
We don't need "a bunch" of rules and regulations. We only need one: You're liable for damages resulting from reasonably predictable outcomes, as judged by a panel of your peers.
0. https://en.wikipedia.org/wiki/Sony_BMG_copy_protection_rootk...
1. https://en.wikipedia.org/wiki/British_Post_Office_scandal
I am of the opinion that companies and their management should be personally liable for damages caused by bad software, not their employees. They created the structure, hired everyone (and perhaps didn't hire QA), and invested in it to make a huge profit.
On a more serious note, I'm not saying "just make programmers liable for the code they write", and leave it at that. I'm saying that, when you sell a piece of software, someone needs to sign-off on that software being fit for purpose. It's that someone who's ultimately liable. Absent some explicit firebreak, that sign-off implicitly happens with the CTO or CEO.
On the other, the severity of the consequences of the bugs in Horizon came from the behavior of Fujitsu management, the Post Office, and the judicial system, and I'm not sure that individual developers could have reasonably predicted that. The software was used under contracts that tried to make individual users personally liable for errors in the software. When accounts had shortfalls, the Post Office ignored even basic sanity in favor of insisting on Horizon's unerring accuracy. They abused esoteric powers of private investigation and private prosecution combined with their own vested interests to bring completely unreasonable prosecutions. They, along with parts of Fujitsu, repeatedly made false statements to courts about Horizon's basic operation, if often with enough distance from the actual developers to claim ignorance. The judicial system then operated under delusional and hubristic views on software development and practices around experts, witnesses, and coerced pleas that one might argue no reasonable person would have.
If a clearly negligent and unqualified engineer constructs part of an office building for a business with numerous avoidable tripping hazards that violate even basic standards, it seems reasonable that they might be liable for the injuries when employees trip on them. If it turns out that the business has a special right to shoot its employees with no consequences, decides that it would be better to shoot anyone who trips rather than admit to the building being fundamentally flawed, and then repeatedly has courts approve of its actions, I'm not so sure that the engineer should be held liable for mass murder.
In the Horizon case, I'm thinking of people like Gareth Jenkins. He was the guy who designed the system, and also one of the expert witnesses you mentioned. He's the one who should be held to the standards I'm talking about.
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.
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 ethical objectives are supported by disincentives, offsetting the financial incentives to misbehave.
and none of that exists in software engineering (yet).
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.
Depending on the country, there's also a level you need to attain as lawyer to argue in higher courts.
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.
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.
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.
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.
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.
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 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.
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.
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.
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.
When the rat presses a lever, don't blame the rat. This is super reductionist of course, but I always keep it in mind.
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.
Bill Gates who became a billionaire out of writing software built a company that always had as a mission commoditizing software engineering work
Professionals (members of a profession) self-police, something software engineers don’t do.
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.
Introduce the same system at train engineering companies and you'll get the same result.
I'm a programmer working in healthcare. If I ignore a safety issue anyone discovered, people die and we go to prison. Am I an engineer now?
Other examples of critical software systems include banking and voting.
I have never _ever_ called myself an engineer even when I was encouraged to.
It is foolish to leave this field unregulated.
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.
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!
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.
Thinking software developers have done no wrong (deliberately or not) ever is just borderline naive.
But people gotta eat and all so who am I to blame.
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.
You can blame the subsequent action on the individual but if the footage leaked due to a bug Google refused to fix are they completely blameless?
2. If you upload sensitive footage to a public video sharing website, I don't really have any concern for that footage being leaked.
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.
Train safety issues kill people.
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.
Programming is not serious engineering because real engineers don't half ass everything. <- you are here
No wait, programming is serious engineering because the way they do things is shit too.
Source: Aerospace employmennt
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 only good investigation on the matter I've seen is this one: https://www.hillelwayne.com/talks/crossover-project/
and it states that yes, software engineers are in fact engineers -- and some investigation of the same order of magnitude is needed to disprove it
Jumping to a pretty general conclusion there. Incentive packages like the parent described are not the norm.
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 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.
So it wasn't even anything related to the app's purpose, it was a frivolous surveillance SDK that got people killed.
and that's why trains work but you have to pay a higher price to use it, while youtube is shitty, and breaks often, but it's free to use.
It is about the trade offs - not the trade offs that someone talks about passively, but actual action based trade offs; ala voting with their feet.
Which proves something about ads: there's a law of conservation of ads. If you're not claiming the ad space, your upstream suppliers will.
This is false. Nothing is free.
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.
If you can’t figure it out on your own. If you can’t think like an economist, then please ask your favorite LLM.
This isn’t Reddit.
Alternatively, perhaps Google has a culture problem where it encourages crap like this?
Us engineers do have our priorities straight.
If a programmer fucked up something "train leaks" related and he ignored that because of xyz, there would be trouble.
I feel like part of it is the "over-systemization" of promos. I see the logic behind it to some extent - if there's a system, it's "fairer"/"more democratic". But, then we end up with ridiculous gamified promo systems.
subjective systems become politicized
pick your poison
It not likely to happen because being small there are more threats or market forces to deal with so they cannot do as they please. Monopolies or just economies of scale affords large co and the small number of executives that control them outsized influence - both good and bad.
A good promo process needs to notice the invisible
Apple did it for decades
Back in Snow Leopard days you could instantly crash the kernel with a fuzzer. In fact I managed to do that accidentally by hand. NT kernel had much more systemic hardening than XNU.
Apple also treats employees capriciously and in non-standard ways. Your experience is almost entirely dependent on who your manager is. I have never heard any of big tech make so many false promises to employees. I have friends who negotiated for an immediate green card application upfront, but they later found out they were bait and switched, etc.
I don't think it was distinct enough from the Google culture like Android was at the start of the acquisition but it seems they had leeway to do their own thing.
- ads every now and then
- addictive shorts no one needs
- suggested videos nobody asked for
- geo ban of videos
They're paying a marginal cost compared to us plebs, yeah, but definitely not "free", especially when YT is allegedly responsible for 1/6th of global internet traffic
That's a thought that doesn't even deserve further comment.
I assume that's why they wrote good and not successful.
It's an average software product with incredible scaling behind it and a lot of elbow grease to keep it chumming along, but it's not great software by the definition of "bugs actually get dealt with"
Not saying that this is the trade off you have to make but if you have a working mode in place that achieves usage and money somewhat consistently i can understand being hesitant about changing it to optimize for less bugs instead.
Similarly, most people don't put much stock in the salesmen of a product describing their own product as great.
Stop debasing all of quality to profitability.
Why do you think they would compromise how good their software is merely to save lives?
Weapons are a great product for weapon dealers and manufacturers as well, just not so much for the people killed by them (or their families, or survivors)
So sure, if making a shitload of money is the metric, YouTube is a great product.
That wasn't the point of the person you answered to though.
Sundar (CEO) is from Mcksinsley.
Ruth (President) is from Morgan Stanley.
TK (Cloud CEO) is from Oracle.
Mohan (YouTube CEO) is from DoubleClick which is Google at this point (~15 years).
---
Largely the story of the past several decades is that "doing your time" is a bad strategy. Always move to another company to go upwards.
1. The engineers on the VRP teams set the severity of the bug based on impact. The engineering team responsible for the fix can argue the severity but only if they can show there is some other mitigating factor that the VRP team wasn't aware of.
2. Google has a great security culture and while it may be true that maintaining existing code may not be as sexy as building new features, fixing vulnerabilities does look good on GRAD (performance) because the impact is already well documented.
3. Believe it or not, the VRP team does like to give away rewards. However, to do this, they have to follow a rubric to keep all of the payouts consistent and fair.
4. Constructive and polite discourse is welcome and a researcher may reply to their bug asking for more details or to make their case in the event that they think the VRP team did not understand the severity. The team is made up of humans who are open to the idea that they missed something in the initial report. They, like all other bug bounty programs, are also struggling to keep up with the huge influx of AI generated slop so mistakes can happen.
I'm not saying that excuses it, but it is one likely explanation for how it happened. When looking at just one report, the response seems negligent. When looking at a pile of 1000 nonsense reports, with a handful like this, I understand the difficulty.
And it's slowly becoming the norm. The last place I worked at, a large and well known Tech company, didn't even roll with QA's. That just wasn't a role anywhere in the division. You are fully responsible for all the bugs in all the code you ever wrote
Cute at first. Unsustainable in the long term
People only spend a couple of years at each company anyway
Don’t make other people QA your work; if you’re not able to figure out how to do that yourself while you work you’re legitimately bad at your job.
Once you leave an employer obviously you have no obligation to fix bugs in IP you don’t own or anything.
And I don't mean this to excuse the bad code written by ICs. I just think it's not sustainable from the POV of the org itself to depend so heavily on individuals, especially ones who aren't familiar with the entire codebase anymore.
The team currently in charge needs to have full ownership and be responsible for the code, even if they didn't write it.
> The team currently in charge needs to have full ownership and be responsible for the code, even if they didn't write it.
That's honestly a high enough bar — many orgs I've worked in do what I call "zero-staffing", which is where an in-use / deployed-to-production project has no team, no engineers (or so few engineers, such as one, as to be a pittance). That one eng, if they even exist, is often just trying to hold everything together.
There's a middle ground, of course: an engineer who has accomplished too much might be underwater with questions, but at the same time, they need to pass the torch to the next team that is maintaining it.
… but too often, there just isn't a next team. People get burnt out, leave for greener pastures, and stuff gets decommed (maybe) because people are like "what even is this?" b/c the knowledge has walked.
The industry is not rewarding experience or knowledge at the moment, so that trend will continue.
I don't want to be responsible for a bug in my 8 years old code, which I probably even forgot how it worked etc. I probably don't even work anymore in the same team or on the same service.
Why the hell should I be responsible and how is this sustainable?
I am not even sure if your criticism makes any sense at all anymore nowadays. AI is writing 80% of the code, if not more. It's technically not even your code anymore, although there is your name on the commit. Why should I be responsible for that 3 years from now, when I have again moved team or service etc.
Accountability ok, but you should not retire with your code.
Well, it works for professional engineers, you know, the people designing bridges, tunnels, heavy machinery, aircraft, spacecraft or medical instruments. When something happens and they can't show that their work adhered to the generally accepted best standards at the time... they're held liable. And sometimes, that liability includes jail time, particularly when people are seriously injured or die.
And how it is sustainable? Simple: legal requirements that force managers to allot enough time and tooling to their engineering teams, because engineers whose professional license is on the line will rather quit than be forced to sign off something that is unsafe.
In the software world, this might result in AI not being used at all - simply put: no matter what, AI in its current form is always going to be vulnerable to in-band attacks, or to use an older term... phreaking [1]. It might result in software having to go through formal proof programs, fuzzers, whatever. It might result in entire programming languages just being outright banned in production code in favor of programming languages that eliminate entire classes of vulnerabilities.
And before the usual "but China/India/... would outcompete us" complaints come... well, have you ever seen a Chinese widebody airliner in Western airspace? No. Because China is not able to pass over the engineering gates we have set in place. We could easily do the same with software.
Requiring at least some sort of quality gates on software would not be bad for you as a programmer. Quite the contrary: it would hand you power over your incompetent beancounter boss.
Given that Boeing had been granted wide leeway to audit itself and write its own standards... the engineers couldn't be held liable and the corrupt US government dropped the corporate case [1].
Of course, software that is in charge of things where people value security a lot, such as the software in airplanes, is much more scrutinized and adheres to better standards. This is the case precisely because when it goes bad people die in ways that attract a lot of attention.
You can't enforce those same policies on most consumer software because people consume it the same way they do food. You can have Michelin starred restaurants with the best practices but most people can't afford to eat there so instead they will buy hot dogs on the street.
The idea of "high quality hand crafted artisinal software" is closer to luxury products than it is to the engineering of planes, trains and bridges.
Because the incentive to care is not there, we'll see things changing when self-driving cats is mainstream
The government can. GDPR was an attempt in that direction, it wasn't enough of a hint to software developers, that's how we got the Cyber Resilience Act that's beginning to take first effects in a few months.
Depends on what "taking responsibility" means.
> Don’t make other people QA your work; if you’re not able to figure out how to do that yourself while you work you’re legitimately bad at your job.
At a distance I agree with this, but closer to the details, eh... Having worked with excellent QA and QE people, they just think differently than I and other programmers I've worked with do, in a useful way, so I think it's a shame (even if understandable) how such roles have been killed industry wide for over a decade. "Hybrid" doesn't really cut it. But yes, I get pissed when a code review comes my way and the author clearly didn't bother to even run their own code because when I notice something wrong and try it, lo and behold it doesn't work. I imagine some even less competent places throw over reviews (or just push straight to master) that don't even compile. I won't get into basic automated testing. I believe programmers should have a professional ethos to learn new things to make themselves better at their craft, with or without management support or even paid company time for it, this includes ways to think about better achieving quality goals.
> Once you leave an employer obviously you have no obligation to fix bugs in IP you don’t own or anything.
This is the crux of the issue: the employer always owns the code, not the individual, and so to me it's the employer's job to be responsible for any defects. A sensible employer probably recognizes that often the author of the code is the best one to fix it -- but this is also part of why it's so important to have code reviews, because then in theory you have at least two people who are somewhat familiar with the code. At the same time, coding, like everything else, is subject to stochastic quality issues. Employees work within a system, many issues are caused by the system, and only management can change the system. Take some lessons from Deming's red bead experiment: https://www.youtube.com/watch?v=7pXu0qxtWPg (Write-up: https://web.archive.org/web/20251212234933/https://maaw.info...)
ive inherited a lot of code
It’s incredibly rare you have the luxury of even trying to deliver bug free code, let alone achieve it.
What? Every company I worked for wished for bug free code. Mistakes happen but there was no acceptance for yolo-ship features.
Is it though?
What’s the point of saying you “work at Google” if all you ever do is work on half-baked, unfinished, unpolished slop?
Fix your shit.
I think theres very little chance this particular report made it to any engineer who works on product at all, because if they did they would be completely overwhelmed by reports, the filter which has to handle the many thousands of reports based on a playbook almost definitely filtered it out before it made it that far.
Bugs in existing projects and a sense of ownership and leadership are absolutely a part of GRAD, having been in several calibrations and promo committees myself. So while this understanding has a grain of truth, it is far from what's evaluated, at least in my VP's org. I can't speak to Cloud or any other PAs.
But... many Googlers who have a tendency of repeating these things have (1) not seen how shittier things are on the outside (2) are not in management and do not know how much manager lies to them (3) have unrealistic expectations of how well any process applied to 100-200k people can work. If you see a place that has a better overall promo system, you'll almost certainly find that it is a much smaller shop and things are decided more ad-hoc at the top with higher information flow.
Specifically, for (2) the manager and their adjacent group can clearly flag the slipping under the rug behavior and ding one's promo. However, sometimes when they message it back they would lie about it to the employee and blame some other management or requirement or complexity, etc. Other times, the manager is a "people manager" moron and non-technical, and can't really evaluate (in which case it's not the process that's at fault, but useless management.)
It's also not clear that the optimal quality is achieved by spending more time "perfecting" things. At Google, people already work much less than other companies. Perhaps the answer is in fact the opposite: pushing to ship more milestones per unit of time and driving harder to then perfect it. My bet is if the promo packet was accepted without a full "launch"[1] they would have still shipped the same half-baked crap at a later point in time.
[1]: many years ago, they wanted to reduced half-baked "launches" and said we want "landings" not "launches" and wrote some documents explaining the difference and self-congratulated themselves. Net result: s/launch/landing in promo packets.
This is a fairly nuanced/involved issue, so the task of classifying the bug likely made it's way to one of the engineers responsible for the implementation of this feature.
That engineer has already launched this project, and filed it away under their GRAD (performance) artifacts for when promo/annual review talks roll around. There's no motivation for this engineer to waste time fixing this bug because it won't benefit their promo packet, and they are already being put under pressure to launch other projects which _will_ benefit their promo packet.
So they do what they can to sweep it under the rug because that's what the promo/annual review framework (GRAD) incentivizes and rewards.