this post was submitted on 22 Jul 2024
267 points (95.6% liked)
Technology
60136 readers
3293 users here now
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each another!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, to ask if your bot can be added please contact us.
- Check for duplicates before posting, duplicates may be removed
Approved Bots
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Blame the dev who pressed "Deploy" without vetifying the config file wasn't full of 0's or testing it in Sandbox first.
If the company makes it possible for an individual developer to do this, it's the company's fault.
Exactly. All of our code requires two reviews (one from a lead if it's to a shared environment), and deploying to production also requires approval of 3 people:
And it gets jointly verified immediately after deploy by QA and customer support/product owner. If we want an exception to our deploy rules (low QA pass rate, deploy within business hours, someone important is on leave, etc), we need the director to sign off.
We have <100 people total on the development org, probably closer to 50. We're a relatively large company, but a relatively small tech team within a non-tech company (we manufacture stuff, and the SW is to support customers w/ our stuff).
I can't imagine we're too far outside the norms as far as big org deployments work. So that means that several people saw this change and decided it was fine. Or at least that's what should happen with a multi-billion dollar company (much larger than ours).
Are "product" (PM, PO) and "engineering" (people who write the code) one and the same where you work? Or are they separate factions?
No, separate groups. We basically have four separate, less-technical groups that are all involved in some way with the process of releasing stuff, and they all have their own motivations and whatnot:
PM, PO, and QA are involved in feature releases, PM, QA, and support are involved in hotfixes. Each tests in a staging environment before signing off, and tests again just after deploy.
It seems to work pretty well, and as a lead dev, I only need to interact with those groups at release and planning time. If I do my job properly, they're all happy and releases are smooth (and they usually are). Each group has caught important issues, so I don't think the redundancy is waste. The only overlap we have is our support lead has started contributing code changes (they cross-trained to FE dev), so they have another support member fill in when there's a conflict of interest.
My industry has a pretty high cost for bad releases, since a high severity bug could cost customers millions per day, kind of like CrowdStrike, so I must assume they have a similar process for releases.
That's not how any of this worked. Also not how working in a large team that develops for thousands of clients works. It wasn't just one dev that fucked up here.
Crowd Strike Falcon uses a signed boot driver. They don't want to wait for MS to get around to signing a driver if there's a zero day they're trying to patch. So they have an empty driver with null pointers to the meat of a real boot driver. If you fat finger a reg key, that file only containing the 9C character, points to another null pointer in a different file and you end up getting a non bootable system as the whole driver is now empty.
If you don't understand what I just said here's some folk that spent good time and effort to explain it.
https://www.youtube.com/watch?v=pCxvyIx922A&t=312s
https://www.youtube.com/watch?v=wAzEJxOo1ts
You can blame his leadership who did not authorise the additional time and cost for sandbox testing.