(A scene from a book I'm (slowly) working on)
Room 5.421: Core UI Platform Infra x Human Resources Tools Core UI Platform Infra represented by: Blake, Dimitri Human Resources Tools represented by: Kirin, Ricky, Mark
Blake: "I'd like to express how excited I am for this cross-functional collaboration. Pagii can feel so siloed at times, and it's so wonderful that we're trying to help each other here. Right now, in the room next door, Pagii Shopping is arguing with Advertisement Analytics Portal about who should take the lead on the payment processing re-implementation. Ridiculous."
Ricky: "Brilliant point, Blake. I see the core UI platform infra team as no different from my own."
Ricky pauses, and with a determined expression, makes intense eye contact with each of the Core UI Platform Infra team members in sequence.
Ricky (in a soft voice): "I'd take a bullet for each and everyone one of you. I swear to God."
PAUSE
Mark: "Ok, thanks guys. So, uh, this meeting should be quick. Basically, HR tools needs an autocomplete and suggestions list for our search bar. We need them for our candidate tracking page."
Dimitri: "I'm not familiar. You said 'HR tools'?"
Mark (sighing): "Yes. Human Resources tools. We make web applications to help Pagii's Human Resources team."
Dimitri: "Fascinating."
Mark: "So, we looked through your UI core component library, and couldn't find a search bar that fits our requirements. A good search bar seems like a very useful component. Surely lots of teams would benefit from it being a core component. We want one where you type in characters, and as you type, you see a list of suggestions update in real-time. You know, like what Google Search does."
Dimitri: "We will not do search suggestions."
Mark: "Sorry?"
Dimitri: "We will not do search suggestions. Absolutely not."
Mark: "Why not?"
Dimitri (standing, pacing): "Autocomplete search bars are a cancer on society. Autocomplete search bars have contributed more to global warming than all the cars in the world put together. That's a fact. You look surprised. Just think about it for one second, and you'll see. You're making a network request on every key-press, for every user, for every search bar. Just because you can't see all the packets of bullshit you're sending back and forth across the world, doesn't mean it doesn't exist. Oh you web developers, growing up on the teat of abstraction! You think data is free? O you deranged bandwidth gluttons! Destroying a once glorious cyberspace!"
Mark: "Hold on, hold on. Surely the bandwidth use is negligible. I mean, we can also debounce the keypresses. But even then, you're looking at a candidate list size of maybe hundreds of kilobytes. It's negligible."
Dimitri: "Perhaps negligible in this 'HR Tools' product that I have never heard of. You have what? Ten users? Five megs of data? Sure. Be as wasteful as you want. But the UI Core Component team does not build for HR Tools. We build for all of Pagii. Imagine, some intern baffoon joins Pagii omnisearch, and stumbles upon a UI Core Component Autocomplete Search Bar, then tries to "maximize impact" by shoving it on the front page, in the hands of a billion users. Billions, nay, trillions! Trillions of keypresses! Every letter! Every typo! Every backspace! The server rooms will be drenched in blood! And it will be on your hands, Mark! Can you handle that? Can you?"
Mark: "Uh, ok, what if you just make two search bars? One that autocompletes, just for smaller products like us, and one that doesn't autocomplete, for bigger products?"
Dimitri: "NO! One use, one component! One use, one component! That is the golden rule! The north star of this great and noble team since the very CONCEPTION of this company. Were you even old enough to TYPE back then?"
Mark: "When was Pagii founded? 2013? Yeah I was like 26."
Dimitri: "No matter! One use, one component! As soon as we start granting exceptions to every random HR Tool-esque side project that comes knocking on our door... we're going to end up with SearchBar1, SearchBar2, SearchBar3, 4, 4.17, 4.292, 5, 8, 12, SearchBar12093DEPRECATEDDONOTUSE-- garbage! All garbage!"
Mark: "Ok, ok, fine, whatever, no autocomplete. We'll roll our own."
PAUSE
Mark rises to leave. Dimitri sweats and pants.
Blake: "Wait, I can help!"
Dimitri (through clenched teeth): "Blake. Don't."
Blake: "There are so many brilliant opportunities for clever optimizations here! Caching! Pre-fetching! Prediction! I can make this effecient! A universal, suggestive, autocomplete search component, that works for Pagii omnisearch AND uh..."
Mark: "HR Tools candidate tracking."
Blake: "HR Tools candidate tracking!"
Dimitri (teeth still clenched): "Blake, as you know, our team is already overwhelmed with the share button refactoring. We don't want to overextend."
Blake: "It won't be a problem at all! I promise! It's so clear to me now. We have all this information on what tables will be searched and who's searching! What if we sent the perfect suggestion list on the first keystroke? We'll never have to send another network request! Or... or... wow... what if... we knew what the user would search before the first keypress!? Or before they even opened the page!?"
Blake pauses, eyes big, mouth agape, drooling slightly, and stares at the ceiling.
Mike claps his hands together. Mike: "Well great! Sounds wonderful! Thank you Blake! Sounds like you guys will help us then."
Dimitri sighs.
Blake walks over to Mike and clasps Mike's hand in his own.
Blake (locking eyes with Mike): "Mike, the HR Candidate tracker will have the greatest candidate search bar in the history of computing. I promise you this.
It's already fully formed in my mind's eye. I see it as clearly as I see you. It demands only the sacrifice of time and code. I will call it to descend from the mental plane on which it has been sleeping, waiting for the right conduit."
Mike: "Sounds good man. Ideally it descends before the end of H1."
Mike exits happily. Dimitri, defeated, rests his face with his hands. Blake resumes staring at the ceiling, eyes glowing with the energy of creative visualization.