Психология IT-дедов
Дедами в IT, бухтящими на молодняк, движет вовсе не "нежелание учиться новому". Просто деды помнят с какими задачами они в жизни изрядно потрахались и желают знать как же эти задачи решаются на новомодных технологиях. Но новые технологии ответов на старые вопросы не дают. Зато новых вопросов рождают до чёрта.
Например, транзакционная запись в БД. Я узнал что на go многие пишут CRUD-ы. Шут с ним что это просто полная чушь, но любому деду очевидно, что если ты раздеплоишь 100500 микросервисов на каждую сущность в БД, то при попытке сохранить что-то мало мальским сложное понадобится координатор распределённых транзакций. Ну чтобы при ошибке откатывать всю цепочку изменений автоматически. На уровне базы для этого есть встроенные механизмы (которые ещё и с репликацией дружат). Go-шники же при словах "координатор распределённых транзакций" смотрят ошалелыми холодными глазами и всем видом дают понять, что ты сказал щас что-то такое, что к их вселенной не относится.
Деды в курсе как масштабировать приложение на старых технологиях/baremetal и искренне не понимают на кой городить огород с контейнеризацией, когда достаточно грамотного билд-деплой пайплайна. А ещё диды помнят как в 2006м у них свой стартап крутился на паре бесхозных 360х "пентиумов" с винтами по 40 гигибайт. И стоило это примерно нихера и луку мешок. Счета за услуги облачных провайдеров ставят дедов в тупик. Они понимают, что им никогда не платили столько, сколько компания спускает в месяц на облака.
UI деды тоже делали. Хорошие деды даже понимают чем JS-подход к UI удобнее классики (абстракцией работы с UI-тредом), в остальном же MVC у них в крови ещё со времён Microsoft Foundation Classes. Ивент-луп и отрисовка изменений в данных. Ничего похожего на Redux дедам и в голову бы не пришло просто потому что а зачем. Максимум — MVVM (MVC с активной моделью, уведомляющей UI об изменениях). При виде современного веба, деды с тоской вспоминают RAD Studio — как тогда всё было просто, быстро, а главное — работало ведь! Никакого CSS, никакой групповухи с флексбоксами: куда кнопку поставил — там она и стоит. По меркам RAD Studio/WinForms/WPF современная веб-разработка чудовищно усложнена и до жути бестолкова (в смысле что результат неадекватен затраченным усилиям).
По поводу использования системных ресурсов деды пребывают в постоянном когнитивном диссонансе. Когда молодняк с криками "оборудование — ничто, понятность — всё" лихо разбрасывается огромными кусками оперативы, деды вспоминают, как в юношестве байтики экономил чтобы программа скачивалась два часа, а не три. Или чтобы отчёт обсчитывался за 4 часа, а не за 10 дней. Деды понимают, что весь софт сейчас работает херово и с ужасающим оверхедом. Вывозит только за счёт мощного и недорогого (относительно 80х-90х) железа. Это в их понимании означает "не работает".
В конце-то концов просто по-человечески больно осознавать, что ты писал очередь сообщений через файловую систему или базу данных. А современный школьник с улюлюканием берёт docker-образ NATS и втыкает его в свой проект. Ты бы и сам смог сделать NATS, но просто не успел. Кто-то оказался проворнее и удачливее. И сейчас вместо файн-тюнинга своего решения ты вынужден разбираться с нуля в чужом. И зачастую — донельзя говёном.
Бесит. Ну а кого б не бесило?
В любом случае помните, что деды могут делать как молодняк, просто не хотят. А вот молодняк делать как деды не умеет.
Такие дела
Дедами в IT, бухтящими на молодняк, движет вовсе не "нежелание учиться новому". Просто деды помнят с какими задачами они в жизни изрядно потрахались и желают знать как же эти задачи решаются на новомодных технологиях. Но новые технологии ответов на старые вопросы не дают. Зато новых вопросов рождают до чёрта.
Например, транзакционная запись в БД. Я узнал что на go многие пишут CRUD-ы. Шут с ним что это просто полная чушь, но любому деду очевидно, что если ты раздеплоишь 100500 микросервисов на каждую сущность в БД, то при попытке сохранить что-то мало мальским сложное понадобится координатор распределённых транзакций. Ну чтобы при ошибке откатывать всю цепочку изменений автоматически. На уровне базы для этого есть встроенные механизмы (которые ещё и с репликацией дружат). Go-шники же при словах "координатор распределённых транзакций" смотрят ошалелыми холодными глазами и всем видом дают понять, что ты сказал щас что-то такое, что к их вселенной не относится.
Деды в курсе как масштабировать приложение на старых технологиях/baremetal и искренне не понимают на кой городить огород с контейнеризацией, когда достаточно грамотного билд-деплой пайплайна. А ещё диды помнят как в 2006м у них свой стартап крутился на паре бесхозных 360х "пентиумов" с винтами по 40 гигибайт. И стоило это примерно нихера и луку мешок. Счета за услуги облачных провайдеров ставят дедов в тупик. Они понимают, что им никогда не платили столько, сколько компания спускает в месяц на облака.
UI деды тоже делали. Хорошие деды даже понимают чем JS-подход к UI удобнее классики (абстракцией работы с UI-тредом), в остальном же MVC у них в крови ещё со времён Microsoft Foundation Classes. Ивент-луп и отрисовка изменений в данных. Ничего похожего на Redux дедам и в голову бы не пришло просто потому что а зачем. Максимум — MVVM (MVC с активной моделью, уведомляющей UI об изменениях). При виде современного веба, деды с тоской вспоминают RAD Studio — как тогда всё было просто, быстро, а главное — работало ведь! Никакого CSS, никакой групповухи с флексбоксами: куда кнопку поставил — там она и стоит. По меркам RAD Studio/WinForms/WPF современная веб-разработка чудовищно усложнена и до жути бестолкова (в смысле что результат неадекватен затраченным усилиям).
По поводу использования системных ресурсов деды пребывают в постоянном когнитивном диссонансе. Когда молодняк с криками "оборудование — ничто, понятность — всё" лихо разбрасывается огромными кусками оперативы, деды вспоминают, как в юношестве байтики экономил чтобы программа скачивалась два часа, а не три. Или чтобы отчёт обсчитывался за 4 часа, а не за 10 дней. Деды понимают, что весь софт сейчас работает херово и с ужасающим оверхедом. Вывозит только за счёт мощного и недорогого (относительно 80х-90х) железа. Это в их понимании означает "не работает".
В конце-то концов просто по-человечески больно осознавать, что ты писал очередь сообщений через файловую систему или базу данных. А современный школьник с улюлюканием берёт docker-образ NATS и втыкает его в свой проект. Ты бы и сам смог сделать NATS, но просто не успел. Кто-то оказался проворнее и удачливее. И сейчас вместо файн-тюнинга своего решения ты вынужден разбираться с нуля в чужом. И зачастую — донельзя говёном.
Бесит. Ну а кого б не бесило?
В любом случае помните, что деды могут делать как молодняк, просто не хотят. А вот молодняк делать как деды не умеет.
Такие дела
Мета
Я провёл опрос и с удивлением обнаружил, что 95% читателей не знают идиому, которая использована в названии моего канала. Что ж, давайте исправим недоразумение :)
Soapbox дословно переводится "коробка из-под мыла". Массивная такая коробка, на совесть сделанная. В середине 19го века в США в таких коробках поставлялся в магазины всякий-разный стафф. Не только мыло. Упаковочные картонные коробки изобретут только в конце 19го века, а массовое распространение они получат только в 20м.
Достать бесхозную коробку из-под мыла не составляло особого труда, чем пользовались разного рода политические активисты. В основном, лево-радикального толка, но сейчас не об этом. Эти ребята притаскивали коробку в место большого скопления самого настоящего пролетариата, вставали на неё и начинали толкать разного рода речуги и распространять всякие идеи. Народу пришлось по вкусу. Довольно быстро соапбоксинг кристаллизовался как отдельный жанр уличной оратории и приобрёл развлекательные черты.
Местным властям такое не нравилось. Официально потому что "несанкционированный митинг" и "вы мешаете проходу граждан", но мы-то с вами как никто другой знаем, что означают эти слова. Полицейские любили погонять молодых леваков с их коробками, что вылилось в несколько зарубов по вопросу свободы слова и её границ. Коробка из-под мыла с тех пор стала локальным политическим мемом США.
В 1917м некто Ленин В.И. импортировал мем в царскую Россию, но за неимением коробки из-под мыла выступал сурово и по-русски: на броневике перед зданием Финляндского вокзала в Питере. Где и стоит по сей день, увековеченный в граните.
Потом, конечно, пришёл телевизор и уличная оратория умерла как жанр.
Сейчас мы невооружённым глазом можем наблюдать ренессанс соапбоксинга в интернете. Соцсети позволяют каждому встречному-поперечному обзавестись своей собственной коробкой из-под мыла и вещать что душе угодно. Чем я и пользуюсь.
Такие дела
Я провёл опрос и с удивлением обнаружил, что 95% читателей не знают идиому, которая использована в названии моего канала. Что ж, давайте исправим недоразумение :)
Soapbox дословно переводится "коробка из-под мыла". Массивная такая коробка, на совесть сделанная. В середине 19го века в США в таких коробках поставлялся в магазины всякий-разный стафф. Не только мыло. Упаковочные картонные коробки изобретут только в конце 19го века, а массовое распространение они получат только в 20м.
Достать бесхозную коробку из-под мыла не составляло особого труда, чем пользовались разного рода политические активисты. В основном, лево-радикального толка, но сейчас не об этом. Эти ребята притаскивали коробку в место большого скопления самого настоящего пролетариата, вставали на неё и начинали толкать разного рода речуги и распространять всякие идеи. Народу пришлось по вкусу. Довольно быстро соапбоксинг кристаллизовался как отдельный жанр уличной оратории и приобрёл развлекательные черты.
Местным властям такое не нравилось. Официально потому что "несанкционированный митинг" и "вы мешаете проходу граждан", но мы-то с вами как никто другой знаем, что означают эти слова. Полицейские любили погонять молодых леваков с их коробками, что вылилось в несколько зарубов по вопросу свободы слова и её границ. Коробка из-под мыла с тех пор стала локальным политическим мемом США.
В 1917м некто Ленин В.И. импортировал мем в царскую Россию, но за неимением коробки из-под мыла выступал сурово и по-русски: на броневике перед зданием Финляндского вокзала в Питере. Где и стоит по сей день, увековеченный в граните.
Потом, конечно, пришёл телевизор и уличная оратория умерла как жанр.
Сейчас мы невооружённым глазом можем наблюдать ренессанс соапбоксинга в интернете. Соцсети позволяют каждому встречному-поперечному обзавестись своей собственной коробкой из-под мыла и вещать что душе угодно. Чем я и пользуюсь.
Такие дела
Cloud Architecture
Хотите вы того или нет, но любая IT-система состоит из четырёх основных разделов: инфраструктура (системы хранения данных), логика (обработка данных), UI-часть (мобильные, веб и десктопные клиенты) и аналитика (извлечение служебных данных из системы — маркетинговые исследования, бухгалтерская отчётность, документы).
Для организации инфраструктуры нам предоставляется куча элементов: реляционные базы, объектные базы, column storage-ы, кэши, очереди, сервисы генерации документов, файловые хранилища, готовые системы авторизации, сторонние облачные API разных сервисов (почтовик, бухгалтерия на quickbooks, логи, продажи).
Инфраструктурные микросервисы склеивают эти элементы между собой. Лучше всего сюда подходит golang. Быстро и тупо переливать данные, меняя формат одного хранилища на другое с минимальными семантическими преобразованиями. Раз в день по cron-у, или по факту получения уведомления из очереди.
Над этим всем ульем тупой инфраструктуры стоит управляющая бизнес-логика. Она занята принятием решений о том, что инфраструктура должна сделать. Записать данные в тот или иной кэш, отправить e-mail, начать переливание бочки данных из sql-сервера в SalesForce, етц. Управляющая логика состоит из иерархически упорядоченных, хорошо отделённых друг от друга логических модулей, одни из которых базируются на других. Логика бывает сложна, поэтому её надо писать надёжно, с максимумом безопасности. Haskell, F#, Scala — это всё сюда. Compile-time валидация, покрытие юнит-тестами, детальные комментарии. Печать сверху "не трогать ни в коем случае, потому что мы уже не помним почему так".
Это всё дело должно между собой общаться по каким-то протоколам. Люди с надеждой смотрят на gRPC, пробуют 0mq, передают данные через очередь (rmq, NATS, кафка — у них чисто транзитные функции), хоронят protobuf, и пишут web API с ssl-ной авторизацией (для запросов внутри частной сети, закрытой от внешнего мира лол). Тут холиваров не перечесть и зоопарки растут просто друг на друге.
UI-часть — место где живёт блядский React и тошнотворный Android. Там обычно нужен API для работы с сервером. Большинство использует OpenAPI и swagger. Мастодонты вроде гугла костылят свои решения. По openAPI-описанию swagger может сгенерить клиента для сервера. Полезна TypeScript-обвязка и клиенты для Android-а. Писать руками тут ничего не надо — надо правильно настроить билды. Помимо унылой протокольной части, в UI-разработке есть унылая выдрочка пикселей, старательно перерисовываемых из Figma и унылая фронтенд-логика с характерным формошлёпством и "The Name field is required". Многие сейчас находятся здесь и считают себя разработчиками. Кек. Ну-ну.
Ну и аналитика. Первые пять раз менеджмент просит вручную экспортировать данные из SQL-ной базы. Потом бизнес растёт и парой запросов не отделаться. Данные копятся, надо их как-то анализировать, поэтому аналитика. Для кого-то аналитика — это генерация отчётов, а кто-то на собранных данных начинает экспериментировать, строя линейные регрессии, предсказывающие модели, скармливает данные нейросетям в попытке подобрать лучшие рекомендации товаров.
Как раз в аналитику нанимают дата-сотонистов и выпускников мат. вузов, которые что-то помнят из ТВиМС (тервер и матстат — кстати, не самые сложные дисциплины). Они не погроммисты, поэтому если и пишут код, то на всякой херне вроде питона и фортрана. Аналитики с печатью интеллектатерпрайза на лице ограничиваются Excel и PowerBI. Аналитические запросы выполняются в ночное время, на базах без нагрузки. Сами аналитики всё время ноют, что железо медленное, а данные неудобные, шумные и вообще несвежие. Каждую неделю гоняют разрабов собирать всякую хрень по всем хранилищам в свою любимую OLAP-снежинку, конь её дери.
Переиспользование аналитических данных в основном функционале системы допускается и часто является важной киллер-фичей. В некотором роде, автоматическое создание субтитров — это "аналитическая" часть YouTube.
...
Я проснулся. На часах было 3:50 утра. Я покурил и очередной раз пообещал себе завязывать, наконец, с работой.
Такие дела
Хотите вы того или нет, но любая IT-система состоит из четырёх основных разделов: инфраструктура (системы хранения данных), логика (обработка данных), UI-часть (мобильные, веб и десктопные клиенты) и аналитика (извлечение служебных данных из системы — маркетинговые исследования, бухгалтерская отчётность, документы).
Для организации инфраструктуры нам предоставляется куча элементов: реляционные базы, объектные базы, column storage-ы, кэши, очереди, сервисы генерации документов, файловые хранилища, готовые системы авторизации, сторонние облачные API разных сервисов (почтовик, бухгалтерия на quickbooks, логи, продажи).
Инфраструктурные микросервисы склеивают эти элементы между собой. Лучше всего сюда подходит golang. Быстро и тупо переливать данные, меняя формат одного хранилища на другое с минимальными семантическими преобразованиями. Раз в день по cron-у, или по факту получения уведомления из очереди.
Над этим всем ульем тупой инфраструктуры стоит управляющая бизнес-логика. Она занята принятием решений о том, что инфраструктура должна сделать. Записать данные в тот или иной кэш, отправить e-mail, начать переливание бочки данных из sql-сервера в SalesForce, етц. Управляющая логика состоит из иерархически упорядоченных, хорошо отделённых друг от друга логических модулей, одни из которых базируются на других. Логика бывает сложна, поэтому её надо писать надёжно, с максимумом безопасности. Haskell, F#, Scala — это всё сюда. Compile-time валидация, покрытие юнит-тестами, детальные комментарии. Печать сверху "не трогать ни в коем случае, потому что мы уже не помним почему так".
Это всё дело должно между собой общаться по каким-то протоколам. Люди с надеждой смотрят на gRPC, пробуют 0mq, передают данные через очередь (rmq, NATS, кафка — у них чисто транзитные функции), хоронят protobuf, и пишут web API с ssl-ной авторизацией (для запросов внутри частной сети, закрытой от внешнего мира лол). Тут холиваров не перечесть и зоопарки растут просто друг на друге.
UI-часть — место где живёт блядский React и тошнотворный Android. Там обычно нужен API для работы с сервером. Большинство использует OpenAPI и swagger. Мастодонты вроде гугла костылят свои решения. По openAPI-описанию swagger может сгенерить клиента для сервера. Полезна TypeScript-обвязка и клиенты для Android-а. Писать руками тут ничего не надо — надо правильно настроить билды. Помимо унылой протокольной части, в UI-разработке есть унылая выдрочка пикселей, старательно перерисовываемых из Figma и унылая фронтенд-логика с характерным формошлёпством и "The Name field is required". Многие сейчас находятся здесь и считают себя разработчиками. Кек. Ну-ну.
Ну и аналитика. Первые пять раз менеджмент просит вручную экспортировать данные из SQL-ной базы. Потом бизнес растёт и парой запросов не отделаться. Данные копятся, надо их как-то анализировать, поэтому аналитика. Для кого-то аналитика — это генерация отчётов, а кто-то на собранных данных начинает экспериментировать, строя линейные регрессии, предсказывающие модели, скармливает данные нейросетям в попытке подобрать лучшие рекомендации товаров.
Как раз в аналитику нанимают дата-сотонистов и выпускников мат. вузов, которые что-то помнят из ТВиМС (тервер и матстат — кстати, не самые сложные дисциплины). Они не погроммисты, поэтому если и пишут код, то на всякой херне вроде питона и фортрана. Аналитики с печатью ин
Переиспользование аналитических данных в основном функционале системы допускается и часто является важной киллер-фичей. В некотором роде, автоматическое создание субтитров — это "аналитическая" часть YouTube.
...
Я проснулся. На часах было 3:50 утра. Я покурил и очередной раз пообещал себе завязывать, наконец, с работой.
Такие дела
1000 подписчиков. Шлю всем лучей обожания. Индустрия большая, я молод и горяч. Ощущение, что темы никогда не закончатся.
Психология бизнеса
«Программисты часто живут в вымышленном мире.
В этом мире есть бест-практики, крутые фреймворки, соглашения о написании кода. Тестируемость, читаемость, стабильность, производительность, использование комунити-прувен решений, следование гайдлайнам, чтение умных книжек, посещение конференций.
Паттерны проектирования, строго типизированные языки (стабильные и предсказуемые), нестрого типизированные языки (на которых можно быстро наговнякать), горизонтальное масштабирование, вертикальное масштабирование, k8s-кластеры, NoSQL-базы и прочее-прочее-прочее.
Однако, это всё ни хрена не нужно и не важно бизнесу. Бизнесу важно, чтобы текли бабки. Чтобы продажи шли, всё вышеперечисленное как-то работало, клиенты были довольны, услуги оказывались. Вы думаете, откуда берутся все нагромождения костылей в проектах? А они берутся от того, что надо БЫСТРО И ВЧЕРА. Деливирить надо вэлью, понимаешь? А не спорить какой фреймворк надо взять для покраски кнопочки в зелёный. Совершенно похер положишь ты данные в базу ORM-ом или прямым запросом — главное чтобы было дёшево и быстро!»
Слышали такое, м? В этой интерпретации есть доля безжалостной бытовухи, призванная спустить на землю неофита, витающего в облаках. Но мне кажется, что воспринимать происходящее через бабло — это упрощение. На деле всё ещё хуже.
На деле у любого бизнеса есть владельцы: основатели и акционеры. В большинстве случаев как раз-таки бабла у них достаточно. А что делать, когда бабло заработано? Тут из-за двери появляется Абрахам Маслоу со словами: "Ребята, я знаю толк в этом дерьме". Хрустящая капуста закрывает все базовые потребности человека, а на передний план вылезают чисто социальные штуки: самовыражение и самоактуализация.
И тогда случается страшное: владелец начинает рассматривать своё собственное дело как средство самовыражения. Вольный, блин, художник.
"Мы продаём шаурму" — это недостаточно одухотворённо. Нет ощущение важности вклада, понимаете? "Мы делаем этот мир лучше, потому что несём в него правильные ценности взаимоуважения, равенства и поддержки (и шаурму)" — совсем другое дело!
"У нас в понедельник летучка, потом мы делаем работу, в конце месяца отделы сдают отчёты" — фу как серо и уныло! Нужно больше творчества и общения! "Мы — agile, работаем спринтами и проводим ретроспективы" — вот теперь норм, да! При том вся компания не понимает что происходит (привет кривое внедрение), сроки растягиваются, проекты проваливаются, но владелец очень доволен.
Всех сотрудников задолбал трекинг времени через Hubstaff, увольнения через бигдату разделили коллектив. А это называется "у нас внедрены цифровые методы оценки эффективности сотрудников и индивидуальные KPI". Теперь ты не просто директор-самодур, а пионер AI-управления. Будущее прозреваешь.
"В нашем офисе есть бильярдная, комната отдыха с креслами-грушами, а стены разукрашены приглашённым уличным художником". И пускай у рядовых сотрудников на столах нет задних крышек и кресла разваливаются. Потерпят. Тут у нас владельцы бизнеса самоактуализируются. Видите какой ремонт в офисе сделали? Можно теперь к вакансиям прикреплять красивые фоточки.
Вывод неутешителен:
В общем случае, бизнесу не надо чтобы было сделано вчера. Бизнесу надо реализовывать представления своих владельцев о прекрасном. И эти представления далеко не всегда дружат с объективной реальностью.
Я где-то слышал, что сотнями постить фоточки в инстаграм — жутко нездоровое явление. Дескать, людей где-то в детстве недолюбили и теперь они всеми правдами и неправдами пытаются снискать иллюзию общественного одобрения через лайки. Чтобы закрыть огромную дыру внутри себя. Вот мне кажется, что что-то подобное происходит и с владельцами бизнесов. Они тоже люди и тоже часто бывают нездоровы.
Как бы то ни было, самоутверждаться через своё дело — это фу. Уж лучше думать о бабле. Как-то это... честнее, что-ли.
Такие дела
«Программисты часто живут в вымышленном мире.
В этом мире есть бест-практики, крутые фреймворки, соглашения о написании кода. Тестируемость, читаемость, стабильность, производительность, использование комунити-прувен решений, следование гайдлайнам, чтение умных книжек, посещение конференций.
Паттерны проектирования, строго типизированные языки (стабильные и предсказуемые), нестрого типизированные языки (на которых можно быстро наговнякать), горизонтальное масштабирование, вертикальное масштабирование, k8s-кластеры, NoSQL-базы и прочее-прочее-прочее.
Однако, это всё ни хрена не нужно и не важно бизнесу. Бизнесу важно, чтобы текли бабки. Чтобы продажи шли, всё вышеперечисленное как-то работало, клиенты были довольны, услуги оказывались. Вы думаете, откуда берутся все нагромождения костылей в проектах? А они берутся от того, что надо БЫСТРО И ВЧЕРА. Деливирить надо вэлью, понимаешь? А не спорить какой фреймворк надо взять для покраски кнопочки в зелёный. Совершенно похер положишь ты данные в базу ORM-ом или прямым запросом — главное чтобы было дёшево и быстро!»
Слышали такое, м? В этой интерпретации есть доля безжалостной бытовухи, призванная спустить на землю неофита, витающего в облаках. Но мне кажется, что воспринимать происходящее через бабло — это упрощение. На деле всё ещё хуже.
На деле у любого бизнеса есть владельцы: основатели и акционеры. В большинстве случаев как раз-таки бабла у них достаточно. А что делать, когда бабло заработано? Тут из-за двери появляется Абрахам Маслоу со словами: "Ребята, я знаю толк в этом дерьме". Хрустящая капуста закрывает все базовые потребности человека, а на передний план вылезают чисто социальные штуки: самовыражение и самоактуализация.
И тогда случается страшное: владелец начинает рассматривать своё собственное дело как средство самовыражения. Вольный, блин, художник.
"Мы продаём шаурму" — это недостаточно одухотворённо. Нет ощущение важности вклада, понимаете? "Мы делаем этот мир лучше, потому что несём в него правильные ценности взаимоуважения, равенства и поддержки (и шаурму)" — совсем другое дело!
"У нас в понедельник летучка, потом мы делаем работу, в конце месяца отделы сдают отчёты" — фу как серо и уныло! Нужно больше творчества и общения! "Мы — agile, работаем спринтами и проводим ретроспективы" — вот теперь норм, да! При том вся компания не понимает что происходит (привет кривое внедрение), сроки растягиваются, проекты проваливаются, но владелец очень доволен.
Всех сотрудников задолбал трекинг времени через Hubstaff, увольнения через бигдату разделили коллектив. А это называется "у нас внедрены цифровые методы оценки эффективности сотрудников и индивидуальные KPI". Теперь ты не просто директор-самодур, а пионер AI-управления. Будущее прозреваешь.
"В нашем офисе есть бильярдная, комната отдыха с креслами-грушами, а стены разукрашены приглашённым уличным художником". И пускай у рядовых сотрудников на столах нет задних крышек и кресла разваливаются. Потерпят. Тут у нас владельцы бизнеса самоактуализируются. Видите какой ремонт в офисе сделали? Можно теперь к вакансиям прикреплять красивые фоточки.
Вывод неутешителен:
В общем случае, бизнесу не надо чтобы было сделано вчера. Бизнесу надо реализовывать представления своих владельцев о прекрасном. И эти представления далеко не всегда дружат с объективной реальностью.
Я где-то слышал, что сотнями постить фоточки в инстаграм — жутко нездоровое явление. Дескать, людей где-то в детстве недолюбили и теперь они всеми правдами и неправдами пытаются снискать иллюзию общественного одобрения через лайки. Чтобы закрыть огромную дыру внутри себя. Вот мне кажется, что что-то подобное происходит и с владельцами бизнесов. Они тоже люди и тоже часто бывают нездоровы.
Как бы то ни было, самоутверждаться через своё дело — это фу. Уж лучше думать о бабле. Как-то это... честнее, что-ли.
Такие дела
Карл Юнг велел передать
Вчера я что-то разговорился про софт-скиллы. Решил описать кратко все свои знания на эту тему, которые я подчерпнул из общей психологии. Да, я таким увлекаюсь немного. Так вот.
Людей демотивирует когда им непонятно чего от них хотят. Доверие людей рушится, когда они чувствуют что ими командует кто-то некомпетентный. Не грубиян/мудила/ловелас, а именно некомпетентный. Или самоутверждающийся за чей-то счёт.
Людям не нравятся слишком личные отношения на работе. Это не значит, что надо орать каждому коллеге "подите прочь, развратный мужчина!", но стоит дозировать интерес. Иначе это может быть неправильно истолковано. Только в американских фильмах принято приглашать начальника на ужин. В нормальных компаниях даже коллегу пригласить на ужин — это немного... ну... ту мач. Не смешивать личное и рабочее — дефолтное состояние людей, надо об этом помнить.
Вообще, не надо пытаться делать из коллег друзей. У меня за всю рабочую историю образовалась куча полезных контактов, но подружились мы... ммм... пожалуй, людьми с пятью или около того. При всей важности, работа — так себе социализация. Лучше подыскать другое место.
Кстати смотрите, живая демонстрация: если бы я в предыдущем предложении написал "лучше подыщите другое место" — то кто-то наверняка нашёл бы это offensive, потому что я как бы поучаю, или приказываю. Поэтому я намеренно меняю эту формулировку в речи — и текст звучит чуть более... деликатно, чтоли.
Людям не нравятся, когда критикуют их ценности и убеждения. У всех людей есть "священные коровы" и надо постараться аккуратно их нащупать и обходить стороной. Корову можно задеть даже неосторожным мнением. Если хочется рискнуть — можно этим немного манипулировать. Можно, например, сказать человеку, что ты восхищаешься культурой его страны, даже если тебе пох при условии что человеку это важно. Но это тонкая игра. Лучше в такое не ввязываться. Там полно всяких глубоко личных рычагов — дёрнете и не заметите. Лучше не заострять внимание на чём-то близком к убеждениям и ценностям.
Особенно публично. Вот особенно, блин, публично! В любой культуре у человека при публичной критике возникает чувство стыда, позора и партсобрания. Публично (в присутствии коллег и шефа) стоит вести себя аккуратно и, выразимся так, фильтровать базар. Фильтровать базар в личных разговорах так же полезно. Обсуждения начальника и коллег с третьими лицами может плохо кончится.
Искренность не в моде. Твиттер и куча сериалов учат нас плохому. Увы, но быть шибко прямым, или рассказывать слишком личные вещи о себе, устраивать "душеизлияние" — приемлемо лишь в немногих культурах (например, в еврейской), да и то в разумных пределах. В прочих случаях внезапное душеизлияние вызывает хорошо ощущаемое чувство кринжа. Не надо так.
В целом, люди не любят оценок. Плохая оценка — это критика (см. выше), хорошая оценка — слишком личное. Если не хотите никого обидеть, лучше избегайте ярко окрашенных слов-оценок ("плохо", "хорошо", "отвратно", "превосходно") по отношению к людям или их действиям. В оценке коробит сам факт оценки. А вот благодарность, внезапно — это норм, люди переносят её лучше чем оценку (даже хорошую). Да, это всё про обтекаемость формулировок. Статистическое наблюдение: чем благополучнее страна, из которой ваш собеседник — тем более обтекаемые формулировки стоит использовать. Чем менее — тем больше собеседник толерантен к панибратству. Но лучше придерживаться обтекаемых формулировок.
По-хорошему весь этот текст должен быть выделен курсивом, а это предложение — нет :)
И смайлики! Помните про смайлики. Эмоции не всегда понятны из текста!
Такие дела
Вчера я что-то разговорился про софт-скиллы. Решил описать кратко все свои знания на эту тему, которые я подчерпнул из общей психологии. Да, я таким увлекаюсь немного. Так вот.
Людей демотивирует когда им непонятно чего от них хотят. Доверие людей рушится, когда они чувствуют что ими командует кто-то некомпетентный. Не грубиян/мудила/ловелас, а именно некомпетентный. Или самоутверждающийся за чей-то счёт.
Людям не нравятся слишком личные отношения на работе. Это не значит, что надо орать каждому коллеге "подите прочь, развратный мужчина!", но стоит дозировать интерес. Иначе это может быть неправильно истолковано. Только в американских фильмах принято приглашать начальника на ужин. В нормальных компаниях даже коллегу пригласить на ужин — это немного... ну... ту мач. Не смешивать личное и рабочее — дефолтное состояние людей, надо об этом помнить.
Вообще, не надо пытаться делать из коллег друзей. У меня за всю рабочую историю образовалась куча полезных контактов, но подружились мы... ммм... пожалуй, людьми с пятью или около того. При всей важности, работа — так себе социализация. Лучше подыскать другое место.
Кстати смотрите, живая демонстрация: если бы я в предыдущем предложении написал "лучше подыщите другое место" — то кто-то наверняка нашёл бы это offensive, потому что я как бы поучаю, или приказываю. Поэтому я намеренно меняю эту формулировку в речи — и текст звучит чуть более... деликатно, чтоли.
Людям не нравятся, когда критикуют их ценности и убеждения. У всех людей есть "священные коровы" и надо постараться аккуратно их нащупать и обходить стороной. Корову можно задеть даже неосторожным мнением. Если хочется рискнуть — можно этим немного манипулировать. Можно, например, сказать человеку, что ты восхищаешься культурой его страны, даже если тебе пох при условии что человеку это важно. Но это тонкая игра. Лучше в такое не ввязываться. Там полно всяких глубоко личных рычагов — дёрнете и не заметите. Лучше не заострять внимание на чём-то близком к убеждениям и ценностям.
Особенно публично. Вот особенно, блин, публично! В любой культуре у человека при публичной критике возникает чувство стыда, позора и партсобрания. Публично (в присутствии коллег и шефа) стоит вести себя аккуратно и, выразимся так, фильтровать базар. Фильтровать базар в личных разговорах так же полезно. Обсуждения начальника и коллег с третьими лицами может плохо кончится.
Искренность не в моде. Твиттер и куча сериалов учат нас плохому. Увы, но быть шибко прямым, или рассказывать слишком личные вещи о себе, устраивать "душеизлияние" — приемлемо лишь в немногих культурах (например, в еврейской), да и то в разумных пределах. В прочих случаях внезапное душеизлияние вызывает хорошо ощущаемое чувство кринжа. Не надо так.
В целом, люди не любят оценок. Плохая оценка — это критика (см. выше), хорошая оценка — слишком личное. Если не хотите никого обидеть, лучше избегайте ярко окрашенных слов-оценок ("плохо", "хорошо", "отвратно", "превосходно") по отношению к людям или их действиям. В оценке коробит сам факт оценки. А вот благодарность, внезапно — это норм, люди переносят её лучше чем оценку (даже хорошую). Да, это всё про обтекаемость формулировок. Статистическое наблюдение: чем благополучнее страна, из которой ваш собеседник — тем более обтекаемые формулировки стоит использовать. Чем менее — тем больше собеседник толерантен к панибратству. Но лучше придерживаться обтекаемых формулировок.
По-хорошему весь этот текст должен быть выделен курсивом, а это предложение — нет :)
И смайлики! Помните про смайлики. Эмоции не всегда понятны из текста!
Такие дела
Forwarded from Господин Архитектор
Продакты это современный класс бюрократов
Когда-то в 50х, когда тейлоризм (научная эргономика и организация труда) перестал быть надеждой на светлое будущее устройства корпораций, управленческая мысль прыгнула к следущей остановке: сложно устроенными системами из людей не могут управлять простые правила, а только другие люди.
Так бюрократия, впервые опробованная в госуправлении еще в 18 веке, поселилась и внутри коммерческих компаний, постепенно выйдя из под всякого контроля. Ситуация бюрократической волокиты высмеяна даже у Паркинсона в его "законах" (чиновник стремится множить подчинённых, а не соперников; чиновники создают друг другу работу и далее столь же точно).
В наше время безудержного аджайла такой беспартийной номенклатурой-бюрократией стали продакт-менеджеры. В самом деле:
* Мало кто понимает, чем занимается конкретный продакт на конкретном месте;
* Тем не менее, любой продакт за пять минут вам обоснует, почему именно он тут ни за что не отвечает;
* Как правило, продакт сам должен назначить, за что себя пороть (OKR и все-все-все);
* Часть самых невезучих заранее назначаются в виноватые за все плохое, что происходит с динамикой компании, остальные тупо чиллят;
* Попытка подсветить эту ситуацию натыкается на аргумент "Быть этого не может, ты что-то путаешь: это у вотерфолла бюрократия, а тут -- гибкие методологии";
* Будучи нанятым, продакт стремится нанять себе в группировку еще продактов; вакансии на продакт-менеджеров просто ломятся, основной спрос генерирует Москва -- там уже фишку поняли;
* Непрерывно генерируют поток работы для всей остальной компании, но редко бывают ответственными за это или вообще не принимают эти работы у исполнителей.
* Управляется примерно так же отчетами, как и бюрократы прошлого века; для солидности и аджайлости называются метриками, KPI (ой, OKR, мы же не вотерфолл какой -то!)
* Пока вся "мыкаманда" сидит до утра, отлаживая релиз, продакт уже отправил отчет куда-то выше и поехал кушать порридж с соевым немясом.
..
А между тем, в далеком 1995-м, еще до бума доткомов, Эд Салливан ("NuMega") писал про задачи продакт-менеджера так:
* Формулировать требования рынка;
* Курировать экономические аспекты создаваемого продукта.
Это абсолютно исчерапывающе, и столь же непопулярно.
Но пока бюрократическая стратегия побеждает: 1. залить людьми 2. регулярно перетряхивать 3. ждать самоорганизации команды и результатов.
Почему это пока "выгодно" всем, я писал чуть раньше, и похоже, что удаленка тоже не поправит положение -- по крайней мере, в ближайшее время.
Когда-то в 50х, когда тейлоризм (научная эргономика и организация труда) перестал быть надеждой на светлое будущее устройства корпораций, управленческая мысль прыгнула к следущей остановке: сложно устроенными системами из людей не могут управлять простые правила, а только другие люди.
Так бюрократия, впервые опробованная в госуправлении еще в 18 веке, поселилась и внутри коммерческих компаний, постепенно выйдя из под всякого контроля. Ситуация бюрократической волокиты высмеяна даже у Паркинсона в его "законах" (чиновник стремится множить подчинённых, а не соперников; чиновники создают друг другу работу и далее столь же точно).
В наше время безудержного аджайла такой беспартийной номенклатурой-бюрократией стали продакт-менеджеры. В самом деле:
* Мало кто понимает, чем занимается конкретный продакт на конкретном месте;
* Тем не менее, любой продакт за пять минут вам обоснует, почему именно он тут ни за что не отвечает;
* Как правило, продакт сам должен назначить, за что себя пороть (OKR и все-все-все);
* Часть самых невезучих заранее назначаются в виноватые за все плохое, что происходит с динамикой компании, остальные тупо чиллят;
* Попытка подсветить эту ситуацию натыкается на аргумент "Быть этого не может, ты что-то путаешь: это у вотерфолла бюрократия, а тут -- гибкие методологии";
* Будучи нанятым, продакт стремится нанять себе в группировку еще продактов; вакансии на продакт-менеджеров просто ломятся, основной спрос генерирует Москва -- там уже фишку поняли;
* Непрерывно генерируют поток работы для всей остальной компании, но редко бывают ответственными за это или вообще не принимают эти работы у исполнителей.
* Управляется примерно так же отчетами, как и бюрократы прошлого века; для солидности и аджайлости называются метриками, KPI (ой, OKR, мы же не вотерфолл какой -то!)
* Пока вся "мыкаманда" сидит до утра, отлаживая релиз, продакт уже отправил отчет куда-то выше и поехал кушать порридж с соевым немясом.
..
А между тем, в далеком 1995-м, еще до бума доткомов, Эд Салливан ("NuMega") писал про задачи продакт-менеджера так:
* Формулировать требования рынка;
* Курировать экономические аспекты создаваемого продукта.
Это абсолютно исчерапывающе, и столь же непопулярно.
Но пока бюрократическая стратегия побеждает: 1. залить людьми 2. регулярно перетряхивать 3. ждать самоорганизации команды и результатов.
Почему это пока "выгодно" всем, я писал чуть раньше, и похоже, что удаленка тоже не поправит положение -- по крайней мере, в ближайшее время.
Вино и гашиш
А оно ж вот ещё как бывает. Значит, представьте: относительно небольшая аутсорс-компания в относительной российской глубинке. Не в городе-милионнике, но и не в деревне.
Директор и учредитель — крепкий мужик за 35. Ещё из старой школы инженеров. С проблесками первой седины. Хорошо владеет проектированием, хорошо разрабатывает код на всяком. По старым кругам знакомств притащил себе несколько заказов из США. Собрал команду, пустил проекты в работу. Хорошо у него больно получалось в аутсорс. Многообещающе. Ребята совместно зарабатывали около 10 млн баксов в год (что по меркам провинции очень и очень неплохо). Не спеша росли. Направления новые открывали, людей набирали.
Потом я как-то перестал за ними следить. А тут что-то вспомнил. Спросил у знакомого — как там вон те ребята поживают. "А никак" — отвечает мне знакомый — "директор их о бутылку споткнулся". Я откровенно не понял о чем речь. В ответ собеседник поясняет: мол, в семье у него там что-то случилось, с женой развёлся и выпивать начал. Сначала дома после работы потихоньку поквашивал. Потом на работе, говорят, вискарь хранить начал. На весь офис перегаром несло. А через некоторое время и вовсе ушёл "на удалёнку", в рабочих чатах не появлялся сутками среди недели, созвоны пропускать стал.
Проекты в итоге все потерял. Часть сотрудников к заказчикам напрямую ушли, кто-то просто уволился и нашёл себе другую работу. Сейчас, говорит, мужик с командой каких-то контракторов-отщепенцев окуклился и что-то ещё пилит потихоньку, а фоном всё так же бухать продолжает. "Жалко" — подытожил мой собеседник. Я с ним согласился.
Ребят, если вам приходится чем-то руководить, учтите: да, будет непросто, лёгкого вояжа никто не обещал. Будут и взлёты и падения. И с коллективом проблемы, и с семьёй вероятно, и с друзьями. Крепитесь, наберитесь сил, но во имя всего святого.
Осторожнее с выпивкой!
Да и вообще по-меньше вредных привычек. Тело этого не любит, да и голова тоже. Будьте собраны и внимательны. Не перерабатывайте, полноценно отдыхайте, хорошо и правильно кушайте. Помните что на вас рассчитывает множество людей. Нехорошо их подводить таким глупым способом.
Да, вот такой простой и житейский пост, немного отдающий суровой российской хтонью. Все персонажи, разумеется, вымышлены, а совпадения случайны.
Такие дела
А оно ж вот ещё как бывает. Значит, представьте: относительно небольшая аутсорс-компания в относительной российской глубинке. Не в городе-милионнике, но и не в деревне.
Директор и учредитель — крепкий мужик за 35. Ещё из старой школы инженеров. С проблесками первой седины. Хорошо владеет проектированием, хорошо разрабатывает код на всяком. По старым кругам знакомств притащил себе несколько заказов из США. Собрал команду, пустил проекты в работу. Хорошо у него больно получалось в аутсорс. Многообещающе. Ребята совместно зарабатывали около 10 млн баксов в год (что по меркам провинции очень и очень неплохо). Не спеша росли. Направления новые открывали, людей набирали.
Потом я как-то перестал за ними следить. А тут что-то вспомнил. Спросил у знакомого — как там вон те ребята поживают. "А никак" — отвечает мне знакомый — "директор их о бутылку споткнулся". Я откровенно не понял о чем речь. В ответ собеседник поясняет: мол, в семье у него там что-то случилось, с женой развёлся и выпивать начал. Сначала дома после работы потихоньку поквашивал. Потом на работе, говорят, вискарь хранить начал. На весь офис перегаром несло. А через некоторое время и вовсе ушёл "на удалёнку", в рабочих чатах не появлялся сутками среди недели, созвоны пропускать стал.
Проекты в итоге все потерял. Часть сотрудников к заказчикам напрямую ушли, кто-то просто уволился и нашёл себе другую работу. Сейчас, говорит, мужик с командой каких-то контракторов-отщепенцев окуклился и что-то ещё пилит потихоньку, а фоном всё так же бухать продолжает. "Жалко" — подытожил мой собеседник. Я с ним согласился.
Ребят, если вам приходится чем-то руководить, учтите: да, будет непросто, лёгкого вояжа никто не обещал. Будут и взлёты и падения. И с коллективом проблемы, и с семьёй вероятно, и с друзьями. Крепитесь, наберитесь сил, но во имя всего святого.
Осторожнее с выпивкой!
Да и вообще по-меньше вредных привычек. Тело этого не любит, да и голова тоже. Будьте собраны и внимательны. Не перерабатывайте, полноценно отдыхайте, хорошо и правильно кушайте. Помните что на вас рассчитывает множество людей. Нехорошо их подводить таким глупым способом.
Да, вот такой простой и житейский пост, немного отдающий суровой российской хтонью. Все персонажи, разумеется, вымышлены, а совпадения случайны.
Такие дела
Трекинг времени
Самая жопа, ребят — это тайм-трекинг. Это говорит вам не кто-нибудь, а человек, честно отработавший 4 года на апворке.
Вы знаете, в офисе работа идёт медленно. Ты выходишь покурить, в туалет, на обед. Митингуешь, беседуешь с коллегами и довольно редко сконцентрированно пишешь код. Поговаривают, что если программист написал за 3 дня 20 строчек хорошо отлаженного кода — то он уже молодец. Хех. Офисный положняк.
Скажите, вы когда-нибудь задумыавлись о том, что есть такие места, где людей выжимают хуже галер? А они есть. UpWork в меньшей степени, Crossover (Trilogy) — в бОльшей. Ты буквально не можешь быть ничем занят кроме работы. Трекаются движения мыши, нажатия клавиш, скриншоты делаются рандомно каждые 10 минут. Стоит тебе перестать шевелить мышью — всё, трекер уже видит что не работаешь и не засчитывает тебе следующие 10 минут. Любой созвон — хз даже учитывается или нет. Тебе это точно неизвестно, поэтому ты инстинктивно шевелишь мышкой. На всякий случай пытаешься свести все разговоры к минимуму.
И это ещё лайтовый вариант. В Crossover, говорят, требуют видеокамеру включать. То есть, простите, одеваться надо соответственно, ни поссать не отойдёшь без потери бабла, ни поесть. И пусть в Crossover это происходит за действительно ВЕСЬМА ПРИЛИЧНЫЕ деньги (по меркам всего мира, а не РФ), но, согласитесь, не так большинство людей представляют себе удалёнку.
Так вот, в Crossover мне попасть не довелось — интервью не прошёл. А на UpWork я потрудился изрядно. Поверьте видавшему виды, 8 часов в офисе и 8 часов на UpWork с тайм-трекером — это чертовски разные 8 часов. Думать надо быстрее, код писать больше, дебажить-отлаживать тоже. Созвоны схлопываются до 3-5 минут максимум. Башка от такого темпа перегревается и к вечеру она уже натурально ватная. Ты даже не можешь думать. Просто сидишь и тупо втыкаешь в интернет.
Плюс к тому же. Кто там жаловался на софт-скиллы и токсичную атмосферу в офисе? Деточки, побудьте-ка в 12-часовом напряжении от ощущения тотального недоверия, представляя себе краем мозга как скряга-манагер скурпулёзно вчитытвается в твои скриншотики и может в общем-то предъявить по делу за любое 3х-минутное пропадание с радаров. Старое-доброе южноамериканское рабство! И такие марафоны тянутся месяцами.
Спасает, то, что за весь этот цирк очень вкусно платили по меркам той перди, в которой я живу. Когда твои друзья получают тысяч 30-50 максимум — ты, как король можешь позволить себе дорогие рестораны, приличные кабаки и аренду классных тачек. Ну... раз в пару месяцев. И не выключая телефон, потому что хз когда тебя дёрнут с работы.
Самая жопа настаёт, когда у заказчика для тебя мало задач. Или когда ты должен ждать чьего-то фидбека/участвовать в переговорах. Им-то там хорошо, они в офисе, на зарплате. Могут позволить себе отойти от компа и вернуться через пару часов. А тебе ждать некогда - цыгель-цыгель. Иначе придётся елозить мышкой чтобы трекер не заснул или самостоятельно искать себе другие задачи. Потому что в нужный момент не ответишь — уже проблема с availability, заказчик начинает трястись за свои долоры. В итоге ты вечно перегружен, берёшь на себя много и ставишь месенджер на телефон, чтобы быть на связи даже когда кувыркаешься с кем-то в постели.
Удалёнка научила меня чёткому правилу: если есть тайм-трекинг, то оплата почасовая. И рейт будет в 2 раза выше. Потому что мне по-любому придётся торчать у монитора. Хер его знает когда у вас там всплески рабочей деятельности, а поясница у меня одна.
Хотите дешевле — берите сразу оптом 160 моих рабочих часов в месяц за фиксированный прайс и свой тайм-трекер в жопу себе засуньте. Оптом всегда дешевле. Слышали о таком, бизнесмены гречневые? Квант поставки, накладные расходы, все дела. Мне что-ли вас учить?
Но вообще попробовать UpWork стоит. Многое понимаешь о ритме работы, задачах, ценностях бизнеса, деньгах...
Да и вообще о жизни.
Такие дела
Самая жопа, ребят — это тайм-трекинг. Это говорит вам не кто-нибудь, а человек, честно отработавший 4 года на апворке.
Вы знаете, в офисе работа идёт медленно. Ты выходишь покурить, в туалет, на обед. Митингуешь, беседуешь с коллегами и довольно редко сконцентрированно пишешь код. Поговаривают, что если программист написал за 3 дня 20 строчек хорошо отлаженного кода — то он уже молодец. Хех. Офисный положняк.
Скажите, вы когда-нибудь задумыавлись о том, что есть такие места, где людей выжимают хуже галер? А они есть. UpWork в меньшей степени, Crossover (Trilogy) — в бОльшей. Ты буквально не можешь быть ничем занят кроме работы. Трекаются движения мыши, нажатия клавиш, скриншоты делаются рандомно каждые 10 минут. Стоит тебе перестать шевелить мышью — всё, трекер уже видит что не работаешь и не засчитывает тебе следующие 10 минут. Любой созвон — хз даже учитывается или нет. Тебе это точно неизвестно, поэтому ты инстинктивно шевелишь мышкой. На всякий случай пытаешься свести все разговоры к минимуму.
И это ещё лайтовый вариант. В Crossover, говорят, требуют видеокамеру включать. То есть, простите, одеваться надо соответственно, ни поссать не отойдёшь без потери бабла, ни поесть. И пусть в Crossover это происходит за действительно ВЕСЬМА ПРИЛИЧНЫЕ деньги (по меркам всего мира, а не РФ), но, согласитесь, не так большинство людей представляют себе удалёнку.
Так вот, в Crossover мне попасть не довелось — интервью не прошёл. А на UpWork я потрудился изрядно. Поверьте видавшему виды, 8 часов в офисе и 8 часов на UpWork с тайм-трекером — это чертовски разные 8 часов. Думать надо быстрее, код писать больше, дебажить-отлаживать тоже. Созвоны схлопываются до 3-5 минут максимум. Башка от такого темпа перегревается и к вечеру она уже натурально ватная. Ты даже не можешь думать. Просто сидишь и тупо втыкаешь в интернет.
Плюс к тому же. Кто там жаловался на софт-скиллы и токсичную атмосферу в офисе? Деточки, побудьте-ка в 12-часовом напряжении от ощущения тотального недоверия, представляя себе краем мозга как скряга-манагер скурпулёзно вчитытвается в твои скриншотики и может в общем-то предъявить по делу за любое 3х-минутное пропадание с радаров. Старое-доброе южноамериканское рабство! И такие марафоны тянутся месяцами.
Спасает, то, что за весь этот цирк очень вкусно платили по меркам той перди, в которой я живу. Когда твои друзья получают тысяч 30-50 максимум — ты, как король можешь позволить себе дорогие рестораны, приличные кабаки и аренду классных тачек. Ну... раз в пару месяцев. И не выключая телефон, потому что хз когда тебя дёрнут с работы.
Самая жопа настаёт, когда у заказчика для тебя мало задач. Или когда ты должен ждать чьего-то фидбека/участвовать в переговорах. Им-то там хорошо, они в офисе, на зарплате. Могут позволить себе отойти от компа и вернуться через пару часов. А тебе ждать некогда - цыгель-цыгель. Иначе придётся елозить мышкой чтобы трекер не заснул или самостоятельно искать себе другие задачи. Потому что в нужный момент не ответишь — уже проблема с availability, заказчик начинает трястись за свои долоры. В итоге ты вечно перегружен, берёшь на себя много и ставишь месенджер на телефон, чтобы быть на связи даже когда кувыркаешься с кем-то в постели.
Удалёнка научила меня чёткому правилу: если есть тайм-трекинг, то оплата почасовая. И рейт будет в 2 раза выше. Потому что мне по-любому придётся торчать у монитора. Хер его знает когда у вас там всплески рабочей деятельности, а поясница у меня одна.
Хотите дешевле — берите сразу оптом 160 моих рабочих часов в месяц за фиксированный прайс и свой тайм-трекер в жопу себе засуньте. Оптом всегда дешевле. Слышали о таком, бизнесмены гречневые? Квант поставки, накладные расходы, все дела. Мне что-ли вас учить?
Но вообще попробовать UpWork стоит. Многое понимаешь о ритме работы, задачах, ценностях бизнеса, деньгах...
Да и вообще о жизни.
Такие дела
Про работу в потоке
Заметил что моя продуктивность на долгих задачах снижается. Стало интересно разобраться как так получается.
Вот я, когда пишу кровавый тырпрайз на шарпе, жуть как не люблю добавлять поля в базу данных. То есть нет, сама операция-то простая — закинуть проперть в класс, заскаффолдить миграцию... А дальше?
А дальше это всё надо как-то отдебажить. И это, блин, долго: нужен сервер БД для дебага. Хорошо если есть docker-образ, чтобы быстренько поднять локально. А если его нет? А если надо ставить MSSQL и создавать базу данных или восстанавливать бекап? А если надо подключаться через VPN к существующему серверу? Вот все эта мелочёвка отнимает тонну времени. Что при этом происходит в голове?
А в голове я держу названия 3-5 классов в коде, столько же методов, представление как это всё лежит на диске и как взаимодействует. Помню какую переменную куда добавил, какой метод куда докинул, какую сборку подключил. Это позволяет быстро принимать решения и воплощать их в коде. Это и называется "работать в потоке". Так вот, когда работающий в потоке мозг сталкивается с необходимостью подождать — ощущение, будто поезд, несущийся во всех парах втыкается в скалу.
При том с современным тулингом ждать приходится долго так, основательно. До нескольких минут. Ждать пока сраный VPN подключится, билд пройдёт, виртуалка поднимается, бэкап развернётся, фронтенд соберётся. Что делать в это время? Обычно я стараюсь сохранить состояние потока до последнего и переключиться на другую задачу, или ответить коллеге, или прочесть почту. Но если ждать надо дольше 5 минут — я из потока вываливаюсь. Иду твиттер читать, ютубчик глядеть, телефон проверять. Всё, здравствуй прокрастинация.
Вот так я обнаруживаю, что сижу и тупо скроллю интернет. А пока я его скроллю — контекст задачи из головы выветривается. Помилуйте, ну какая задача? Там вон сиськи показывают, в подкасте KUJI что-то интересное рассказывают, в твиттере опять феминистки сцепились. Мозг остывает и к работе я возвращаюсь через полчаса минимум. Медленно влезаю обратно в поток, подгружаю контекст задачи...
Так, что я там хотел сделать? А, поле в базу добавить!
...
В первом сезоне Halt and Catch Fire протагонист толкал отличный тейк о том, что отклик машины менее 400мс — это совершенно иной опыт взаимодействия. Когда ждать надо долго — хочется отвлечься. Поглядеть телек, положить вещи в стиралку, сделать себе кофе. Отклик менее 400мс мозг воспринимает как мгновенный. А когда машина мгновенно отвечает на твои команды — она тебя засасывает. Приковывает твоё внимание. Отвлекаться не хочется совершенно. Это и есть состояние потока.
Это я всё к чему? Подозреваю, что не у меня одного голова так работает. И мораль тут следующая: архитектурное говно, тонна завивимостей, уебанский доступ к инфраструктуре, долгая сборка и запуск на дебаг — всё это снижает development experience и повышает когнитивную ёмкость. Разрабы прокрастинируют как описано выше, и фичи пилятся медленно. Всё то рабочее время, которое оплачивается каждый месяц, уходит просто на бесполезное ожидание, переключения контекста и прочее нагревание воздуха в помещении. А если ещё сдобрить парой созвонов, ммм...
Понимаете, если разработка идёт медленно — проблема не в разрабах. Разве что буддийский монах сможет сидеть и 10 минут смотреть в прогресс-бар, сохраняя концентрацию. Ваша команда может сплошь состоять из супер-быстрых и умных литкод-ниндзей, но если проект не располагает к оптимальному использованию когнитивных ресурсов, то толку от ваших top-3%-профессионалов будет не больше чем от команды джунов.
Когнитивная ёмкость и development experience — просто непаханное поле для исследований и разработок. Но современная архитектурная мысль движется, мне кажется, в диаметрально противоположном направлении: чем сложнее — тем лучше. А покуда оно так — всё у нас будет через жопу.
Такие дела
Заметил что моя продуктивность на долгих задачах снижается. Стало интересно разобраться как так получается.
Вот я, когда пишу кровавый тырпрайз на шарпе, жуть как не люблю добавлять поля в базу данных. То есть нет, сама операция-то простая — закинуть проперть в класс, заскаффолдить миграцию... А дальше?
А дальше это всё надо как-то отдебажить. И это, блин, долго: нужен сервер БД для дебага. Хорошо если есть docker-образ, чтобы быстренько поднять локально. А если его нет? А если надо ставить MSSQL и создавать базу данных или восстанавливать бекап? А если надо подключаться через VPN к существующему серверу? Вот все эта мелочёвка отнимает тонну времени. Что при этом происходит в голове?
А в голове я держу названия 3-5 классов в коде, столько же методов, представление как это всё лежит на диске и как взаимодействует. Помню какую переменную куда добавил, какой метод куда докинул, какую сборку подключил. Это позволяет быстро принимать решения и воплощать их в коде. Это и называется "работать в потоке". Так вот, когда работающий в потоке мозг сталкивается с необходимостью подождать — ощущение, будто поезд, несущийся во всех парах втыкается в скалу.
При том с современным тулингом ждать приходится долго так, основательно. До нескольких минут. Ждать пока сраный VPN подключится, билд пройдёт, виртуалка поднимается, бэкап развернётся, фронтенд соберётся. Что делать в это время? Обычно я стараюсь сохранить состояние потока до последнего и переключиться на другую задачу, или ответить коллеге, или прочесть почту. Но если ждать надо дольше 5 минут — я из потока вываливаюсь. Иду твиттер читать, ютубчик глядеть, телефон проверять. Всё, здравствуй прокрастинация.
Вот так я обнаруживаю, что сижу и тупо скроллю интернет. А пока я его скроллю — контекст задачи из головы выветривается. Помилуйте, ну какая задача? Там вон сиськи показывают, в подкасте KUJI что-то интересное рассказывают, в твиттере опять феминистки сцепились. Мозг остывает и к работе я возвращаюсь через полчаса минимум. Медленно влезаю обратно в поток, подгружаю контекст задачи...
Так, что я там хотел сделать? А, поле в базу добавить!
...
В первом сезоне Halt and Catch Fire протагонист толкал отличный тейк о том, что отклик машины менее 400мс — это совершенно иной опыт взаимодействия. Когда ждать надо долго — хочется отвлечься. Поглядеть телек, положить вещи в стиралку, сделать себе кофе. Отклик менее 400мс мозг воспринимает как мгновенный. А когда машина мгновенно отвечает на твои команды — она тебя засасывает. Приковывает твоё внимание. Отвлекаться не хочется совершенно. Это и есть состояние потока.
Это я всё к чему? Подозреваю, что не у меня одного голова так работает. И мораль тут следующая: архитектурное говно, тонна завивимостей, уебанский доступ к инфраструктуре, долгая сборка и запуск на дебаг — всё это снижает development experience и повышает когнитивную ёмкость. Разрабы прокрастинируют как описано выше, и фичи пилятся медленно. Всё то рабочее время, которое оплачивается каждый месяц, уходит просто на бесполезное ожидание, переключения контекста и прочее нагревание воздуха в помещении. А если ещё сдобрить парой созвонов, ммм...
Понимаете, если разработка идёт медленно — проблема не в разрабах. Разве что буддийский монах сможет сидеть и 10 минут смотреть в прогресс-бар, сохраняя концентрацию. Ваша команда может сплошь состоять из супер-быстрых и умных литкод-ниндзей, но если проект не располагает к оптимальному использованию когнитивных ресурсов, то толку от ваших top-3%-профессионалов будет не больше чем от команды джунов.
Когнитивная ёмкость и development experience — просто непаханное поле для исследований и разработок. Но современная архитектурная мысль движется, мне кажется, в диаметрально противоположном направлении: чем сложнее — тем лучше. А покуда оно так — всё у нас будет через жопу.
Такие дела
Цукерберг не позвонил
А вот я считаю что во всём виноват Цукерберг. Он положил начало современному положению дел в индустрии. Как так вышло?
Смотрите, открываю тайну. Facebook со дня своего основания не имел ровно никакого отношения к разработке ПО. Тот код, который Цукерберг набросал на PHP мог сделать любой человек из моих читателей. Но почему же взлетел именно Facebook?
А взлетел благодаря тому, что продуктологи называют "попадание в голубой океан". Инновация, которую произвёл Цукерберг лежит сугубо в социальной плоскости. Он открыл потребность людей в нормальном человеческом общении и, если так можно выразиться, социальном service discovery.
Все интернет-сервисы начиная годов с 1995х были ориентированы на анонимность. Все скрывались за никнеймами, которые в половине случаев не допускали пробелов. Это было трендово. Людям несказанно вкатывала возможность стать кем-то другим в сети. Это в жизни ты — Пётр Сергеевич из Малых Комарищ. А в ICQ или IRC ты мог самоназваться Императором Жоп и спокойно... кхм... обходить свои владения. И никто не мог тебе по этому поводу ничего предъявить.
Одна была загвоздка: контакты хрен достанешь. Телефон интересующей тебя девушки надо было выспрашивать у знакомых, имейл профессора, которого хочешь взять в научруки — на кафедре и за шоколадку, номер ICQ грамотного верстальщика — на профильных форумах. На этом и сыграл Цукерберг.
На ту пору он уже был немного известен в Гарварде своими утилитами для студентов. И Facebook был его magnum opus, набросанный за пару недель на PHP, мдауж. По сути это внутренняя универсальная книга контактов Гарварда. В отличие от жёлтых страницы и телефонных справочников, она давала значительно больше информации о человеке, чем просто фамилия и телефон. И это было именно то, что нужно всем. Не только студентам.
Цукерберг открыл огромный отложенный спрос на нетворкинг и социальное взаимодействие всех со всеми, срубил денег сначала на инвестициях, а потом на трафике и на рекламе. После чего двинулся в направлении развития рекламной аналитики, технических оптимизаций фейсбука и диверсификации инвестиций.
По сути Facebook — это медиабизнес. Как новостной портал, просто некисло продвинувшийся в правильном социальном контексте. К технологиям же Цукерберг имеет не больше отношения, чем Ларри Флинт к печатному станку.
Но горе-журналисты как всегда не разобрались и всё перепутали. Почему-то обозвали Цукерберга программистом, фейсбук — IT-гигантом. А молодым юношам со взором горящим зачитали пацанские бизнес-цитаты и нарисовали красивую картинку успешности в IT без мам, пап, кредитов и стартового капитала.
Бедные ребята из Калуги. Никто им не сказал, что для успеха недостаточно открывать новые рынки. Надо ещё родиться в США и поступить в Гарвард.
Мне видится так, что именно после Цукерберга IT-индустрия стала тем, чем она является сейчас. Крутые инженерные решения больше не в тренде. Разработчик и IT-бизнесмен нынче на хайпе, общается с кучей людей и светится успешным успехом, пока его три строчки говнокода выжигают CPU несчастного амазоновского сервера до тла.
В какие времена живём!
Такие дела
А вот я считаю что во всём виноват Цукерберг. Он положил начало современному положению дел в индустрии. Как так вышло?
Смотрите, открываю тайну. Facebook со дня своего основания не имел ровно никакого отношения к разработке ПО. Тот код, который Цукерберг набросал на PHP мог сделать любой человек из моих читателей. Но почему же взлетел именно Facebook?
А взлетел благодаря тому, что продуктологи называют "попадание в голубой океан". Инновация, которую произвёл Цукерберг лежит сугубо в социальной плоскости. Он открыл потребность людей в нормальном человеческом общении и, если так можно выразиться, социальном service discovery.
Все интернет-сервисы начиная годов с 1995х были ориентированы на анонимность. Все скрывались за никнеймами, которые в половине случаев не допускали пробелов. Это было трендово. Людям несказанно вкатывала возможность стать кем-то другим в сети. Это в жизни ты — Пётр Сергеевич из Малых Комарищ. А в ICQ или IRC ты мог самоназваться Императором Жоп и спокойно... кхм... обходить свои владения. И никто не мог тебе по этому поводу ничего предъявить.
Одна была загвоздка: контакты хрен достанешь. Телефон интересующей тебя девушки надо было выспрашивать у знакомых, имейл профессора, которого хочешь взять в научруки — на кафедре и за шоколадку, номер ICQ грамотного верстальщика — на профильных форумах. На этом и сыграл Цукерберг.
На ту пору он уже был немного известен в Гарварде своими утилитами для студентов. И Facebook был его magnum opus, набросанный за пару недель на PHP, мдауж. По сути это внутренняя универсальная книга контактов Гарварда. В отличие от жёлтых страницы и телефонных справочников, она давала значительно больше информации о человеке, чем просто фамилия и телефон. И это было именно то, что нужно всем. Не только студентам.
Цукерберг открыл огромный отложенный спрос на нетворкинг и социальное взаимодействие всех со всеми, срубил денег сначала на инвестициях, а потом на трафике и на рекламе. После чего двинулся в направлении развития рекламной аналитики, технических оптимизаций фейсбука и диверсификации инвестиций.
По сути Facebook — это медиабизнес. Как новостной портал, просто некисло продвинувшийся в правильном социальном контексте. К технологиям же Цукерберг имеет не больше отношения, чем Ларри Флинт к печатному станку.
Но горе-журналисты как всегда не разобрались и всё перепутали. Почему-то обозвали Цукерберга программистом, фейсбук — IT-гигантом. А молодым юношам со взором горящим зачитали пацанские бизнес-цитаты и нарисовали красивую картинку успешности в IT без мам, пап, кредитов и стартового капитала.
Бедные ребята из Калуги. Никто им не сказал, что для успеха недостаточно открывать новые рынки. Надо ещё родиться в США и поступить в Гарвард.
Мне видится так, что именно после Цукерберга IT-индустрия стала тем, чем она является сейчас. Крутые инженерные решения больше не в тренде. Разработчик и IT-бизнесмен нынче на хайпе, общается с кучей людей и светится успешным успехом, пока его три строчки говнокода выжигают CPU несчастного амазоновского сервера до тла.
В какие времена живём!
Такие дела
Dogfood
Есть такая продуктовая практика. Когда компания сама же и пользуется софтом, который разрабатывает. Задумка — супер. Получение быстрой обратной связи от пользователей и, как результат, быстрый фикс багов, деливер по-настоящему востребованных фич и быстрая подстройка под рынок.
А ещё можно некисло экономить на тестировании продукта. Это ж прекрасно: 24/7 у тебя есть под рукой отдел тестирования, репортящий всё на свете — от не скачавшегося файлика до UI/UX огрехов. Ну не красота ли?
Выражение пошло, говорят, от случая, когда директор компании Kal Kan Pet Food (позже известной как Pedigree, впоследствии выкупленной Mars Inc) на встрече совета директоров открыл и сожрал банку консервов для собак своего же собственного производства. Но это слухи, как оно было на самом деле — неизвестно. Но термин стал применяться для обозначения ситуации, когда компания пользуется своими же собственными товарами и услугами. Не только в IT.
Я слышал про работающий Dogfood в JetBrains. По словам знакомых оттуда, ребята, разрабатывающие ReSharper, писали его в Visual Studio с установленным же ReSharper-ом. И когда кто-то из разрабов не выдерживал неудобства, или же придумывал новую крутую фичу — он шёл и собственноручно всё запиливал. Потом фичей пользовалась вся команда, потом она попадала в превью (когда можно включить специальной галочкой в настройках). А если и целевой аудитории вкатывало, то совместными усилиями фичу допиливали, убирали из превью и полноценно добавляли в продукт.
Короче, в концепции dogfood всё круто, кошерно и замечательно. В теории. На практике же, видимо только у JetBrains оно и работает, а у остальных — нет. Но как же так? Почему? Ответ, как мне кажется, достаточно прост:
Чтобы соображать в собачьей еде, надо быть собакой.
То есть мало просто пользоваться продуктами своей же компании. Надо иметь пользовательские интересы и цели, схожие с таковыми у целевой аудитории продукта.
В случае JetBrains, dogfood-пользователи, как и целевая аудитория были разработчиками. Поэтому проканало.
Но вот если вы делаете ПО для управления атомной станцией, то dogfood ничего вам не даст. Говорят, что среди программистов и манагеров исчезающе мало инженеров-атомщиков. Покуда оно так — dogfood будет бессмысленным мучением для всей компании, не более.
Такие дела
Есть такая продуктовая практика. Когда компания сама же и пользуется софтом, который разрабатывает. Задумка — супер. Получение быстрой обратной связи от пользователей и, как результат, быстрый фикс багов, деливер по-настоящему востребованных фич и быстрая подстройка под рынок.
А ещё можно некисло экономить на тестировании продукта. Это ж прекрасно: 24/7 у тебя есть под рукой отдел тестирования, репортящий всё на свете — от не скачавшегося файлика до UI/UX огрехов. Ну не красота ли?
Выражение пошло, говорят, от случая, когда директор компании Kal Kan Pet Food (позже известной как Pedigree, впоследствии выкупленной Mars Inc) на встрече совета директоров открыл и сожрал банку консервов для собак своего же собственного производства. Но это слухи, как оно было на самом деле — неизвестно. Но термин стал применяться для обозначения ситуации, когда компания пользуется своими же собственными товарами и услугами. Не только в IT.
Я слышал про работающий Dogfood в JetBrains. По словам знакомых оттуда, ребята, разрабатывающие ReSharper, писали его в Visual Studio с установленным же ReSharper-ом. И когда кто-то из разрабов не выдерживал неудобства, или же придумывал новую крутую фичу — он шёл и собственноручно всё запиливал. Потом фичей пользовалась вся команда, потом она попадала в превью (когда можно включить специальной галочкой в настройках). А если и целевой аудитории вкатывало, то совместными усилиями фичу допиливали, убирали из превью и полноценно добавляли в продукт.
Короче, в концепции dogfood всё круто, кошерно и замечательно. В теории. На практике же, видимо только у JetBrains оно и работает, а у остальных — нет. Но как же так? Почему? Ответ, как мне кажется, достаточно прост:
Чтобы соображать в собачьей еде, надо быть собакой.
То есть мало просто пользоваться продуктами своей же компании. Надо иметь пользовательские интересы и цели, схожие с таковыми у целевой аудитории продукта.
В случае JetBrains, dogfood-пользователи, как и целевая аудитория были разработчиками. Поэтому проканало.
Но вот если вы делаете ПО для управления атомной станцией, то dogfood ничего вам не даст. Говорят, что среди программистов и манагеров исчезающе мало инженеров-атомщиков. Покуда оно так — dogfood будет бессмысленным мучением для всей компании, не более.
Такие дела
WinRAR
Год назад я купил лицензию на WinRAR. Потому что я считаю WinRAR диким продуктовым успехом. Сами посудите: этот продукт знают все, он стоит, мне кажется, на половине всех windows-машин, не требует специальных знаний для использования и цена у него, в общем-то, копеешная. При этом WinRAR старше многих моих читателей и до сих пор актуален.
А главное — он работает. Ну-ка, кто может вспомнить когда у вас последний раз крэшился WinRAR, м? Лет 15 назад я долго пытался распаковать архив с битого HDD, но в итоге WinRAR не закрешился с access violation, а любезно сообщил что архив битый — вот, пожалуй и всё. Надо же, почти недостижимая метрика для современного софта с let-it-fail-философией.
Хех, а знаете почему так? Мне кажется, дело в том, что WinRAR сделал ОДИН человек. Без команды. Евгений Рошал. RAR так и расшифровывается: Roshal ARchiver. То есть это что получается? Человек задумал крутой инструмент, сел и сделал его?! Кстати, вовсе даже на C++, а не на хаскелле, Modula-2 или прочих Smalltalk-ах. Просто, по-деревенски, на языке, про который сейчас принято думать что он только на отстрел ног и годится.
Дамы и господа, вашему вниманию предоставляется список вещей, которые не понадобились Рошалу чтобы сделать офигенный продукт: продакт-менеджер, UX-дизайнер, CI/CD, ажайл, knowledge base, регистрация на сайте и подписки, мониторинг, push-уведомления, централизованное логирование, репозитории пакетов, Electron, JavaScript, docker, REST, gRPC, unit-тесты, функциональное программирование, иммутабильность. Я даже не уверен что код WinRAR лежит в репозитории.
Отдельно хочу подчеркнуть, что модные нынче облака WinRAR-у тоже до жопы. Там в облако можно один метод кинуть — проверка обновлений. Да анализ чеков от платёжного гейта и генератор лицензий. Нет тебе кошелька паролей, облачных хранилищ, сбора статистики использования и отправки логов на сервер. Я уверен, что найми Rarlab современного продакта — он им примерно такое бы и накреативил. С синхронизацией файлов, да бигдатой на электроне.
Я считаю, что serious business органически не способен повторить успех соло-продуктов. В попытках воспроизвести ВКонтакте, Facebook, AIMP, создаются многочисленные отделы, нанимается куча людей, внедряются методики, строятся процессы, заключаются соглашения и совершается куча других бессмысленных для продукта действий. При том на словах все, сцуко, мотивированы, вовлечены и только о продукте и думают.
Ну на примере линуксового опенсорца видно, жешь, что у одиночек продукты получаются очень круто и на века. Да, одиночки не всесильны. Поэтому иногда они сбиваются в команды, ага. Первую версию unix вон ажно 3 человека разработали! Само собой, потом подхватываются патчи от разных мимокрокодилов — но они в любой плюс-минус известный опенсорс идут. И это ортогонально тому, что в организациях называется "командная работа". Мой RT плюс-минус популярен в узких кругах, но я не провожу со своими контрибуторами ретро, не таскаю тикеты, не планирую итерации.
У одиночек есть главный ингридиент хорошего продукта: целостность видения. Человеческая голова, как правило, весьма ограничена по ресурсам. И идея, которая может целиком и полностью во всех нюансах в неё поместиться — уже претендует на то, чтобы быть хорошей. Ну потому что краткость — сестра таланта. Если ты сам свой продукт не можешь уместить в своей голове — стало быть и другие люди не смогут. А для того, чтобы получилось хорошо — надо себе в деталях сначала всё представить.
Это и есть видение. И у большинства продуктологов его нет. Потому что "Творцы нам тут нахуй не нужны. Криейтором, Вава, криейтором" (с) Пелевин
Я бы ещё добавил, что посредственность по определению не может выдать хорошего видения, но это звучит слишком грубо. Скажу так: чтобы выдумывать годные продуктовые идеи и упорно над ними работать до победного, надо быть человеком... скажем так, экстравагантным.
Рошал, кстати, говорят отдал WinRAR брату и уехал жить в Таиланд.
Такие дела
Год назад я купил лицензию на WinRAR. Потому что я считаю WinRAR диким продуктовым успехом. Сами посудите: этот продукт знают все, он стоит, мне кажется, на половине всех windows-машин, не требует специальных знаний для использования и цена у него, в общем-то, копеешная. При этом WinRAR старше многих моих читателей и до сих пор актуален.
А главное — он работает. Ну-ка, кто может вспомнить когда у вас последний раз крэшился WinRAR, м? Лет 15 назад я долго пытался распаковать архив с битого HDD, но в итоге WinRAR не закрешился с access violation, а любезно сообщил что архив битый — вот, пожалуй и всё. Надо же, почти недостижимая метрика для современного софта с let-it-fail-философией.
Хех, а знаете почему так? Мне кажется, дело в том, что WinRAR сделал ОДИН человек. Без команды. Евгений Рошал. RAR так и расшифровывается: Roshal ARchiver. То есть это что получается? Человек задумал крутой инструмент, сел и сделал его?! Кстати, вовсе даже на C++, а не на хаскелле, Modula-2 или прочих Smalltalk-ах. Просто, по-деревенски, на языке, про который сейчас принято думать что он только на отстрел ног и годится.
Дамы и господа, вашему вниманию предоставляется список вещей, которые не понадобились Рошалу чтобы сделать офигенный продукт: продакт-менеджер, UX-дизайнер, CI/CD, ажайл, knowledge base, регистрация на сайте и подписки, мониторинг, push-уведомления, централизованное логирование, репозитории пакетов, Electron, JavaScript, docker, REST, gRPC, unit-тесты, функциональное программирование, иммутабильность. Я даже не уверен что код WinRAR лежит в репозитории.
Отдельно хочу подчеркнуть, что модные нынче облака WinRAR-у тоже до жопы. Там в облако можно один метод кинуть — проверка обновлений. Да анализ чеков от платёжного гейта и генератор лицензий. Нет тебе кошелька паролей, облачных хранилищ, сбора статистики использования и отправки логов на сервер. Я уверен, что найми Rarlab современного продакта — он им примерно такое бы и накреативил. С синхронизацией файлов, да бигдатой на электроне.
Я считаю, что serious business органически не способен повторить успех соло-продуктов. В попытках воспроизвести ВКонтакте, Facebook, AIMP, создаются многочисленные отделы, нанимается куча людей, внедряются методики, строятся процессы, заключаются соглашения и совершается куча других бессмысленных для продукта действий. При том на словах все, сцуко, мотивированы, вовлечены и только о продукте и думают.
Ну на примере линуксового опенсорца видно, жешь, что у одиночек продукты получаются очень круто и на века. Да, одиночки не всесильны. Поэтому иногда они сбиваются в команды, ага. Первую версию unix вон ажно 3 человека разработали! Само собой, потом подхватываются патчи от разных мимокрокодилов — но они в любой плюс-минус известный опенсорс идут. И это ортогонально тому, что в организациях называется "командная работа". Мой RT плюс-минус популярен в узких кругах, но я не провожу со своими контрибуторами ретро, не таскаю тикеты, не планирую итерации.
У одиночек есть главный ингридиент хорошего продукта: целостность видения. Человеческая голова, как правило, весьма ограничена по ресурсам. И идея, которая может целиком и полностью во всех нюансах в неё поместиться — уже претендует на то, чтобы быть хорошей. Ну потому что краткость — сестра таланта. Если ты сам свой продукт не можешь уместить в своей голове — стало быть и другие люди не смогут. А для того, чтобы получилось хорошо — надо себе в деталях сначала всё представить.
Это и есть видение. И у большинства продуктологов его нет. Потому что "Творцы нам тут нахуй не нужны. Криейтором, Вава, криейтором" (с) Пелевин
Я бы ещё добавил, что посредственность по определению не может выдать хорошего видения, но это звучит слишком грубо. Скажу так: чтобы выдумывать годные продуктовые идеи и упорно над ними работать до победного, надо быть человеком... скажем так, экстравагантным.
Рошал, кстати, говорят отдал WinRAR брату и уехал жить в Таиланд.
Такие дела
Алиса в зазеркалье
Почему бы не поговорить про Яндекс с точки зрения безжалостного стратегического анализа? Прям вот так вот, не слезая с коробки из-под мыла.
Говорят, когда-то Яндекс был поисковиком, на ya.ru была хорошая почта, а в его рекламе снялся Артемий Лебедев. Сейчас Яндекс — одна из трёх больших российских "экосистем". Суперапп, в котором и сеять и жать и на дуде играть можно.
Если у сбера в загашнике есть целый банк, унаследованный от СССР, у Mail.Ru — Алишер Усманов (aka "я интернет не использую, я его развиваю"), то залог успеха Яндекса — это не прорывные технологии, а, скорее, агрессивный business development.
Сергей Шалаев (relap, surfingbird) может рассказать каково это — слушать красивое воркование о покупке, а потом лишиться сотрудников. Auto.ru и moikrug уже перемолоты, kinopoisk на очереди, с Яндекс.Плюсом его уже интегрировали. Самокат вот-вот купят, продавливают цену.
Злые языки нашептали, что лидерства на рынке такси Яндекс добился довольно безжалостным способом. Сначала у них был небольшой собственный таксопарк, который СТРАШНО демпинговал. Народ подсел, заказы полились рекой и Я. начал подключать другие таксопарки, оперевшись на трагедию общин.
Как это работает: скажем, вы владелец таксопарка, к вам приходит молодой человек в строгом костюме и сообщает положняк. Мол, "сейчас переходишь на сервисы Яндекса и мы тебя буквально заливаем заказами. А если откажешься, то твой конкурент уже с нами. Через полгода он будет в шоколаде, а ты в канаве сдохнешь". Вот что делать в такой ситуации? Отказаться — верная смерть прямо сейчас. Согласиться — рабство и тоже смерть, но позже и неточно. Таксопарки выбрали второй вариант.
Когда собственный маркетинг у таксопарков отмер, случилось то, что должно было случиться: Яндекс пришёл с огромной банкой вазелина и обновлённым лицензионным соглашением. Отныне работать в обход них — харам, карается отключением от системы. А с каждого заказа водители будут платить комиссию и плакать. Поздняк метаться: ешьте наш кактус или не ешьте вообще.
Знаете, если отбросить всякие разговоры в пользу бедных, то это однозначный успех. Два чая биздеву Яндекса, молодцы. Но при всей своей биздёвой успешности у Яндекса есть один глобальный недостаток. И он, я уверен, не даёт топ-менеджменту спокойно спать по ночам.
На глобальном рынке Яндекс — никто. Он заперт внутри России. И доходы от него рублёвые.
А тут такое дело, что по всем фундаментальным понятиям экономики рынок у нас падающий. Курс рубля не растёт, платёжеспособность населения снижается, малый бизнес на ладан дышит и света в конце тоннеля что-то не видать. Чтобы отсрочить неминуемую стагнацию, Яндекс мог бы распродавать части себя в обмен на другие рынки, но закон Горелкина это запрещает. Да и зачем условному амазону делиться рынком? Что он получит взамен? Сервис доставки по сибирским ебеням? Серьёзно? Вот и получается, что сейчас у Яндекса всё красиво, а долгосрочная перспектива страшна, как смерть сталевара.
Почему бы не поговорить про Яндекс с точки зрения безжалостного стратегического анализа? Прям вот так вот, не слезая с коробки из-под мыла.
Говорят, когда-то Яндекс был поисковиком, на ya.ru была хорошая почта, а в его рекламе снялся Артемий Лебедев. Сейчас Яндекс — одна из трёх больших российских "экосистем". Суперапп, в котором и сеять и жать и на дуде играть можно.
Если у сбера в загашнике есть целый банк, унаследованный от СССР, у Mail.Ru — Алишер Усманов (aka "я интернет не использую, я его развиваю"), то залог успеха Яндекса — это не прорывные технологии, а, скорее, агрессивный business development.
Сергей Шалаев (relap, surfingbird) может рассказать каково это — слушать красивое воркование о покупке, а потом лишиться сотрудников. Auto.ru и moikrug уже перемолоты, kinopoisk на очереди, с Яндекс.Плюсом его уже интегрировали. Самокат вот-вот купят, продавливают цену.
Злые языки нашептали, что лидерства на рынке такси Яндекс добился довольно безжалостным способом. Сначала у них был небольшой собственный таксопарк, который СТРАШНО демпинговал. Народ подсел, заказы полились рекой и Я. начал подключать другие таксопарки, оперевшись на трагедию общин.
Как это работает: скажем, вы владелец таксопарка, к вам приходит молодой человек в строгом костюме и сообщает положняк. Мол, "сейчас переходишь на сервисы Яндекса и мы тебя буквально заливаем заказами. А если откажешься, то твой конкурент уже с нами. Через полгода он будет в шоколаде, а ты в канаве сдохнешь". Вот что делать в такой ситуации? Отказаться — верная смерть прямо сейчас. Согласиться — рабство и тоже смерть, но позже и неточно. Таксопарки выбрали второй вариант.
Когда собственный маркетинг у таксопарков отмер, случилось то, что должно было случиться: Яндекс пришёл с огромной банкой вазелина и обновлённым лицензионным соглашением. Отныне работать в обход них — харам, карается отключением от системы. А с каждого заказа водители будут платить комиссию и плакать. Поздняк метаться: ешьте наш кактус или не ешьте вообще.
Знаете, если отбросить всякие разговоры в пользу бедных, то это однозначный успех. Два чая биздеву Яндекса, молодцы. Но при всей своей биздёвой успешности у Яндекса есть один глобальный недостаток. И он, я уверен, не даёт топ-менеджменту спокойно спать по ночам.
На глобальном рынке Яндекс — никто. Он заперт внутри России. И доходы от него рублёвые.
А тут такое дело, что по всем фундаментальным понятиям экономики рынок у нас падающий. Курс рубля не растёт, платёжеспособность населения снижается, малый бизнес на ладан дышит и света в конце тоннеля что-то не видать. Чтобы отсрочить неминуемую стагнацию, Яндекс мог бы распродавать части себя в обмен на другие рынки, но закон Горелкина это запрещает. Да и зачем условному амазону делиться рынком? Что он получит взамен? Сервис доставки по сибирским ебеням? Серьёзно? Вот и получается, что сейчас у Яндекса всё красиво, а долгосрочная перспектива страшна, как смерть сталевара.
А сейчас давайте оторвёмся от реальности и немного пофантазируем.
Представьте, что в результате неловкого политического движения курс рубля провалился ещё ниже. Мажоритарные акционеры Яндекса понимают, что их доли в денежном выражении уже не хватает на новую яхту на лазурном берегу, а следовательно неясно зачем это всё вообще. Такая мысль посещает сразу несколько светлых головушек и пакеты акций потихоньку сливаются на рынок. В какой-то момент начинается игра "кто быстрее добежит до ММВБ и окэшится — тот и победил", цена на акции с треском пробивает дно.
А там его уже поджидает ЦБРФ, который и выкупает Яндекс на низах. IT-гигант переходит в собственность Росимущества и становится госкомпанией. И это всё без суда, ОМОНа в офисе Яндекса, уголовных дел и добровольно-принудительной высылки Воложа на Мальту.
Люди — новая нефть, а Яндекс — нефтяная вышка под крылом государства. Только представьте: ваша геопозиция автоматически транслируется в МВД, почта — в ФСБ, поисковые запросы — в прокуратуру, обороты по карточке — в налоговую. Через минуту после доната 100 рублей политическому блогеру, у ваших дверей материализуется наряд полиции. Следственный комитет присылает повестки по факту просмотра выпуска "Вестника оптимизма" Сталингулага.
Таксистам автоматически выписываются штрафы за превышения и тут же снимаются с привязанной карты. Во все сервисы Я. вшивается комиссия, уходящая в бюджет. Появляется какой-нибудь Платон 2.0 для частных автомобилей.
Все иностранные фильмы на Кинопоиске банятся или выходят с задержкой, а российское патриотическое кино про войну и немцев делает кассу правильным режиссёрам и сценаристам.
Чего только ни реализуешь на базе мощностей Яндекса! Ух, заживём при киберпанке.
Такие дела
Представьте, что в результате неловкого политического движения курс рубля провалился ещё ниже. Мажоритарные акционеры Яндекса понимают, что их доли в денежном выражении уже не хватает на новую яхту на лазурном берегу, а следовательно неясно зачем это всё вообще. Такая мысль посещает сразу несколько светлых головушек и пакеты акций потихоньку сливаются на рынок. В какой-то момент начинается игра "кто быстрее добежит до ММВБ и окэшится — тот и победил", цена на акции с треском пробивает дно.
А там его уже поджидает ЦБРФ, который и выкупает Яндекс на низах. IT-гигант переходит в собственность Росимущества и становится госкомпанией. И это всё без суда, ОМОНа в офисе Яндекса, уголовных дел и добровольно-принудительной высылки Воложа на Мальту.
Люди — новая нефть, а Яндекс — нефтяная вышка под крылом государства. Только представьте: ваша геопозиция автоматически транслируется в МВД, почта — в ФСБ, поисковые запросы — в прокуратуру, обороты по карточке — в налоговую. Через минуту после доната 100 рублей политическому блогеру, у ваших дверей материализуется наряд полиции. Следственный комитет присылает повестки по факту просмотра выпуска "Вестника оптимизма" Сталингулага.
Таксистам автоматически выписываются штрафы за превышения и тут же снимаются с привязанной карты. Во все сервисы Я. вшивается комиссия, уходящая в бюджет. Появляется какой-нибудь Платон 2.0 для частных автомобилей.
Все иностранные фильмы на Кинопоиске банятся или выходят с задержкой, а российское патриотическое кино про войну и немцев делает кассу правильным режиссёрам и сценаристам.
Чего только ни реализуешь на базе мощностей Яндекса! Ух, заживём при киберпанке.
Такие дела
Алгоритмы
Пока все дружно отменяют алгосы на собесах (меня они тоже бесят кстати), я решил честно подбить список алгоритмов, которые мне пригодились в работе или пет-прожектах. Погнали.
— Обход деревьев по-всякому. Вообще каждая первая задача на фронтенде.
— Нахождение наибольшей общей подпоследовательности (динамическое программирование). Использовал несколько раз с целью поиска diff-а.
— Префиксное дерево один раз делал. Нужно было для поиска в приложении, где не было базы данных.
— Сортировка слиянием. Ваще топ. Пишется в три строчки, работает хорошо в связке с другими сортировками, быстро отрабатывающими на небольших данных. Использую её много и для разного. Например, для решения задачи "получить от пользователя excel-ку и обновить данные в БД согласно ей с попутными вычислениями". Вытягиваешь данные из базы, из excel-ки, сортируешь по какому-либо критерию, бежишь по обоим наборам и вычисляешь.
— Пару раз писал на коленке топологическую сортировку. Пытался оптимизировать работу MSBuild ещё до выхода ReSharper Builds/Rider.
— Считал расстояние Левенштейна на фронтенде для оптимизации выдачи автокомплита.
— Хэшмапы (в миру шарпистов — Dictionary). Ни разу не делал сам, но то и дело пользую для всякого. Да ой, их сейчас все используют и, как по мне, грешно не знать как работает самая популярная структура данных.
А ещё на отдельной любимой полочке у меня лежат графические алгоритмы. Мне кажется, там много всякого-интересного.
— Линейная, билинейная и бикубическая интерполяция. Это с натяжкой можно назвать алгоритмикой, конечно. Просто несложная математика. Используется во всякой служебной графике (например, красивое отображение heatmap-ов). А ещё на бикубической интерполяции рандома строятся шумы Перлина. Это не продакшон, это просто красиво.
— Дебайеризация. Можно её назвать алгоритмом? Ну, наверное с натяжкой, но было дело я писал дебайеризацию для 12-битной вебкамеры.
— Рейтрейсинг. Не, не поймите неправильно, я не впиливал трассировку лучей на продакшен. Но позадрачиваться с рейтрейсингом стоит, чтобы потом лучше соображать в графической 2D/3D математике. Ну там, знаете, векторы, матрицы поворота, проекции, параметрические кривые/поверхности второго порядка и иже с ними. Хотя, пожалуй, тут подойдёт просто поиграться с OpenGL.
— Всякие матричные фильтры. Использовал несколько раз для прикладного анализа изображений с OpenCV. Да, и таким я занимался было дело.
Какая же тут мораль? А морали тут, как мне кажется, две.
Во-первых эту всю байду я в голове не держу. Без гугла я смогу разве что линейную интерполяцию написать, и то с ошибками. Если вдруг случится ядерная война и отключится интернет — я знаю в каких книжках подсмотреть. Если и книжки сожгут — в пределах недели сам соображу все перечисленные алгоритмы в коде. Запоминать эту бесполезную по сути информацию я не вижу смысла.
Во-вторых, мой опыт считается ещё глубоким и широким. Для решения абсолютного большинства сколько-нибудь полезных задач весь этот багаж знаний не нужен. На худой конец можно взять либу. Да, я всё ещё считаю хорошим тоном соображать в двух словах как оно всё работает под капотом. Но необходимо ли это? Совершенно нет.
Есть другие, более важные вещи, которые необходимо понимать.
Такие дела
Пока все дружно отменяют алгосы на собесах (меня они тоже бесят кстати), я решил честно подбить список алгоритмов, которые мне пригодились в работе или пет-прожектах. Погнали.
— Обход деревьев по-всякому. Вообще каждая первая задача на фронтенде.
— Нахождение наибольшей общей подпоследовательности (динамическое программирование). Использовал несколько раз с целью поиска diff-а.
— Префиксное дерево один раз делал. Нужно было для поиска в приложении, где не было базы данных.
— Сортировка слиянием. Ваще топ. Пишется в три строчки, работает хорошо в связке с другими сортировками, быстро отрабатывающими на небольших данных. Использую её много и для разного. Например, для решения задачи "получить от пользователя excel-ку и обновить данные в БД согласно ей с попутными вычислениями". Вытягиваешь данные из базы, из excel-ки, сортируешь по какому-либо критерию, бежишь по обоим наборам и вычисляешь.
— Пару раз писал на коленке топологическую сортировку. Пытался оптимизировать работу MSBuild ещё до выхода ReSharper Builds/Rider.
— Считал расстояние Левенштейна на фронтенде для оптимизации выдачи автокомплита.
— Хэшмапы (в миру шарпистов — Dictionary). Ни разу не делал сам, но то и дело пользую для всякого. Да ой, их сейчас все используют и, как по мне, грешно не знать как работает самая популярная структура данных.
А ещё на отдельной любимой полочке у меня лежат графические алгоритмы. Мне кажется, там много всякого-интересного.
— Линейная, билинейная и бикубическая интерполяция. Это с натяжкой можно назвать алгоритмикой, конечно. Просто несложная математика. Используется во всякой служебной графике (например, красивое отображение heatmap-ов). А ещё на бикубической интерполяции рандома строятся шумы Перлина. Это не продакшон, это просто красиво.
— Дебайеризация. Можно её назвать алгоритмом? Ну, наверное с натяжкой, но было дело я писал дебайеризацию для 12-битной вебкамеры.
— Рейтрейсинг. Не, не поймите неправильно, я не впиливал трассировку лучей на продакшен. Но позадрачиваться с рейтрейсингом стоит, чтобы потом лучше соображать в графической 2D/3D математике. Ну там, знаете, векторы, матрицы поворота, проекции, параметрические кривые/поверхности второго порядка и иже с ними. Хотя, пожалуй, тут подойдёт просто поиграться с OpenGL.
— Всякие матричные фильтры. Использовал несколько раз для прикладного анализа изображений с OpenCV. Да, и таким я занимался было дело.
Какая же тут мораль? А морали тут, как мне кажется, две.
Во-первых эту всю байду я в голове не держу. Без гугла я смогу разве что линейную интерполяцию написать, и то с ошибками. Если вдруг случится ядерная война и отключится интернет — я знаю в каких книжках подсмотреть. Если и книжки сожгут — в пределах недели сам соображу все перечисленные алгоритмы в коде. Запоминать эту бесполезную по сути информацию я не вижу смысла.
Во-вторых, мой опыт считается ещё глубоким и широким. Для решения абсолютного большинства сколько-нибудь полезных задач весь этот багаж знаний не нужен. На худой конец можно взять либу. Да, я всё ещё считаю хорошим тоном соображать в двух словах как оно всё работает под капотом. Но необходимо ли это? Совершенно нет.
Есть другие, более важные вещи, которые необходимо понимать.
Такие дела
Письмо продакт-менеджеру
Слушай, чувак, у меня есть видение. Я точно знаю что нужно пользователю. Мне пришла SMS из космоса, мои пользователи хотят вальцевать шушпенцию.
Нет, им не нужен трендовый график размеров шушпенций. Нет, им не надо синхронизировать шушпенции с облаком. Просто помоги пользователю выбрать нужную шушпенцию из тысячи. Предложи что-нибудь! Может впихнуть что-то бигдатовое, может вручную создавать suggestion-ы из наиболее нуждающихся в вальцевании шушпенций. Я точно не знаю, но я знаю что пользователь будет готов отвалить нам тонны бабла за такую возможность.
Я хочу, о продакт-менеджер, чтобы у пользователя был стабильный, быстрый и простой в освоении способ вальцевать шушпенцию. Чтобы он мог это сделать в два клика и чтобы точно знал, что если вальцовка окончится ошибкой, то ему обязательно об этом скажут доступными словами и предложат варианты действий. Мне не интересны варианты действий и технические ошибки, продакт-менеджер. Ты видел достаточно много интерфейсов и прекрасно знаешь, как правильно подать это пользователю, ведь так?
Нет, продакт-менеджер. Я не хочу думать о том, какие диалоговые окна покажутся пользователю при вальцевании шушпенции. Я хочу чтобы ты придумал максимально простой и логичный способ уточнить у пользователя всю сопутствующую информацию. Если ты не знаешь, то сходи к дизайнеру и обсуди как оно должно в деталях работать. Я хочу набросать тебе в двух словах UI всего процесса, сказать "нутыпонел" и убежать дальше пинать бухгалтерию и искать инвестиции/решать вопросики с налоговой.
Нет, продакт-менеджер, ты не должен управлять командой. У команды есть тимлид чтобы ею управлять. Я хочу быть уверен что то, что я задумал в целом, ты конкретизируешь и донесёшь до разработчиков как это делать. Да, продакт-менеджер, я полагаюсь на твой опыт и насмотренность всяких-разных фич во всяком-разном софте. Я ожидаю что ты умеешь рисовать юскейс-диаграмму со всеми extension-ами в духе валидации, сам таким пользовался и прекрасно осведомлён о всей микро-боли пользователя, который будет это юзать.
Я ожидаю, продакт-менеджер, что ты расскажешь команде разработки во всех деталях что требуется сделать. Не спрашивая меня и не заставляя подбирать очередной react-фреймворк для форм. Я думаю что ты достаточно квалифицирован чтобы представлять каких затрат стоит реализация этой фичи. Я хочу чтобы ты лично пошёл и проанализировал как вальцевание шушпенции сочетается с остальной функциональностью системы и, при необходимости, занёс мне на визирование. Но в целом ты же не мудак, да?
Ты же не мудак, да?!
Ты же знаешь насколько эта фича сочетается с остальной системой и сможешь за меня спроектировать-предложить варианты как пользователю удобнее всего достичь развальцованной шушпенции. Ты же профессионал, да? Ты же знаешь как работает остальная система? Ты же не тупой продаван, которому важно показать пользователю красивую картинку, ты же меня понял, да?
Мде. Да ни черта ты, человек, не понял. Уйди, неуч. Раз ты не умеешь делать свою работу, то давай я сделаю её за тебя. Да, чувак, прикинь, balsamiq mockups! Это софт для продуктового анализа. Почему я размещаю это кнопку здесь и задаю условия на её включение и отключение? Да потому что, болван, я лучше тебя знаю как работают интерфейсы. Почему я тут вставляю комбинации клавиш? Потому что это будет удобно. Почему я размещаю именно такие контролы и ставлю именно такие предусловия? Да потому что я знаю сколько примерно у пользователя шушпенций и какие из них он, скорее всего, захочет вальцевать.
Короче уйди, чувак. Нет от твоего гуманитарного образования толку. Сам разберусь.
Такие дела
Слушай, чувак, у меня есть видение. Я точно знаю что нужно пользователю. Мне пришла SMS из космоса, мои пользователи хотят вальцевать шушпенцию.
Нет, им не нужен трендовый график размеров шушпенций. Нет, им не надо синхронизировать шушпенции с облаком. Просто помоги пользователю выбрать нужную шушпенцию из тысячи. Предложи что-нибудь! Может впихнуть что-то бигдатовое, может вручную создавать suggestion-ы из наиболее нуждающихся в вальцевании шушпенций. Я точно не знаю, но я знаю что пользователь будет готов отвалить нам тонны бабла за такую возможность.
Я хочу, о продакт-менеджер, чтобы у пользователя был стабильный, быстрый и простой в освоении способ вальцевать шушпенцию. Чтобы он мог это сделать в два клика и чтобы точно знал, что если вальцовка окончится ошибкой, то ему обязательно об этом скажут доступными словами и предложат варианты действий. Мне не интересны варианты действий и технические ошибки, продакт-менеджер. Ты видел достаточно много интерфейсов и прекрасно знаешь, как правильно подать это пользователю, ведь так?
Нет, продакт-менеджер. Я не хочу думать о том, какие диалоговые окна покажутся пользователю при вальцевании шушпенции. Я хочу чтобы ты придумал максимально простой и логичный способ уточнить у пользователя всю сопутствующую информацию. Если ты не знаешь, то сходи к дизайнеру и обсуди как оно должно в деталях работать. Я хочу набросать тебе в двух словах UI всего процесса, сказать "нутыпонел" и убежать дальше пинать бухгалтерию и искать инвестиции/решать вопросики с налоговой.
Нет, продакт-менеджер, ты не должен управлять командой. У команды есть тимлид чтобы ею управлять. Я хочу быть уверен что то, что я задумал в целом, ты конкретизируешь и донесёшь до разработчиков как это делать. Да, продакт-менеджер, я полагаюсь на твой опыт и насмотренность всяких-разных фич во всяком-разном софте. Я ожидаю что ты умеешь рисовать юскейс-диаграмму со всеми extension-ами в духе валидации, сам таким пользовался и прекрасно осведомлён о всей микро-боли пользователя, который будет это юзать.
Я ожидаю, продакт-менеджер, что ты расскажешь команде разработки во всех деталях что требуется сделать. Не спрашивая меня и не заставляя подбирать очередной react-фреймворк для форм. Я думаю что ты достаточно квалифицирован чтобы представлять каких затрат стоит реализация этой фичи. Я хочу чтобы ты лично пошёл и проанализировал как вальцевание шушпенции сочетается с остальной функциональностью системы и, при необходимости, занёс мне на визирование. Но в целом ты же не мудак, да?
Ты же не мудак, да?!
Ты же знаешь насколько эта фича сочетается с остальной системой и сможешь за меня спроектировать-предложить варианты как пользователю удобнее всего достичь развальцованной шушпенции. Ты же профессионал, да? Ты же знаешь как работает остальная система? Ты же не тупой продаван, которому важно показать пользователю красивую картинку, ты же меня понял, да?
Мде. Да ни черта ты, человек, не понял. Уйди, неуч. Раз ты не умеешь делать свою работу, то давай я сделаю её за тебя. Да, чувак, прикинь, balsamiq mockups! Это софт для продуктового анализа. Почему я размещаю это кнопку здесь и задаю условия на её включение и отключение? Да потому что, болван, я лучше тебя знаю как работают интерфейсы. Почему я тут вставляю комбинации клавиш? Потому что это будет удобно. Почему я размещаю именно такие контролы и ставлю именно такие предусловия? Да потому что я знаю сколько примерно у пользователя шушпенций и какие из них он, скорее всего, захочет вальцевать.
Короче уйди, чувак. Нет от твоего гуманитарного образования толку. Сам разберусь.
Такие дела
The Million Dollar Homepage
Интерес вокруг NFT навеял мне одну дивную продуктовую историю. Может, кто-то её знает, а кто-то нет... Короче смотрите какой дивный кейс.
21-летний студент из Британии Алекс Тью делает сайт, который состоит из огроменной сетки 1000 х 1000 пикселей. И предлагает всем знакомым встречным-поперечным купить на этом пространстве рекламу. Попиксельно. Рекламодатель покупает пиксели из расчёта $1 за штуку и на купленном пространстве может разместить любое изображение со ссылкой. Короче, выглядит это дело просто как стена баннеров. Нетрудно посчитать, что при заполнении всей сетки владелец сайта заработает миллион долларов.
Продажа велась блоками. Они сгруппированы по 10 х 10 пикселей, что в итоге даёт нам входную цену в $100 за минимально-видимую плиточку. Владелец гарантирует, что сайт будет доступен как минимум пять лет и реклама на проданных пикселях никуда не уйдёт.
Первые блоки были по приколу проданы друзьям и знакомым, после чего Алекс разослал пресс-релиз во все плюс-минус читаемые издания. Материал про необычный веб-сайт в итоге выпустил BBC, чем поверг читателей в ментальный оргазм от простоты, наивности и гениальности идеи. На сайт бомбанул трафик, а желающие купить пиксели выстроились в длинную очередь. Да так хорошо выстроились, что спустя полгода после хайпа автор заявил, что пикселей осталась всего тысяча штук и продал их на аукционе eBay за $38 100 долларов. Да да, тридцать восемь тысяч. По цене однушки в глубинке РФ.
Надо отметить, что входной минимум в $100 за такую рекламу — несколько конская цена. В чём же секрет успеха? За что люди отдавали деньги? Я долго пытался ответить на этот вопрос с рациональной точки зрения, но ни одного аргумента в пользу покупки пикселей, хоть сколько-нибудь подкреплённого цифрами я не нашёл. И тогда меня осенило.
Дело не в деньгах. Дело в хайпе.
Смотрите. Первые покупатели отдали деньги по фану или в знак символической поддержки автора. Те самые FFF-инвесторы (Friends Fools and Family). Однако после того, как информация разлетелась, рекламодатели стали покупать не пиксели, а "модную тему", которая довольно быстро стала историческим прецедентом.
И это — самое главное в The Million Dollar Homepage. Что по итогу получили рекламодатели? Трафик на страницу идёт до сих пор, по ссылкам кто-то проходит, но это не главное. Рекламодатели оказались увековечены в дивном и уникальном образчике современного искусства. Веб-странице, существующей в единственном экземпляре, в первом и последнем месте во времени. Привет, NFT.
Позже, конечно же, были подражатели, но по заявлению Алекса Тью (с чем я совершенно согласен) его проект ценен именно тем, что он был первым. Эта идея стреляет ровно один раз за всю историю существования Интернета. А стать частью истории за 100 баксов, доложу я вам, — это не так дорого.
Такие дела
Интерес вокруг NFT навеял мне одну дивную продуктовую историю. Может, кто-то её знает, а кто-то нет... Короче смотрите какой дивный кейс.
21-летний студент из Британии Алекс Тью делает сайт, который состоит из огроменной сетки 1000 х 1000 пикселей. И предлагает всем знакомым встречным-поперечным купить на этом пространстве рекламу. Попиксельно. Рекламодатель покупает пиксели из расчёта $1 за штуку и на купленном пространстве может разместить любое изображение со ссылкой. Короче, выглядит это дело просто как стена баннеров. Нетрудно посчитать, что при заполнении всей сетки владелец сайта заработает миллион долларов.
Продажа велась блоками. Они сгруппированы по 10 х 10 пикселей, что в итоге даёт нам входную цену в $100 за минимально-видимую плиточку. Владелец гарантирует, что сайт будет доступен как минимум пять лет и реклама на проданных пикселях никуда не уйдёт.
Первые блоки были по приколу проданы друзьям и знакомым, после чего Алекс разослал пресс-релиз во все плюс-минус читаемые издания. Материал про необычный веб-сайт в итоге выпустил BBC, чем поверг читателей в ментальный оргазм от простоты, наивности и гениальности идеи. На сайт бомбанул трафик, а желающие купить пиксели выстроились в длинную очередь. Да так хорошо выстроились, что спустя полгода после хайпа автор заявил, что пикселей осталась всего тысяча штук и продал их на аукционе eBay за $38 100 долларов. Да да, тридцать восемь тысяч. По цене однушки в глубинке РФ.
Надо отметить, что входной минимум в $100 за такую рекламу — несколько конская цена. В чём же секрет успеха? За что люди отдавали деньги? Я долго пытался ответить на этот вопрос с рациональной точки зрения, но ни одного аргумента в пользу покупки пикселей, хоть сколько-нибудь подкреплённого цифрами я не нашёл. И тогда меня осенило.
Дело не в деньгах. Дело в хайпе.
Смотрите. Первые покупатели отдали деньги по фану или в знак символической поддержки автора. Те самые FFF-инвесторы (Friends Fools and Family). Однако после того, как информация разлетелась, рекламодатели стали покупать не пиксели, а "модную тему", которая довольно быстро стала историческим прецедентом.
И это — самое главное в The Million Dollar Homepage. Что по итогу получили рекламодатели? Трафик на страницу идёт до сих пор, по ссылкам кто-то проходит, но это не главное. Рекламодатели оказались увековечены в дивном и уникальном образчике современного искусства. Веб-странице, существующей в единственном экземпляре, в первом и последнем месте во времени. Привет, NFT.
Позже, конечно же, были подражатели, но по заявлению Алекса Тью (с чем я совершенно согласен) его проект ценен именно тем, что он был первым. Эта идея стреляет ровно один раз за всю историю существования Интернета. А стать частью истории за 100 баксов, доложу я вам, — это не так дорого.
Такие дела
Опенсорс
Поступил такой вопрос: "человек пишет свою библиотеку, выкладывает в опенсорс и спрашивает сколько ему могут добавить к зарплате?". Я почесал в затылке и дал честный ответ: нисколько. Но чтобы не быть голословным, давайте всё же проясним ситуацию.
Вообще всё зависит от того, кто работодатель и кто у человека непосредственный начальник. Может приключится такое счастье, что человек работает в компании молодых-эффективных-бирюзовых, которые поддерживают любой движ в IT (по неопытности) и, скажем, новоявленному опенсорс-контрибутору предложат выступить на внутреннем митапе, продвинут по должности и добавят что-то к ЗП за опыт. Как вы поняли, мечтать не вредно.
В суровой реальности диспозиция такая: крупняк вкладывается в опенсорс чтобы подмять рынок под свою экосистему. Нет, не в смысле что наступит момент X и Microsoft начнёт брать деньги за использование TypeScript и C#. Но Microsoft обладает PR-ресурсами для того, чтобы протолкнуть TypeScript во все дыры, а потом "задавать темп" индустрии. Например, контролируя скорость выхода версий, развивая TypeScript и таким образом удерживая компании на орбите своих технологий. Не пытайтесь обсчитать это в excel-е. Это стратегическая игра крупняка с туманными перспективами в расчёте на 10-15 лет вперёд. На уровне Microsoft/Google это работает и окупается.
Есть компашки по-проще, работающие по модели Open Core. Типа какой-то базовый продукт бесплатен и опенсорсен, а всякие доработки-интеграции-консультации уже за деньги. В какой-то мере сюда можно отнести любую компанию-интегратор, которая собирает из бесплатного говна конфетки под ключ на заказ. Пример — Percona, которая делает кастомные билды MySQL. То есть вдумайтесь! У них даже продукта своего нет. Чужой взяли и живут.
Есть DevRel-история. Компания выбирает языкастого сотрудника со смазливой рожей, обговаривает с ним перспективы запилить что-нибудь опенсорсное за зарплату, а потом возит по конференциям. Это часть HR-брендирования. Мол, смотрите как у нас тут всё хорошо и приятно, проекты вот интересные, шлите свои резюме.
Если кто-то из бизнеса в 2021-2022 готов в эту историю вкладываться, то можно поучаствовать. Не, ну а чо? Пиздеть — не мешки ворочать. Тебя кормят-поят, особо не торопят, запиливаешь что хочешь, как хочешь, пополняешь резюме, потом катаешься по конференциям, румяной рожей торгуешь. Не жизнь — малина!
Из минусов: никакого карьерного роста, проект-то игрушечный. Ну и рожа смазливая, опять же. А ещё при любой финансовой турбулентности работу всего отдела свернут. Это — балласт и его быстро сбросят с увольнением всех причастных. Сотрудники, которые длительное время проработали над сторонними поделками и ни в зуб ногой о вещах, приносящих бабосик — чистый убыток и все это понимают.
Если вы не вписываетесь ни в одну из этих историй, то не стройте ожиданий. Поберегите менталочку от лишней фрустрации.
Итак, вы дочитали до сюда, а глаз до сих пор горит и руки чешутся? Что ж, парочка вариантов всё же есть. Но для этого придётся закрыть IDE.
Во-первых, опенсорс-проект в активе — это хороший повод для разговора. Можно податься спикером на конференцию, рассказать о своём опыте. Глядишь, кто-то и заинтересуется, познакомитесь с важными людьми в кулуарах. А там и на работу позвать могут, или дело совместное предложат.
Во-вторых, разнообразие опыта и оттачивание скиллов. Вас никто не ограничивает в глубине исследований и в пет-прожекте вы можете заняться тем, чем никогда не займётесь на работе (например, маркетинг и документация, хехе). А потом будете травить технические и продуктовые байки на собесах. Кандидаты, которым есть что рассказать — в фаворе. Кстати, для O1-визы тоже полезно.
В-третьих, присмотритесь к тому, что вы делаете. Что если вы решаете какую-то пользовательскую боль? Что если кто-то готов за это платить? Может это зайчатки стартапной истории? Think about it.
Ну хотя бы донатилку к своему репозиторию прикрутите. Будет прибавка к зп. Почему нет-то?
Такие дела
Поступил такой вопрос: "человек пишет свою библиотеку, выкладывает в опенсорс и спрашивает сколько ему могут добавить к зарплате?". Я почесал в затылке и дал честный ответ: нисколько. Но чтобы не быть голословным, давайте всё же проясним ситуацию.
Вообще всё зависит от того, кто работодатель и кто у человека непосредственный начальник. Может приключится такое счастье, что человек работает в компании молодых-эффективных-бирюзовых, которые поддерживают любой движ в IT (по неопытности) и, скажем, новоявленному опенсорс-контрибутору предложат выступить на внутреннем митапе, продвинут по должности и добавят что-то к ЗП за опыт. Как вы поняли, мечтать не вредно.
В суровой реальности диспозиция такая: крупняк вкладывается в опенсорс чтобы подмять рынок под свою экосистему. Нет, не в смысле что наступит момент X и Microsoft начнёт брать деньги за использование TypeScript и C#. Но Microsoft обладает PR-ресурсами для того, чтобы протолкнуть TypeScript во все дыры, а потом "задавать темп" индустрии. Например, контролируя скорость выхода версий, развивая TypeScript и таким образом удерживая компании на орбите своих технологий. Не пытайтесь обсчитать это в excel-е. Это стратегическая игра крупняка с туманными перспективами в расчёте на 10-15 лет вперёд. На уровне Microsoft/Google это работает и окупается.
Есть компашки по-проще, работающие по модели Open Core. Типа какой-то базовый продукт бесплатен и опенсорсен, а всякие доработки-интеграции-консультации уже за деньги. В какой-то мере сюда можно отнести любую компанию-интегратор, которая собирает из бесплатного говна конфетки под ключ на заказ. Пример — Percona, которая делает кастомные билды MySQL. То есть вдумайтесь! У них даже продукта своего нет. Чужой взяли и живут.
Есть DevRel-история. Компания выбирает языкастого сотрудника со смазливой рожей, обговаривает с ним перспективы запилить что-нибудь опенсорсное за зарплату, а потом возит по конференциям. Это часть HR-брендирования. Мол, смотрите как у нас тут всё хорошо и приятно, проекты вот интересные, шлите свои резюме.
Если кто-то из бизнеса в 2021-2022 готов в эту историю вкладываться, то можно поучаствовать. Не, ну а чо? Пиздеть — не мешки ворочать. Тебя кормят-поят, особо не торопят, запиливаешь что хочешь, как хочешь, пополняешь резюме, потом катаешься по конференциям, румяной рожей торгуешь. Не жизнь — малина!
Из минусов: никакого карьерного роста, проект-то игрушечный. Ну и рожа смазливая, опять же. А ещё при любой финансовой турбулентности работу всего отдела свернут. Это — балласт и его быстро сбросят с увольнением всех причастных. Сотрудники, которые длительное время проработали над сторонними поделками и ни в зуб ногой о вещах, приносящих бабосик — чистый убыток и все это понимают.
Если вы не вписываетесь ни в одну из этих историй, то не стройте ожиданий. Поберегите менталочку от лишней фрустрации.
Итак, вы дочитали до сюда, а глаз до сих пор горит и руки чешутся? Что ж, парочка вариантов всё же есть. Но для этого придётся закрыть IDE.
Во-первых, опенсорс-проект в активе — это хороший повод для разговора. Можно податься спикером на конференцию, рассказать о своём опыте. Глядишь, кто-то и заинтересуется, познакомитесь с важными людьми в кулуарах. А там и на работу позвать могут, или дело совместное предложат.
Во-вторых, разнообразие опыта и оттачивание скиллов. Вас никто не ограничивает в глубине исследований и в пет-прожекте вы можете заняться тем, чем никогда не займётесь на работе (например, маркетинг и документация, хехе). А потом будете травить технические и продуктовые байки на собесах. Кандидаты, которым есть что рассказать — в фаворе. Кстати, для O1-визы тоже полезно.
В-третьих, присмотритесь к тому, что вы делаете. Что если вы решаете какую-то пользовательскую боль? Что если кто-то готов за это платить? Может это зайчатки стартапной истории? Think about it.
Ну хотя бы донатилку к своему репозиторию прикрутите. Будет прибавка к зп. Почему нет-то?
Такие дела