3 ms·
They lost hundreds of thousands of dollars on an issue that was in production for several days. On the one and only feature generating revenue: showing ads. No
by iteratethis 3y ago
They lost hundreds of thousands of dollars on an issue that was in production for several days. On the one and only feature generating revenue: showing ads.
No unit testing, no integration testing (as was admitted) and no production sanity test at all. I guess the accountant was asleep at the wheel as well.
You have bigger issues than strong types.
- rhaway84773 3y agoYou’re assuming this was the only location they showed ads. It could have been one of the many components displaying ads. And this specific component might have accounted for a small percentage of those ads. And presumably this wasn’t the only feature deployed so any noticeable change in revenues could have been attributed to many other things before a typo in the ID would have been discovered.
- rmbyrro 3y agoThen they need to incorporate all components that display ads in the ad counting integration tests!
- rmbyrro 3y agoExactly. Look at what he says: > But how strong and reliable are your test environments to ensure that this all works correctly? How much effort, time, and money does it take to maintain full testing solutions? Seriously? The entire company revenue depends on counting ad views and you don't have resources to make sure you're counting right? Oh, c'mon! Strong typing has its place, but this was a bad argument in favor of it...
- OJFord 3y agoVery selective quoting, they clearly have integration testing. The resolution of the post mortem was to both add 'an' (they were already set up for it) integration test, and strict typing. The criticism of the test was that it would only cover that specific path, not others or potential future ones. Which is true.
- gedy 3y agoAgreed, and as someone who likes Typescript and typed languages in general, I've noticed many of the loudest "OMG HOW can you develop without Typescript" also tend to be people who don't write tests. It's like the types are one giant unit test for them.
- stevebmark 3y agoI very much enjoy the false dichotomy argument that the bigger issue is tests, rather than types. Thank you for brightening my day.
- jacquesm 3y agoYes, this was my takeaway as well: no KPI relation ship tests whatsoever. This should have never passed testing. But that doesn't mean TS doesn't have advantages, just that this particular error could have - and should have - been caught by other means as well before hitting production. So both of these would have been good, none of them was clearly bad. Notice that you don't necessarily have to choose between these two.