Profile picture
You Don't Know JS @YDKJS
, 27 tweets, 3 min read Read on Twitter
thread. car metaphor (that I will link to JS):
car with dual-zone climate control, and all of a sudden, driver-side A/C malfunctions. with A/C on full blast, the driver-side is still 20 degrees less cool than passenger side.
start imagining what could be broken, and what needs to be fixed.
you think, well, i kinda know that A/C requires a compressor (and coolant) to cool the air.
maybe for dual-zone A/C, there's two of those systems... and maybe the driver-side is low on coolant, or its compressor went out.
this diagnosis leads you down a specific path of fixing the problem.
notably, you didn't really stop to understand what was broken before you jumped to trying to find solutions.
maybe add more coolant to the system, or replace the compressor, hoping this fixes the problem.
and maybe it works (partially), maybe it doesn't. if not, you jump to your next guess of what could be wrong, and you try that fix.
you repeat this cycle several times, and eventually, your car has been patched and hacked and tweaked a variety of different ways. under the hood, you have wires and tubes criss-crossing.
and notably, the driver A/C is a little cooler now, tolerably so. it's not perfect, but it's "works for me, ship it" good enough.
you barely stop to notice the nightmare you've wrought under the hood, because all that matters is that you need to drive, and you need to be cool. mission accomplished.
over time, the A/C has to be hacked a little more, every few months, to get the temperature to acceptable levels. and you've started to realize that all this mess under the hood is making other maintenance and repairs much more difficult. but, the car still drives, so... stick with this strategy, seems to be working well enough.
one day, it dawns on you, maybe the A/C isn't actually cooler, maybe it's just that the weather outside has gotten cooler so you're relying less on the A/C than when it was the height of summer heat.
but by now, the notion of actually fixing the problem of the A/C seems so daunting and error-prone, you're thinking you should just go buy a new car.
one day, you ask a mechanic friend of yours, who knows cars pretty well, if he's ever heard of this A/C problem you experienced.
he immediately begins to explain: "well, compressor and coolant are only part of the A/C system. another critical component is the actuator arm that controls how much cool air is mixed with warm air from the engine."
he continues: "...and it's not uncommon at all for this little $50 part to get stuck or malfunction, and improperly mix in too much hot engine air with the cool air coming from the A/C. sounds to me like this is what actually broke."
you sit there dumb-founded. all that time, all that money spent, all those extra wires and hoses, all that "the A/C kinda works barely enough so I'll deal with it" driving you did...
it turns out all that was because you didn't stop to understand the real problem, but instead focused on trying to treat the symptoms.
but the worst, most insidious part, is that you didn't do this out of complete ignorance. you actually DID sort of understand A/C systems, the coolant and compressor stuff anyway. you made a sort-of informed guess.
and it turns out that combined with your sort of educated guess, you also had some accidental success at addressing the symptoms (too-warm air out of the vents), via the weather change, overfilling the coolant, and installing a super-charged compressor.
you pop open the hood, and you're dismayed at the mess that you see before you. all because you jumped to fixing the problem before understanding the problem.
you shrug it off, quickly though, because that new car you ordered is here and it's time to move on to a better drive!
but i'm sure this whole metaphor is just made up, right? and it also has absolutely no resemblance to anything you've ever experienced with a code base, right?
my car is in the shop right now, in part because my driver-side A/C has been malfunctioning. Turns out this A/C issue is a "known issue" they recognized right away. they diagnosed it, and they're fixing it as I type.
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to You Don't Know JS
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!

This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member and get exclusive features!

Premium member ($3.00/month or $30.00/year)

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!