Джо из Канзаса — curbside effect
Когда я только пришёл в Google, в глаза сразу бросилась одна особенность культуры, которая одновременно и благословение, и проклятие.
Гугл любит эффективность, апогей которой - это тяга к убийству старых систем и продуктов, которые стало дорого поддерживать. У этого подхода есть большие проблемы, особенно, когда ты работаешь в сегменте Enterprise (B2B на стероидах) — люди построили на твоих продуктах бизнес и твоё стремление к эффективности создаёт для них риски.
Представьте себе контору, занимающуюся, например, страхованием, у них всё прекрасно работает, винтики бюрократии тихонечко крутятся, айтишники сидят в каморке под лестницей занимаются обжимкой ethernet кабелей и установкой антивирусов на компы пользователей.
И вот им прилетает емейл, что через N месяцев облачный продукт, предоставляющий вычислительные ресурсы, нужно проапгрейдить до новой версии Python. Скажем, Python 2.7 больше не будет работать, нужно мигрировать на Python 3.x. У тех, кто писал на питоне, сейчас должны встать волосы дыбом. Это ж нужно всё переписать практически с нуля. Это недешёвый и небыстрый проект. Их отдел айти такое не потянет и нужно снова нанимать программиста-сына бухгалтера, но он уже вырос во взрослого дядю с тех пор как последний раз писал на питоне 2.7, у него своя фирма и берёт он недёшево.
Тем временем внутри облачной компании идут разговоры о том, что питон 2.7 это жеж дичь ппц, чо они не апгрейдятся? В этом дисконнект между технологическим гигантом в долине и провинциальной страховой компанией во флорИде. У мелкой нетехнологической конторы эффективность, не добавляющая ценности бизнесу (==рефакторинг), не в приоритете. Они даже готовы немного пожертвовать информационной безопасностью ради того, чтобы ничего не делать. Не поймите меня неправильно — они хотят, чтобы всё было безопасно и стабильно, поэтому они и платят деньги облачному провайдеру. Но с взрослением облаков и устареванием старых версий open source проектов становится понятно, что у удобства всё же есть налог в виде необходимости болезненных апгрейдов.
Вопрос в том, кто платит этот налог — включен ли он в стоимость облачного сервиса или это еже-N-годный взнос из кармана пользователя? Надо отдать должное Google Cloud и его СЕО Томасу Куриану — в последние годы идёт мощный сдвиг в сторону первого, более дружелюбного подхода, где “we take the pain, so the customer doesn’t have to” (фраза моя, я её часто использую как принцип). Но одно дело — сказать, что это наша операционная модель, другое — изменить то, как мыслят люди с красной кнопкой, т.е. инженеры и продакт менеджеры на местах.
Один из коллег в моей первой гугловской команде нашёл эффективный способ коммуникировать инженерам, что не все программисты в этом мире — увлечённые оптимизаторы с образованием из Стэнфорда и ресурсами большой корпорации.
У нас было две персоны для разработчиков: Боб — нормальный такой проф разработчик, работающий, например, в большом банке на Wall Street и “Джо из Канзаса”, которому важно, чтобы ничего не падало и чтобы вечером были деньги на бенз и упаковку из шести бутылочек будвайзера. Джо класть хотел на улучшение своих профессиональных навыков и оптимизацию. Для него кодинг — это не карьера, это работа. Чему научился, там и пригодился.
При разработке передовых фич, мы всегда ориентировались на профессионала Боба, который в своём высокочастотном трейдинговом банке пишет на С++, чтобы сэкономить милисекунды на каждой транзакции, а его сервак находится через стенку от биржи, чтобы сэкономить ещё немного милисекунд на сетевом трафике. Но, продумывая механизмы апгрейдов и наш подход к deprecation (выводу продуктов из эксплуатации), мы старались ориентироваться на Джо.
Парадокс здесь в том, что ориентируясь на Джо, мы создаём более дружелюбные продукты, от которых, в том числе, выигрывает и Боб, потому что в его шкафах за десятью файерволами тоже хватает устаревших некритических костылей на питоне 2.7, коболе и т.п. Это называется “the curbside effect” — когда на тротуарах делают съезды для инвалидных колясок, от них выигрывают не только люди с ограниченными возможностями, но и родители с колясками, дети на самокатах и доставщики посылок с тележками.