Впервые я познакомился с Evernote в начале десятых и не понял, зачем он нужен. Просто не было потребности. Но уже через несколько лет устроился аналитиком в Ultimate Guitar и мне потребовалось собирать статьи про интерфейсы и юзабилити, чтобы делиться ими с коллегами. Хотелось, чтобы статьи хранились локально и не пропадали с гибелью родительских сайтов. Эвернот подходил идеально. Сначала пользовался веб-версией, потом поставил десктопную, чтобы работать быстрее. Стал хранить в нём чек-листы своих оперативных заданий, потом завёл блокнот для результатов работы, делился блокнотами с руководителем. В общем, всё было чудесно.
Вот, например, благодаря Эверноту, у меня сохранились скриншоты функциональных подсказок, которые мы пилили больше месяца:
Через некоторое время я решил использовать Эвернот и для личной базы знаний. Завёл блокноты для всякой личной информации, вроде гарантийников и чеков за разные покупки, фотографий интересных рекламок, статей, которые мне показались интересными. Места в 60 мегабайт в месяц, конечно, не хватало и я впервые в жизни купил подписку на ПО:
Годовая подписка с тех пор подорожала до 4 292 ₽, более чем в 4 раза.
Ещё немного старых документов. Вот, например, счёт на десктопный ПК, купленный в 2013 году:
Вот такие цены были в 2013
Надо сказать, что этот компьютер я использую до сих пор, только добавил SSD на полтерабайта, чтобы система бегала побыстрее.
Расширение лимита на объём передаваемых заметок позволило перестать заморачиваться с оптимизацией заливаемых в Эвернот картинок, а также сделать блокнот с личной библиотекой. Изначально я собирался загружать туда только книжки по дизайну интерфейсов, юзабилити и типографике, но в итоге сделал хранилищем вообще, всех книг, которые считал интересными.
Постепенно в Эвернот переехало и всё остальное. Появился блокнот «Ссылки» для хранения закладок на интересные веб-сервисы, «Алиэкспресс» про заказы с Алика, «Здоровье» со всякими медицинскими данными, «Банки» с банковскими договорами и инфой о счетах и многое, многое другое.
Но особенно мне нравилось грабить веб-страницы в базу заметочника и потом их просматривать без риска потери содержимого, если исходный сайт накроется.
Так почему же мне не нравится Эвернот и я хочу плакать после каждого нового апдейта? Потому что с тех пор у них что-то случилось и они стали планомерно клиент ухудшать.
Одной из базовых возможностей клиента всегда были теги. И всегда было можно организовать иерархию тегов с неограниченными уровнями вложенности (в блокнотах только два уровня вложенности). Например, у меня есть тег «Авторы», под который засовываю теги с фамилиями авторов книжек из блокнота библиотеки. Так вот, в старых версиях клиента была возможность выделить несколько тегов и переместить под родительский одним движением. Хотите посмотреть, как это происходит сейчас?
Видите? Мало того, что из-за того, что теги нельзя выделить и переместить разом, их приходится таскать руками поодиночке, так ещё и в одном из трёх перетаскиваний зачем-то раскрывается родительский тег и его нужно закрывать.
Но должен признать, что в последней версии клиента с групповым перетаскиванием тегов, страница тегов открывалась до двух минут, а сама операция по выделению и перетаскиванию группы тегов могла легко занять минут пять. Но такая возможность была.
Дальше будет много виджетов с видео, убираю под кат.
Страховая: Эй, клиент, купи у меня страховку, а когда у тебя случится беда, я помогу деньгами. Клиент: Хорошо, вот деньги. … Клиент: Эй, страховая, у меня случилась беда, теперь ты мне поможешь? Страховая: Нет :3
* * *
Об исторической спирали и сайтах знакомств
История всего, даже мелочей, идёт по спирали. Когда-то давно на сайтах знакомств было принято писать любым понравившимся девушкам без всяких ограничений. 90 % этих сообщений оставались без ответа (если вы не обладали внешностью мужской модели).
Поэтому придумали сервисы, в которых нужно было лайкать и в которых писать можно было только после взаимных лайков. И вот, на этих сервисах некоторые девушки стали писать «не вижу лайков, пишите сразу в телеграм/инстаграм». Часть из них мошенницы, но остальные жаждут очередного поворота спирали.
* * *
Хорошая вакансия
Develonica (аутсорс-разработка, центр экспертизы ГК Softline, офисы в 5 городах, 1500 сотрудников) ищет scala-разработчика на проект, связанный с ЭДО, для государственной организации, на scala 2.11 Хотелось бы в штат. Есть удалёночка, но только из РФ. Основной офис в Ижевске, но проект по московскому времени.
По деньгам, 150 тыс. руб. в мес. на руки для мидла, 250 за сениора. Но это не верхние границы, если у вас богатый профильный опыт и портфолио, можем рассмотреть более высокие зарплаты.
Если вы — охотник за головами и у вас есть резюме подходящего специалиста, тоже пишите, но заплатим мы только по факту выхода человека на работу.
* * *
О постмортемах
Пришёл к выводу, что в аутсорсной компании, работающей над множеством проектов, надо по завершении каждого проекта обязательно писать подробный постмортем. Как проходил проект, какие были трудности, как их преодолели, какие выводы сделали. Какие необычные вещи в рамках проекта сделали.
Зачем это всё надо, кроме назиданий потомкам. Столкнулись с проектом, в котором надо оказать специфическую услугу. Так как стоимость довольно высокая, заказчик решил провести тендер. И для подачи документации на этот тендер, надо представить доказательства того, что мы такую услугу ранее оказывали.
Бегаем по всей компании, вытаскиваем из олдфагов воспоминания.
Пишите постмортемы, короче.
* * *
Об орущих сайтах
До сих пор в вебе действует тренд на сайты с очень крупной типографикой, которая хорошо смотрится на широких экранах десктопных компов и на экранчиках смартфонов. Я этот тренд не разделяю, много думал, почему.
Наверное, из-за того, что мне эти сайты напоминают страницы букваря для малышей, там тоже были очень крупные буквы, чтобы первоклассники научились читать. С экрана 14-дюймового ноутбука такой сайт на тебя буквально орёт. С большого экрана и со смартфона такого ощущения нет.
Мелкие сайты из старого веба трудно читать, нужно напрягать глаза, современные на тебя орут. Комфорт, как обычно, где-то посередине.
* * *
О принятии решений
Подумал, что есть ещё один важный навык, которому не учат ни в школе, ни в институте (по крайней мере, в виде части какого-либо курса или предмета), но который очень важен в реальной практике. Это принятие решений.
В целом, в школе, существует один способ решения задач в точных науках и общепринятое мнение для работ по гуманитарным. Если принять решение решить задачу альтернативным методом или написать сочинение с необщепринятым мнением, могут снизить оценку.
В вузе чуть более выраженная свобода и микрорешения всё же присутствуют. Например, я иногда принимал решение вообще не идти на сдачу экзамена, а идти сразу на пересдачу, где оценка будет снижена на балл, но и требования сильно ниже.
Но хотелось бы, чтобы осознанному принятию решений всё же обучали.
* * *
О задачах с несколькими заинтересованными лицами
«Проектные» люди часто решают плохоформализованные задачи, в которых участвует несколько человек, иногда из разных организаций. Если вам спихнули такую задачу, которой ранее уже занимались и вам её надо добить, не ломитесь как лось на гону её решать, прежде чем свяжетесь с каждым из затронутых лиц и уточните, что они о ней знают. Могут быть сюрпризы.
* * *
Об учёном
Когда говорят «Калининград», большинство вспоминает янтарь и Канта. Более продвинутые люди вспоминают строганину, клопсы и марципан. Но дело в том, что в Кёнингсберге родился и провёл изрядную часть научной карьеры ещё один крайне важный учёный.
Давид Гилберт, последний универсалист в математике и один из важнейших математиков двадцатого века. Как Ландау понимал всю известную на тот момент физику, так Гилберт понимал всю математику и сделал большое количество открытий в разных её областях.
Кроме того, Гилберт сформулировал и представил в 1900 году «23 проблемы Гилберта», 23 важнейшие математические задачи двадцатого века. После него другие учёные предлагали свои списки, но гилбертовский считался наиболее трушным. Надо сказать, что человечество оказалось молодцом и решило 16 задач. Ещё две не являются математически корректными, ещё три решены для частных случаев и ещё две не решены вообще.
В общем, Калининград/Кёнигсберг — это не только Кант, но и Гилберт.
Давид Гилберт
* * *
Об ещё одном учёном
Я снова об учёных. Все знают Евгения и Иосифа Пригожиных и штампуют мемы, якобы, их путая. Но есть (точнее, был) третий, намного более важный Пригожин по имени Илья. Русско-еврейско-бельгийский физикохимик, лауреат Нобелевской премии 1977 года.
О его существовании я узнал ещё в универе, когда пытался хотя бы минимально разобраться, что такое синергетика. Пригожин исследовал термодинамику неравновесных систем и строго доказал возможность качественного скачка сложности систем, поглощающих энергию. Причём, этот скачок никак не может быть предсказан статистически.
Чтение работ Пригожина может здорово повлиять на мозг креациониста, обосновывающего невозможность появления сложных организмов, путём эволюции при помощи статистических аргументов (недавно видел в ленте такой пост).
* * *
О дефектах речи
Когда-то давно писал, что заметил, что иногда встречаю проектные команды, у членов которых один и тот же дефект дикции. То ли лидеры бессознательно подбирают таких людей, то ли дефекты синхронизируются. В частности, работал с командой, в которой все сотрудники несколько раз повторяли первый слог первого слова в предложении, сорт оф заикание.
Сейчас встретил команду, в которой практически все слегка картавят.
* * *
О стариках
Не так давно промелькнула новость (не из Панорамы) о том, что суд признал эмодзи в виде большого пальца официальным согласием с условиями сделки. Тем временем, юристы, с которыми сейчас общаюсь, живут в далёком прошлом, когда судами принимались исключительно письма по имейлу. Соответственно, никаких гуглодокументов, только кидание друг в друга по почте вордового документа с примечаниями.
Такое погружение в прошлое позволяет особенно чётко прочувствовать прогресс, к которому мы пришли с онлайн-редактированием документов и морально подготовиться к временам, когда гугл всё же российский рынок покинет.
Берегите стариков. Мы умеем заводить уазик кривым ключом, превращать газеты в туалетную бумагу, делать крючки для полотенец из отработанных зубных щёток, плести украшения из трубочек капельниц, забивать в стену авторучку, чтобы потом вкрутить в неё шуруп, пользоваться режимом рецензирования в ворде и делать много другой забытой херни, которая, похоже, возвращается.
Ладно, у Яндекса есть какой-то аналогичный чебурнетный редактор, так что совсем без онлайн-документов не останемся, но тренд прослеживается.
* * *
О багах в основном потоке
У нас хорошая цифровизация органов власти. Очень мало в каких странах есть аналоги Госуслуг и других онлайновых государственных сервисов. Но всё равно, постоянно сталкиваешься с багами в основном потоке.
Час назад на смартфон пришло налоговое уведомление. Пытаюсь его открыть — приложение налоговой забыло авторизацию и требует заново войти. Ну да, безопасность, вдруг злоумышленник похитит мой смартфон и оплатит за меня налоги. Вхожу через госуслуги, открываю уведомление, вижу, что там pdf-документ. Пытаюсь его открыть — не открывается. Пытаюсь скачать — не скачивается.
Это я, почтальон Печкин, принёс налоговое уведомление для вашего мальчика. Только я вам его не отдам, потому что у нас разрабы жопорукие и тестеры не в состоянии протестить основной поток.
С десктопного сайта всё работает.
* * *
О письме вымышленному другу
Есть такой программистский приём по преодолению затруднений — взять резиновую уточку и максимально подробно описать ей свою проблему. Часто решение приходит само собой.
Я иногда применяю похожий приём — письмо вымышленному другу. Открываю почтовый клиент и пишу максимально подробное письмо, в котором излагаю предысторию проблемы, все её аспекты, суть затруднений, свои варианты по решению. Обычно к концу написания такого письма, нормальное решение тоже приходит само.
* * *
О священности введённых пользователем данных
Мысль не новая, но разработчики многих приложений почему-то о ней забывают. Дело в том, что данные, введённые пользователями, священны. Они должны сохраняться всегда, вне зависимости от того, что произойдёт дальше. Пользователь может вернуться на предыдущий экран, приложение может покрашиться, смартфон перезагрузиться, но всё, что пользователь ввёл, должно оставаться на своём месте.
Почему триггернуло. Общался с техподдержкой Альфа-банка по поводу закрысенного кешбэка, набрал сообщение в чате (не отправляя) и зачем-то переключился на основной экран приложения, надо было глянуть какие-то данные. Переключаюсь обратно — текста нетъ :3
Хороший кейс — пару недель назад пытался надеть фиолетовый ошейник в Линке, ввёл данные о компании и вакансии, но завершить процедуру не удалось, Линк не принимал код. Саппорт сказал, что из РФ больше нельзя создать вакансию, их борьба. Так вот, если попытаться сделать это ещё раз, окажется, что Линк сохранил все данные. Няшки.
* * *
О живом общении
Илья Бирман как-то раз написал (а я утащил это себе в «Правила жизни»), что не бывает «удалённой» и «приближённой» работы. Есть просто работа и просто присутствие в офисе, иногда эти процедуры пересекаются.
Точно так же с общением. Многие пишут в анкете на СЗ — «только живое общение». Мне кажется, в 2к23, нет никакого «живого» и «мёртвого» общения, есть просто общение, и совершенно не имеет значения, по какому каналу оно происходит.
Более того, общение в мессенджерах даже более полезно для истории. Однажды археологи обнаружили письмо, в котором римский солдат Антоний Максим Апион 2000 лет назад написал своему отцу Епимаху. Прикрепляю к посту. Так же в будущем цифровые археологи будут раскапывать наши переписки и по ним восстанавливать картины быта 21 века.
* * *
О разнице русского и китайского взглядов на бизнес
Когда-то читал историю (похожую на притчу) о разнице русского и китайского взглядов на бизнес. Человек рассказал, что устроился в новый офис и всё время проходил мимо ларька с пирожками. И на этом ларьке было объявление: «Ксерокса нет». Через несколько дней объявление сменилось на «Ксерокса нет и никогда не было». Потом вывесили: «Ксерокса нет и мы не знаем, где ксерокс». Ещё через несколько дней: «За вопрос о ксероксе — штраф 1000 руб.»
А потом этот киоск купил китаец. Через три дня работы он притащил откуда-то самый дешёвый чёрно-белый ксерокс. Где-то через неделю заменил его на нормальную МФУ с цветной печатью. Через месяц поставил компьютер, фотокамеру, фон и сделал что-то вроде маленького документального центра со сканированием, распечаткой, фото на документы, доступом к электронной почте и прочим. Через полгода пристроил к ларьку небольшое кафе и начал строить парикмахерскую. Перестал приезжать на велике и обзавёлся подержанным джипом.
Может, оно и к лучшему, что восточная часть нашей страны медленно, спокойно, но неумолимо занимается китайцами. Они просто приезжают, селятся, работают и живут. Поступь Китая неспешна и неумолима и хз, что там будет в перспективе ста лет.
* * *
О санкциях со стороны телеграма
А вы знали, что телеграм может наложить на вас ограничение, из-за которого вы временно не сможете писать невзаимным контактам? Чаще всего так делают со спамерами, которые пишут незнакомым людям рекламную хрень и те их блочат.
Но могут и за более безобидные вещи. Наш региональный новостной канал запостил новость: «Российские учёные объяснили причины аварии лунного модуля — он разбился о поверхность Луны».
Я не удержался и запостил в комментариях мем: «Я ёбнулся с саней», посчитав это достаточно ироничным.
Комментарий удалили, а на следующий день я обнаружил, что телеграм запретил мне писать невзаимным контактам, а так как мы используем его по работе, это было существенным ограничением.
Посмотреть, на какое время вы наказаны, можно у бота @SpamBot Снять наказание досрочно нельзя никак. В общем, если используете телегу по работе, будьте осторожны.
* * *
О передастии и паузах
Если вы не топ-менеджер, в вашей работе будет так или иначе присутствовать передастия. Например, верхнеуровневые финансовые вопросы чаще всего пиэмам не доверяют. И вообще, иногда приходится транслировать подчинённым решения вышестоящего руководства и никуда от этого не деться. Маленький лайфхак — немного тупите.
«Мне сказали — я сказал. Мне бы не говорили — я бы не говорил» — из ролика «Порожняк», киножурнала «Фитиль». Не торопитесь перекатывать вагончики, в изрядном проценте случаев сэкономите силы и нервы команды.
Я не о саботаже, конечно, а о небольшом временном буфере. Получили решение от руководства — ну не передавайте его никому полчаса, потупите. Не придётся извиняться, когда это решение отменят.
* * *
О дожимании
Нанимая пиэма, нужно обратить внимание на одну очень важную склонность. Дело в том, что почти все с большим энтузиазмом встречают предложение стартовать новый проект. Новые вводные, новые люди, можно сразу всё правильно организовать, интересно же.
Предложение же подключиться к существующему проекту, принять дела и продолжить работу, обычно встречают с меньшим энтузиазмом из-за менеджерского легаси — всяких кривых и мутных договорённостей.
И совсем мало людей любят дожимать. Доделывать недоделанные, но вписанные в договор фичи, актировать незаактированные работы, организовывать написание пользовательской и админской документации, всяких приёмочных документов. Исправлять баги, которые всё никак не закончатся. Вроде, всё сдали, но тестировщики заказчика всё вылавливают и вылавливают. А это всё, по сути, самое важное в проекте.
В общем, умение дожимать — одно из важнейших для проектных сотрудников. Оно важно и для исполнителей, но для пиэмов первостепенно.
* * *
О проверке бизнес-гипотез изнутри
А почему бы не открыть пивную разливайку и грести бабло? Все любят пиво. А почему бы не открыть кофейню с пончиками и грести бабло? Все любят кофе и пончики. А почему бы не открыть логистическую компанию, нанять туда водил со своими грузовиками и грести бабло? Всем нужны перевозки. А почему бы не открыть пошивочный цех, шить рубашки и грести бабло? Всем нужны рубашки.
Вот хороший совет. Устройтесь в чужую компанию по выбранному профилю и поработайте в ней исполнителем два-три месяца. Постойте за прилавком разливайки, посидите на телефоне логистической компании, поподавайте ножницы портнихам в пошивочной. Это даст вам в тысячу раз больше знаний об этом бизнесе, чем любые исследования рынка, опросы, гайды и курсы. А может и убережёт от потери нескольких миллионов (возможно, ещё и кредитных) на реализацию не самой удачной идеи.
* * *
О мобилках
Создаётся устойчивое ощущение, что эпоха, в которой было не слишком сложно зарабатывать на мобильных приложениях, закончилась. Пользователи смартфонов, похоже, наигрались и перестали искать в сторах что либо, кроме уже известных им приложений. Органики почти нет, на фичеринг никто не обращает внимания.
В общем, если вы в 2023 делаете приложение, чтобы заработать, нужен собственный могучий источник трафика или какой-нибудь арабский шейх с неограниченными деньгами для закупки трафика. Да и то, не факт, что экономика сойдётся.
Может быть, второе дыхание дадут последние ходы эппла с переориентацией айфона в игровую платформу?
* * *
О важности альтернативного мнения
Сейчас в нашем обществе не то, что не приветствуются альтернативные мнения, за них жестоко наказывают. Могут наказать простого гражданина, давшего неправильный ответ во время уличного опроса, могут наказать депутата, нажавшего на неправильную кнопку во время голосования в Думе, исключений нет. Волшебное слово «дискредитация».
С одной стороны, для общества и для государства нет более губительного тренда. Хотя бы потому, что единственно верную точку зрения изрёк не всезнающий пророк, её сформулировало несколько высокопоставленных дедушек, она не может быть безошибочной. В истории уже были такие периоды, они приводили к серьёзнейшей деградации государства и общественным кризисам.
С другой стороны, обществу такое положение дел удобно и комфортно. Чтобы разбираться в нескольких точках зрения, нужно мыслить, а мыслить тяжело. Для аналогии — вы прекрасно знаете, как трудно заставить себя после работы сходить в спортзал, причём, независимо, умственная это была работа или физическая. Прилечь на диванчик и смотреть тиктоки легче. С мышлением то же самое, принять единственно верную точку зрения и жить с ней намного легче, чем пытаться понять, в чём разница между несколькими, какие у них плюсы и минусы. Обратите внимание, на выборах уже давно нет носителей различных государственных программ, более того, нет вообще никаких программ, даже формальные кандидаты высказывают одни и те же популистские лозунги и всё.
Если общество людей, не посещающих спортзал ещё имеет какие-то перспективы, то общество людей с дряхлыми мозгами перспектив не имеет.
Я хотел бы рассказать про директрису нашей школы, которая вела обществознание. Она на каждом втором уроке делила класс на группы по семь-восемь человек, заставляла каждую группу изучить какую-нибудь теорию общественного устройства, понять, какие у неё плюсы и минусы, выбрать одного человека, чтобы тот выступил и рассказал об этом. Это так противоречило всему естеству десятиклассников, будущих избирателей, которых десять лет учили зубрить и воспроизводить, что директрису буквально ненавидели за эти уроки.
Совершенно непонятно, как менять этот тренд и можно ли его изменить вообще. Психологи советуют приучать детей делать выбор с самого раннего детства. Да, вы приняли решение, что ребёнку нужна курточка, но вполне можно дать ему возможность выбрать курточку самостоятельно. Да, велика вероятность, что он выберет яркую херню. Ну так и пусть ходит в этой яркой херне, если ему это не понравится, в следующий раз выберет более адекватную модель.
Делать выбор и нести ответственность за этот выбор, другого пути нет.
* * *
О пользе генеративных нейросетей для создателей инди-игр
На мой взгляд, генеративные нейросети могут быть чрезвычайно полезны создателям инди-игр. Раньше для одинокого программиста, придумавшего игру, создание графики было целой проблемой. Умение кодить и умение рисовать нечасто сочетаются. То есть, нужно было где-то искать художника.
Уже на текущем уровне развития нейросетей вполне можно сгенерировать любые двухмерные изображения для игры и, насколько я знаю, уже есть некоторые попытки нейросетевой генерации триде моделей.
Мелкие огрехи графики пользователи авторам простят. По всей видимости, в ближайшие годы нас ждёт рост количества инди-игр.
Апдейт. К сожалению, автор канала запретил встраивание своих постов, поэтому буду просто цитировать.
Чел сделал небольшую игру, используя Dalle-3 для графики, а ChatGPT-4 для написания кода.
Сделать свою несложно: генерим сначала картинки персонажей, врагов, снарядов и фон в Dalle-3. Потом берем все картинки, идем в ChatGPT-4 и пишем промт:
You are an expert software developer and you want to code a very simple 2D game. [подробности игры]. Think step by step to start coding it. I will provide you in later iterations with the different images. For now, you can just use squares with different colors for the characters
ИИ пошагово все сделает. Поздравляю, вы разработчик игр.
Меня всегда забавляли задачи, в которых некто купил 28 арбузов. Вот, какую задачу можно было бы добавить в современный учебник математики, чтобы детям было интересно.
Кешбэк Альфы 1 % за всё + 5 % за такси при выборе месячной категории. Кешбэк рублями. Кешбэк Яндекса за заказ Комфорт теперь 5 % при оплате банковской картой и 10 % при оплате картой Яндекс Пей (предполагаем, что у вас есть подписка Яндекс Плюс). И это кешбэк баллами Яндекс Плюс, вы его можете тратить только на оплату некоторых сервисов Яндекса. Но при оплате картой Яндекс Пей, вы теряете банковский кешбэк.
Что выгоднее: Заказывать Эконом и получать только банковский кешбэк рублями? Заказывать Комфорт (он дороже на 10-20 %), оплачивать картой Альфы, получать кешбэк Альфы рублями и Яндекса баллами Яндекс Плюса? Заказывать Комфорт, оплачивать картой Яндекс Пей и получать повышенный кешбэк, но баллами Яндекс Плюса?
* * *
О проектах, которые на самом деле не проекты
Однажды я оказался на проекте, в рамках которого нужно было реализовать одно государственное требование по маркировке продукции. Но прежде, чем что-то проектировать и кодить, требовалось изучить группу процессов, описать их «как есть» и если необходимо, внести корректировки. Потому что никто не знал их целиком, были отдельные лица, знавшие отдельные процессы (не всегда во всех деталях).
Руководил по факту этой деятельностью архитектор, проработавший в компании много лет. Мы созванивались с разными участниками, интервьюировали их, подключали аналитиков, рисовали схемы процессов, выясняли непонятные вопросы.
Меня поставили пиэмом и первым делом потребовали план. Я связался с архитектором и предложил вместе составить план работ. Он отвечает: «Мы не можем составить план, высокая неопределённость. Совершенно непонятен конечный объём работ, после каждых выполненных задач вылезают новые задачи, надо просто работать, пока всё не опишем и не зафиксируем». Я предложил работать «набегающей волной», составив приблизительный перечень работ на будущее и детально расписав задачи на ближайшее время. Архитектор ответил, что задачи на ближайшее время переписать можно, но их список постоянно меняется, буквально каждый день.
Руководство в ответ на составленный мной «план», заявило, что они не работают по спринтам, у них сплошной водопад, требуется нормальный план с диаграммой ганта. Что такое «высокая неопределённость», которую мы поэтапно уменьшаем, им непонятно.
Понимаете ситуацию? Архитектор, который хоть что-то понимает в проводимых работах, прямо говорит, что невозможно составить план, руководство департамента требует план, между ними пиэм, пытающийся сделать нечто, похожее на план, который не устраивает ни одну, ни вторую сторону. Созвониться и решить проблему стороны категорически не хотят, потому что я пиэм и должен решать такие вопросы сам.
Закончилось это тем, что я на очередной встрече по статусу испытательного срока сказал, что не хочу далее этот испытательный срок проходить и наше сотрудничество закончено.
Сейчас смотрю на ситуацию ретроспективно и понимаю одну вещь. Наша деятельность просто не была проектом и методы проектного управления к ней были неприменимы, вот и всё.
* * *
О заботе об инструментах
Если человек зарабатывает при помощи лошади, для него считается самим собой разумеющимся снабжать её приемлемым кормом, держать под навесом, чистить копыта, время от времени давать морковку и яблочко, в общем, заботиться о своём инструменте. Человек, зарабатывающий при помощи музыкального инструмента также заботится о своей скрипке или гитаре. Человек, зарабатывающий на компьютере, заботится о компьютере.
И только для человека, зарабатывающего при помощи других людей, то есть, руководителя, эта мысль почему-то неочевидна. Растворимый кофе (на который нужно скидываться), наидешевейший компьютер с монитором, на котором можно разглядеть пиксели с двух метров, «стул для посетителей» вместо кресла — стандартная практика большинства работодателей. Я в итоге стал отказываться от рабочего компа и всё делать на своём макбуке. Если бы офисные времена не закончились, купил бы ещё и рабочее кресло, так достала боль в спине по окончании рабочего дня.
Если зарабатываете при помощи людей, заботьтесь об этих людях. Овёс, навес, подковы, морковка и яблочко, должны быть надлежащего качества.
* * *
О чиновничьем аппарате
Вы когда-нибудь задумывались о том, что в каждом российском регионе есть собственные министерства буквально всего? Государство одержимо жаждой контролировать и регулировать каждый шаг своих граждан, поэтому, например, считает, что учителя не могут сами разобраться, как учить детей, поэтому существует федеральное министерство образования, в каждом регионе есть региональное министерство, а в каждом крупном городе комитет по образованию, ну или хотя бы отдел образования в каждой администрации каждого небольшого города.
Параллельно с этой структурой, есть структура Министерства Просвещения, а чтобы эти структуры не расслаблялись — Рособрнадзор, который всё это контролирует и выделенные сотрудники прокуратуры, чтобы тоже контролировать, но по-другому.
В основном, роль этих структур сводится к спусканию в школы разнообразных распоряжений и требованию отчётов по их исполнению. В последние десять лет ещё требуется выкладывать эти распоряжения и отчёты на школьных сайтах. Разумеется, автоматически появились новые должности людей, которые ходят по школьным сайтам и проверяют, правильно ли выложены приказы и отчёты и шлют школам грозные предупреждения, если неправильно.
Даже такая полезная вещь как обеспечение школьников горячим питанием (у нас для этого потребовалось аж распоряжение президента, хотя по идее, должно быть достаточно платить налоги) обросла каким-то несметным роем проверяющих, которые требуют каждый день выкладывать меню и фотографии еды (ладно, фотки еды в последнее время уже перестали требовать).
Если сократить весь этот чудовищный аппарат и пустить деньги, непосредственно на оснащение школ и зарплату учителей (сделав профессию чрезвычайно престижной и привлекая тем самым в эту сферу профессионалов), мы бы через пару поколений получили бы и технологии межзвёздных полётов, и телепорты, и медицинских наноботов и всё на свете. Но у нас каждая кампания по сокращению госаппарата приводит к росту его численности на несколько процентов.
Но такой задачи пока не стоит. Прилагаю кусочек «Законов Паркинсона», чтобы показать, что такое не только у нас и не только в образовании.
Всегда есть следующий уровень. И если со ступенькой, ведущей вверх, обычно всё более-менее ясно, чтобы прочувствовать ступеньку вниз, нужна ситуация.
В 2008 у меня всё было довольно грустно. За плечами технический вуз, год невнятного опыта одинэсником, полгода опыта преподавателем, в наличии полное нежелание калининградских работодателей брать меня на какую-либо должность (удалёнки тогда не было даже близко).
Позвали собеседоваться в одну довольно крупную компанию-разработчика, речь шла о должности руководителя корпоративного сайта, но на собесе оказалось, что это конкурс на главу отдела маркетинга, на который приехало ещё человек пятнадцать.
Грустный еду с собеседования (офис был в ебенях), разговорился с соседом по автобусу. Он спросил, куда я ездил в эти ебеня, я рассказал, что на собеседование. А он говорит, что задолбали эти собеседования, у него решительно нет денег, чтобы на них ездить, почему не могут просто взять на работу. И я как-то очень чётко осознал, что есть ступенька ниже и этих ступенек ещё очень и очень много.
* * *
О контроле
У начинающих руководителей часто возникает вопрос. Вот у меня есть подчинённый, он выполняет какие-то задачи, в конце периода скидывает отчёт. Я что, должен каждую выполненную им и указанную в отчёте задачу лично проверить и верифицировать?
Ага, должны. Это часть работы руководителя. Считается нормальным тратить на такой контроль до двух часов в неделю на каждого подчинённого. Когда он привыкнет к контролю и начнёт хорошо справляться, можно будет проверять не все задачи, а выборочно.
И да, из этого следует, что если у вас 20 подчинённых, контроль будет занимать абсолютно всё рабочее время. Поэтому считается, что непосредственных подчинённых не должно быть больше 7-9, при дальнейшем росте нужно назначать «уличных лейтенантов».
* * *
О багах
Мы прогневили машинных богов и теперь нас окружают бесконечные баги. Из очень узкоспециализированной сферы, интересной компьютерным задротам, маниакально относящихся к качеству своих приложений, разработка стала массовой и туда повалили рандомные люди в поисках денег. Создаётся ощущение, что каждый что-то разрабатывает, проектирует и тестирует и всё это делается на отъебись.
Мне хочется плакать от каждого нового релиза Эвернота. В каждом релизе несколько новых багов, в том числе в основном потоке, с каждой версией им становится всё менее и менее комфортно пользоваться. За каким-то чёртом они ухудшают каждую функцию. Заметки открывались в десктопной версии десктопного клиента мгновенно — с позапрошлой версии на это стало требоваться от трёх секунд до минуты. Заметки перемещались в другие блокноты мгновенно — в последней версии стал появляться индикатор и процесс стал занимать по несколько секунд.
Почтовый клиент Mail, который всегда был вылизанным, выдаёт вообще, несусветное, я даже это нормально объяснить словами не могу. В списке писем имена пользователей в некоторых письмах «трусит». Я, конечно, подумал, что в пицце с грибами попались не те грибы, снял скринкаст, показал сисадмину, он тоже это видит.
Моё приложение для умных весов при каждом запуске сообщает, что я незалогинен и данные не запишутся. Если нажать «назад», сообщение исчезает и всё прекрасно записывается. А ещё, раз в неделю эти весы отказываются производить взвешивание, крутят какие-то числа, пока не вытащишь батарейку, перезапустив их.
Вчера смотрел «Все работы хороши» про работу в поликлинике, все врачи буквально стонут от медицинского говнософта, он запредельно глючный, он может, к примеру, взять и похерить протокол осмотра пациента, который вы заполняли несколько минут.
Из времён, когда чтобы найти баг, надо было в прямом смысле, «ломать» приложение, мы пришли ко временам, когда баги повсюду, на каждом шагу.
Что с этим можно делать? Да, вы не можете заставить разработчиков эвернота заняться багами, как-то повлиять на эппловцев, приложение для весов, вообще, наверное, делал какой-то китаец-аутист, который по-английски-то не понимает. Но вы можете сделать качественным СВОЁ приложение, над которым вы работаете в настоящий момент.
Поэтому перечитайте ещё раз мой предыдущий пост. Я понимаю, что у вас QA, я понимаю, что у вас тимлид ревьюит. Всё, что можно прокликать и проверить, прокликивайте и проверяйте перед релизом. Так вы внесёте свою лепту в борьбу с баговым хаосом.
* * *
О валюте
В связи с преодолением рублём очередного дна.
Человек, ничего не понимающий в экономике: Да нет никаких механизмов формирования курсов, просто евреи в Нью-Йорке цифры рисуют. Человек с экономическим образованием, работающий в этой сфере: Экономические механизмы сложные, их много, там сдержки и противовесы, это всё нужно долго изучать для минимального понимания. Человек, имеющий прямое отношение к экономике, уровня топ-менеджера ЦБ: Да нет никаких механизмов формирования курсов, просто евреи в Нью-Йорке цифры рисуют.
* * *
Об OLE
Одной из вещей, больше всего удививших меня в самом первом компе, был реализованный в Windows механизм OLE. Object Linking and Embedding. То есть, вы можете вставить в документ файл любого типа, лишь бы он поддерживал этот механизм, файл будет слинкован с документом, изменения в файле будут отображаться в документе. Это казалось прям пушкой.
Но спустя два десятилетия, я понимаю, что в реальной практике вставлял в рабочие документы растровые или векторные картинки и, крайне редко, экселевские таблицы. И как правило, это было не связывание, а внедрение, когда встроенный файл хранился внутри родительского.
Будет здорово, если вы расскажете, как использовали OLE, а позднее ActiveX для каких-то более продвинутых вещей.
* * *
О мотивации
Кадр из сериала «В Бореньке чего-то нет».
Пересматривал вчера «В Бореньке чего-то нет», понравился один момент. Режиссёр (Виторган) рассказывает своему другу-сценаристу (Демидов), что у него есть знакомый, производитель мебели. Не ширпотреба, а вполне нормальной мебели. И однажды этот мебельщик купил себе дом. Режиссёр его спрашивает, а ты мебель в этот дом, своего производства поставишь? А тот отвечает, нет, конечно, я хочу, чтобы у меня дома была нормальная мебель.
И режиссёр задумался. Что делает ради денег сериалы про ментов и бандитов и вот, теперь решил снять для себя хороший фильм. И другу как бы, такое вполне простительно, потому что он бизнесмен, а этот режиссёр как бы, занимается искусством и ему должно быть как бы стыдно.
Мне кажется, лучший софт получается, когда его задумывают не чтобы заработать, а для себя. Пример — Марк Руссинович сделал отличные утилиты для себя, подарил их миру и они прекрасны. Никто бы не обиделся, если бы Марк брал за них деньги, но главный принцип — основной целью должно быть деланье для себя, для своих потребностей.
* * *
О боязни рисков
Однажды я написал одному хорошему знакомому дотнетчику, что моей компании требуется средней сложности чат-бот на дотнете. Пара недель не самой сложной работы, нормальный гонорар. Он отвечает, какие вы молодцы, делайте, конечно.
Однажды написал хорошему знакомому одинэснику, что моей компании требуется консультация по 1С. Нужно заглянуть в клиентскую БД и дать экспертную оценку, что в ней, вообще, лежит, как устроена, в каком состоянии. Он отвечает, могу это сделать только официально, через свою компанию, через договор, а кроме того, нужно будет оформить подписку на ИТС.
Мне кажется, что «удачливый» человек — это человек, который не отвергает возможности, даже если эти возможности несут в себе риски. А люди, называющие себя «неудачливыми» напротив, находятся внутри своей скорлупы и возможности напрочь отметают.
* * *
О важности критики
Я когда-то очень любил фразу Королёва: «Критикуешь — предлагай. Предлагаешь — делай. Делаешь — отвечай», но чем дальше, тем больше мне кажется, что возможность критиковать, не предлагая решений, это норм.
Это как с пюре с комочками в заказанной еде из ресторана. Я совершенно не горю желанием посетить кухню этого ресторана и научить повара делать пюре без комочков и уж совсем не желаю делать его сам, но моя критика, относительно комочков, поможет ресторану стать лучше. И надо дать пользователю возможность отправить критику так, чтобы её увидел администратор. В разработке такая же история. Критика часто важна сама по себе.
* * *
О важности советов
По мере роста профессионального уровня пиэма, у него меняется отношение к критериям успешности проекта, инструментам и многому другому. Например, к возможности обратиться за помощью. Люди, которые недавно в профессии, страшно этого стесняются, переживая, что их сочтут недостаточно профессиональными, если они сообщат руководству и коллегам, что у них затруднение на проекте, пытаются решать всё в одно лицо и в итоге терпят фейл.
Запросить совет или второе мнение по проектным затруднениям вполне норм и зрелые пиэмы этого не стесняются.
* * *
О навыках постановки задач
Так получилось, что я сейчас работаю по пресейлам. Если один из них станет проектом, буду руководить этим проектом. Оценил их уже около десятка, можно делать какие-то выводы. И выводы такие, что умение грамотно сформулировать задачу, даже на уровне концепта — довольно редкая штука.
Практически не бывает такого, что получили документ с описанием проекта, прочитали, тут же оценили, скинули оценку. Чаще всего, требуется встреча с заказчиком, чтобы в принципе, понять его ожидания, бизнес-проблему, ландшафт и границы проекта. Потом технари пишут немаленький список блокирующих вопросов. И только после этого можно дать оценку. В некоторых случаях пришлось констатировать, что потребуется аж целая аналитическая фаза, на которой будут работать аналитики и архитектор и после которой оценка основного проекта будет очень сильно уточнена (может быть, в разы).
Вот, что подумалось. Нас в школе, потом в высшем учебном заведении постоянно учат решать задачи, быть исполнителем. Но никто не учит ставить задачи, быть заказчиком. Было бы интересно и полезно, если бы студентов учили этому навыку.
* * *
О том, как важно быть активным пользователем своего продукта
Видел интервью, в котором Якубович рассказывает, что понятия не имеет, что такое «Поле чудес», так как ни разу его не смотрел, кроме того, в его семье запрещено эту передачу смотреть и обсуждать.
Делает он это для того, чтобы воспринимать свою телепередачу не как бесконечный сериал, а как концерт, который каждый раз новый, а кроме того, чтобы не подметить какой-нибудь нравящийся зрителям ход и не начать его всё время повторять.
При разработке айти-продукта, к сожалению, подход не работает. Лучшие продукты получаются у людей, которые являются самыми активными пользователями этих продуктов и делают их, в первую очередь для себя. Это не даёт гарантий (Маск, например, активный пользователь Твиттера, что не мешает ему принимать очень странные решения), но здорово помогает.
* * *
О стоимости владения сотрудником
Я ранее писал о стоимости владения кодом. Если вы решили задачу написанием нового кода, помимо стоимости создания, придётся оплачивать и владение этим кодом, а это много. Сегодняшняя мысль — есть «стоимость владения сотрудником».
Измеряется эта стоимость не только прямым способом, через зарплаты и премии, но и вниманием, которое он требует к себе. Как разработчик с высокой квалификацией, но плохой внимательностью, который способен завершить работу только после десятка циклов тестирования-отладки. Или аналитик, хорошо знающий систему, но унижающий коллег и хамящий сотрудникам соседних отделов. Или администраторша корпоративного портала, умеющая автоматизировать процессы, но которая при этом, как ни ткни, либо в отпуске, либо на больничном. (Все приведённые примеры встречались мной в ходе практики).
Поведение взрослых людей подчиняется коррекции очень слабо. Как ни говори разрабу «будь внимательнее», внимательнее он если и станет, то на очень короткое время. Аналитик останется говнюком. Администраторша так и будет при любой возможности избегать работы. Поэтому по возможности оцениваем и решаем, нужны ли вам сотрудники с высокой стоимостью «владения». Я всё же считаю, что легче взять снаружи человека с хорошими софтами и подтянуть его хардовые компетенции, чем мучиться с описанными выше товарищами.
* * *
О важности навыка
Спасать утопающих не так-то просто. Многие люди считают, что если они умеют плавать, манипулируя только одной рукой и ногой, смогут совершенно спокойно спасти тонущего человека. Они не учитывают, что тонущий, от страха захлебнуться, ничего не соображает и будет довольно интенсивно пытаться утопить спасателя вместе с собой. Нужен навык.
С помощью утопающим в жизненных обстоятельствах такая же петрушка. Это не означает, что помогать никому нельзя, можно, просто нужен некоторый навык.
* * *
О специализации
Я знаю каратэ, кунг-фу, ушу, дзюдо, тхэквондо, кендо, будо, бушидо и много других страшных слов. Недавно смотрел видео специалиста по боевым искусствам, в котором он аргументированно объяснял, почему люди, приписывающие себе владение большим количеством боевых школ и стилей, членство во всех обществах и академиях, как правило, шарлатаны. Крайне сложно серьёзно освоить даже две взаимодополняющие школы, три — почти невозможно, жизни не хватит.
Примерно по этой же причине, я настороженно отношусь к людям-многостаночникам, которые одновременно писатель, сценарист, певец, учёный, стендап-комик, актёр, нутрицитолог, косметолог и ещё немножечко шьёт. В «Симсах» была жизненная цель «Человек эпохи Возрождения», но в жизни такие люди встречаются крайне редко.
Помню, как мой препод в институте сказал: «Ты можешь иметь хоть 10 высших, только что с того? У тебя в башке будет такой винегрет, что ты будешь идиотом во всём». Глядя на нашего плотника, художника, лётчика, подводника, музыканта и писателя, понимаю, как прав был профессор.
* * *
О замораживании процессов
Оказалось, что список процессов в виндовом диспетчере задач можно «заморозить», чтобы процессы не скакали и их можно было спокойно выбирать. Для этого достаточно нажать Ctrl.
Тайным знанием поделился инженер Microsoft Дейв Пламмер, который эту функцию и придумал.
Подумалось, что единственный феминитив, с которым я готов смириться, это «мусорка» в значении «сотрудница полиции».
* * *
Об аэропортофобии
Некоторые люди страдают аэрофобией. Однако статистика показывает, что авиация — самый безопасный транспорт, шанс попасть в автоаварию значительно выше. А вот аэропортофобия — намного более оправданная штука.
Я панически боюсь, что из-за какого-нибудь сбоя моя бронь потеряется или что рейс задержат на неделю, из-за чего вся поездка станет бессмысленной, в общем, аэропортовской бюрократии.
Наверное, если летать бизнес-классом, всё это будет выглядеть более дружелюбно, но полёты экономом имеют вайб максимальной враждебности к пассажиру, начиная с постоянных опозданий рейсов, бутеров в отлётной зоне по цене бюджета небольшого государства и заканчивая креслами самолёта, рассчитанными на хоббитов.
Психотропные таблетки можно везти только с рецептом. А те, кто это придумал в курсе, что рецепты на отчётные препараты забирают при покупке? Приходится прятать снотворное на дно сумки, пока не находили.
Ну и последний момент, который раздражает меня в авиаперелётах — невозможность иметь с собой какое-либо оружие. Даже баллончик CS, абсолютно законная штука, не может быть провезён самолётом, даже в багаже. Антитеррор во все поля, конечно, но чувствуешь себя голым. К счастью, на внутренних перелётах разрешают иметь при себе тактическую ручку, если она не особо стрёмного вида (но в некоторые страны Европы и её заставят выкинуть).
* * *
О зарплате
В самом начале карьеры о зарплате меня никто не спрашивал. То ли, в силу малого опыта, то ли тогда это было немодно. Потом начали спрашивать. Я обычно брал стоимость аренды однокомнатной квартиры, еды и проезда на месяц и озвучивал эту сумму.
Набрав некоторый коммерческий опыт, осмелел и у очередного работодателя попросил (краснея и трясясь, как шуганая псина) в два раза больше. Он сказал, что вообще-то новичкам у них столько не платят, но ладно. В договор в итоге почему-то написали на 2 тысячи меньше, но я не стал возникать.
Потом случился крымнаш и мы резко обеднели в два раза. Какое-то время на автомате работал за старую зарплату, но в итоге стал просить у следующих работодателей немного больше, пока не пришёл к более взрослому подходу — стал анализировать вакансии по своему профилю и оценивать среднее предложение.
А потом пришло особое дзюцу. Я научился, прочитав внимательно вакансию, просмотрев сайт и проанализировав, как пишет рекрутер, чётко называть верхний предел вилки данного работодателя.
Считаю такой эволюционный подход к запрашиванию зарплаты, достаточно экологичным и разумным.
* * *
О фичеризме
Давным-давно корифеи копирайтинга начали говорить — никакого «фичеризма» в рекламных описаниях продукта! То есть, не надо описывать функции продукта в столбик, расскажите лучше, какие проблемы он решает. Apple вообще, продаёт не столько продукты, сколько стиль жизни.
А мне вот не хватает фичеризма. Месяц назад увидел рекламу новых яндексовских теликов и заинтересовался. Прочитал рекламу, управление голосом без пульта, очень тонкий, выглядит на стене как картина, офигительный звук и в таком духе. Вроде, круто, но совершенно непонятно. Можно ли транслировать на него экран ноута по вайфаю? Можно ли ставить приложения из апк-шек? Есть ли у него порты внизу? Его же предполагается вешать на стену, не придётся ли его снимать каждый раз, когда захочешь вставить флешку?
В итоге, конечно, вышли обзоры, в них об этом всём рассказали. Но мне кажется здравой идея переключаемых описаний, одно для маглов, про образ жизни и картину на стене, другое для гиков, про порты.
Не изгоняйте фичеризм окончательно, пожалуйста.
UPD: После обзоров телик, кстати, покупать раздумал. Пишут, что звук не такой уж премиальный; при расшаривании экрана на него, тормозит даже по кабелю; нет 120 гц.
* * *
О безопасности
Две самые большие секурные тупости на свете — периодическое разлогинивание и необходимость регулярно менять пароль. И если периодическое разлогинивание ещё можно как-то оправдать необходимостью помнить пароль (зачем — не знаю, но допустим, надо), то от регулярной смены пароля только вред.
Если пароль от веб-сервиса ещё можно хранить в менеджере паролей, то пароль, например, от виндовой учётки в таком контексте приходится либо записать на листочке и положить под клавиатуру, либо придумывать предсказуемые пароли, чтобы их можно было хоть как-то запомнить.
А бесполезна эта мера, потому что утечки почти в 100 % случаев происходят не из-за злых хакеров, подобравших пароль брутфорсом, а руками прекрасно знающего все пароли штатного специалиста, которому несколько лет не повышали зарплату и который решил подзаработать на сливе данных конкурентам.
* * *
О быстром улучшении работы компании
Если бы передо мной стояла задача принести в организацию максимум пользы с точки зрения менеджмента за минимальное количество действий, я бы сделал:
Добился бы максимально возможной специализации исполнителей. Реализовывать вьетнамский вариант, когда за каждую операцию отвечает отдельный вьетнамец за миску риса и сникерс, конечно, не надо, но и от режима «все делают всё, но никто толком не отвечает за конкретную задачу» надо избавляться первым делом.
Добился бы дублирования исполнителей для максимально возможного количества функций. Каждую операцию должны уметь делать, как минимум, два человека на случай отпусков, болезней, отгулов и внезапных увольнений. Люди также должны быть замотивированы подменять друг друга в таки ситуациях не только корпоративным духом. Хорошо работает матрица компетенций.
* * *
О перелётах
Прилетел в Ижевск с однодневным визитом. Прямого рейса не нашлось, впервые в жизни летел с пересадками. Мысли для других командированных:
Хорошие наушники, обязательно с качественным шумодавом — наше всё.
Всем плевать на расписание. При выборе рейсов для полёта с пересадкой, закладывайте на пересадку не менее 4-5 часов (при условии, что вам не нужно менять аэропорт), опоздание на час-полтора, похоже, в авиации, вообще, не считается за косяк.
Идите на регистрацию сразу после её открытия, в Шереметьево адские очереди на регистрацию.
При формировании сметы для работодателя, побольше закладывайте на такси с учётом высокого спроса.
Хорошая, дорогая зарядка с четырьмя портами — прекрасное вложение денег. Поставить на зарядку одновременно ноут, смартфон, наушники и четвёртый гаджет (умные часы, например, но у меня это фонарик-павербанк) очень удобно.
* * *
О единомышленниках
Помните, как Хаус во втором сезоне уволил Бозли за то, что тот озвучивал его мысли? У Хауса была крайне интеллектуальная работа и чтобы выполнять её успешно, ему были нужны люди, мыслящие принципиально иначе, чем он, чтобы его дополнять и усилять.
Другие эксперты по менеджменту (тот же Батырев) считают, что наоборот, успехов добиваются только команды единомышленников, действующие как единый кулак, а не ладонь с растопыренными пальцами.
Думаю, правильный вариант зависит именно от степени интеллектуальности труда, а точнее, от новизны и уникальности решаемых задач. Тогда действительно, нужны люди, мыслящие по-разному. Команда, которая должна решать более-менее стандартизированные задачи, вроде продаж чего-нибудь, действительно, будет эффективнее, состоя из людей примерно одинакового мышления и взглядов.
Булгаков, устами Иешуа, говорил, что правду говорить легко и приятно. Насколько приятно после этого искать новую работу, он не говорил.
* * *
О важности логов
Важнейшая, хоть и незаметная функция любого продукта, которую нужно реализовывать как можно раньше — логирование ошибок. Как только приложение показывает ошибку, эта ошибка должна записываться в лог с максимальным количеством подробностей.
Должен ли этот лог автоматически отправляться на сервер разработчика — вопрос открытый, но в таком случае, нужно обязательно запросить у пользователя разрешение на такие отправки. Если не делаем автоматическую отправку, у пользователя должна быть возможность отправить лог руками одним кликом.
Определённо бесит ситуация, когда у пользователя ошибка, он звонит в саппорт, там у него выясняют шаги воспроизведения, пытаются воспроизвести, а ошибка не воспроизводится.
Обычно баги выписывают тестировщики, однако любому менеджеру проектов приходится заниматься тем, что называется «приёмочное тестирование», в ходе которого он выясняет, то ли, в принципе, сделал разработчик. Мало того, бывает ситуация, когда тестировщика нет вообще и ПМ-у приходится брать функцию поиска и регистрации дефектов на себя.
Багом или дефектом называется ситуация, когда система ведёт себя не так, как написано в требованиях. Если требований нет — то когда её поведение противоречит хотелкам заказчика или здравому смыслу. К сожалению, хотелки заказчика, как и здравый смысл — штуки зыбкие, поэтому даже плохо написанные требования лучше, чем вообще ничего.
Ну и у вас должен быть багтрекер. Мне приходилось работать с редмайном, джирой, бейскампом, TFS, матисом, встроенным багтрекером битбакета. Большой разницы между ними нет, главное, чтобы багтрекер был и поддерживал нумерацию дефектов, статусы, ответственных, крайний срок и имел на борту фичу списывания фактически затраченного времени.
Заголовок
Заголовок должен отвечать на вопросы: «Что? Где? Когда?». Суть ошибки, локализация и условия, при которых она возникает. Например: «Сбрасывается галка менеджмента в редакторе сметы при сохранении»
Описание
Описание должно отвечать на вопросы: «Что делал? Что получилось? Что должно было получиться?»
Что делал — описываем последовательность шагов для воспроизведения бага. Описание должно быть необходимым и достаточным, лишние шаги туда не включаем. Шаги нумеруем по порядку. Что получилось — реакция системы, её неправильное поведение. Что должно было получиться — правильное поведение системы, согласно требованиям. Перфекционисты могут даже сослаться на раздел и пункт техзадания, но это уже лирика.
Создаю и открываю на редактирование смету.
Ввожу перечень работ.
Ставлю галку менеджмента и прописываю значение.
Сохраняю смету
В предпросмотре сметы строка менеджмента отсутствует. Если открыть смету на редактирование, выясняется, что галка и значение сбросились. Галка и значение должны сохраняться при сохранении сметы.
Аттач
Скриншоты. Если для иллюстрации бага нужен скриншот, прикрепляем его к багу. Желательно иметь под рукой какой-нибудь редактор, в котором можно быстро нарисовать стрелочки — так разработчику будет проще разобраться, где именно локализован дефект.
Скринкасты. В моей практике они оказывались реально нужны, когда у разработчика не получалось повторить баг и он возвращал его обратно. Полезно иметь в браузере расширение для записи скринкастов, я использую Screencastify.
Логи Если для описания бага важно содержимое лога, копируем его в текстовый файл и приаттачиваем к дефекту. Засовывать логи в описание бага категорически не рекомендуется.
Приоритет
Blocker – проблема блокирует функционал.
High – серьезные проблемы функционала, задевающие основной сценарий/главные фичи, которые нужно исправить в первую очередь.
Normal – стандартные баги функционала/ верстки.
Low – опечатки, мелкие баги верстки. Баг желательно вешать на разработчика, ответственного за кусок функционала, затронутый багом.
Окружение
Разработчик должен знать, при каких конкретно условиях проявляется баг. Поэтому следует указывать версию приложения, модель устройства, название и версию браузера, название операционной системы и другие сведения об окружении бага.
Распространённые ошибки
Десяток ошибок в одном баге. Возникает соблазн накидать в один баг кучу проблем, связанных с одним куском функционала. Это плохая идея. Много мелких багов лучше одного крупного — они быстрее закрываются и отправляются на проверку и вообще, лучше читаются. Крупный баг нельзя закрыть, пока не будут закрыты все описанные проблемы и в течение этого времени проверяющий будет простаивать. Иногда избежать этой ошибки не удаётся. В таких случаях рекомендуется прикреплять к дефекту чеклист.
Скриншот вместо фактического результата. Формулировка вида «Ничего не работает» и скрин в аттаче, вот и весь дефект. За такие дефекты надо отрывать руки. В 99 % случаев проблему можно описать способом, о котором я рассказал выше и дефекты такого типа — следствие лени проверяющего.
Невнятные шаги воспроизведения. Всегда нужно помнить первую татуировку из книги «45 татуировок менеджера»: То, что очевидно для вас, неочевидно для остальных. Если описать шаги недостаточно подробно, есть риск, что разработчик просто не сумеет воспроизвести баг и вернёт его на доработку, что приведёт к потере времени.
Постановка всем багам высшего приоритета. Тут как с мальчиком, который кричал «Волки!» Если всем багам ставить высший приоритет, отношение к ним будет одинаковым — исправляем по мере возможности. Высший приоритет следует приберечь для действительно серьёзных проблем, которые прямо сейчас блокируют работу большому количеству пользователей.