7 ms·
Good God yes. Once my team owned a service that did X. Among it's functionality, it had an API that, as a side effect, stored some data that could be retrieved
by mabbo 5y ago
Good God yes.
Once my team owned a service that did X. Among it's functionality, it had an API that, as a side effect, stored some data that could be retrieved. Sadly, this service had no validation that the data being input made any sense in the context of what this service did.
A developer on a neighboring team had a big promo project on the go. As a simple hack, and as a way to save time, his project used our service as a basic key value store database. They already called this service for the correct functionality, so they had access keys. The stuff he was storing could be argued to kind of make sense, but as the owners of this service we said "no fucking way, we aren't your database". He escalated to management who knew he was going to quit if he didn't get his promo. They overruled and last I heard that service was still being used as that asshole's database. He did promise to fix it right after the project launched, but the second he had his promo he changed orgs.
For some reason, Amazon is full of this sort of terrible tech debt and they can't figure out why everyone has to be on terrible on call rotations.
- Jasper_ 5y agoThe fast-paced "fail upwards" where you get a new job at a new FAANG every few months while leaving a trail of destruction in your wake astounds me, and I don't understand how it works and how companies keep falling for it. There are a lot of excellent ex-FAANG programmers I've worked with, and a lot of terrible ones, and my experience is that usually the ones with the most prestigious titles show up, do 3 months of junior level work which we end up having to rip out later, and then leave to their next high-paying gig.
- raincom 5y agoDo people leave FAANG jobs every three months? I thought they stay there for three years to get promotions and then leave
- civilized 5y agoThey take three years to do the three months of junior-level work.
- 21723 5y agoThe ones who do 3 months of actual work get fired because their overperformance scares the boss. But less than 2 weeks of actual work and you're an underperformer. The sweet spot is probably the geometric mean of the two.
- chii 4y ago> their overperformance scares the boss i just don't understand this at all - why would someone who is working for you be a threat? They cannot take your job - it's not like them being a good programmer would somehow make them a good dev manager or "boss".
- civilized 4y agoIt's common for high performers to get promoted as a "reward" regardless of management ability.
- pavlov 5y agoThis is entirely the fault of the FAANG hiring methods of which most managers at these companies are very proud because they provide such excellent “signal”. But the upside is that it’s a competitive advantage for startups that intentionally build different hiring pipelines.
- filoleg 5y ago> This is entirely the fault of the FAANG hiring methods I would say it is more of a fault of compensation structures. Why would one stay for 3 years and get very meh comp increases every year, when they can switch to another company and instantly get a 30-40%+ increase (up to a point). It is also somewhat disheartening to see new hires get paid significantly more than you are for the same level.
- wreath 5y agoHow is this his fault? Your service had poor validation or design and was used in ways it was intended to. You knew this but still didn't patch it?
- drexlspivey 5y agoIt’s an internal service, you don’t treat your co-workers as hostile actors.
- solveit 5y agoAt a large enough company you kind of have to... as this situation shows.
- noizejoy 5y agoReminds me of what they say about Formula 1 racing: The most important thing for a driver is to beat the other driver on their own team (there are 2 drivers per team). And arguably this principle holds for most team members in any organization - since it’s only very few at the very top that actually get held accountable for overall team success.
- cpeterso 4y agoI read a tongue-in-cheek blog post, maybe ten years ago, about “blame-oriented software development”: how to deflect blame from your code. The framing was amusing but the advice was good: extensive validation of input parameters and data, lots out logging, etc. Unfortunately, the blog post seems to have disappeared.
- mertd 5y agoInternal systems always have large gaping holes like that because if someone is misusing it, you can simply ask them to stop it. Most adults comply.
- mabbo 5y agoI won't downvote you. When this terrible thing was done, we immediately realized we needed to add validation. We had thought that by limiting who could call through access controls, we'd never have a malicious user. So naive. Sadly, at that point we couldn't add it because his awful project was running in production.