О следующем уровне
Всегда есть следующий уровень. И если со ступенькой, ведущей вверх, обычно всё более-менее ясно, чтобы прочувствовать ступеньку вниз, нужна ситуация.
В 2008 у меня всё было довольно грустно. За плечами технический вуз, год невнятного опыта одинэсником, полгода опыта преподавателем, в наличии полное нежелание калининградских работодателей брать меня на какую-либо должность (удалёнки тогда не было даже близко).
Позвали собеседоваться в одну довольно крупную компанию-разработчика, речь шла о должности руководителя корпоративного сайта, но на собесе оказалось, что это конкурс на главу отдела маркетинга, на который приехало ещё человек пятнадцать.
Грустный еду с собеседования (офис был в ебенях), разговорился с соседом по автобусу. Он спросил, куда я ездил в эти ебеня, я рассказал, что на собеседование. А он говорит, что задолбали эти собеседования, у него решительно нет денег, чтобы на них ездить, почему не могут просто взять на работу. И я как-то очень чётко осознал, что есть ступенька ниже и этих ступенек ещё очень и очень много.
* * *
О контроле
У начинающих руководителей часто возникает вопрос. Вот у меня есть подчинённый, он выполняет какие-то задачи, в конце периода скидывает отчёт. Я что, должен каждую выполненную им и указанную в отчёте задачу лично проверить и верифицировать?
Ага, должны. Это часть работы руководителя. Считается нормальным тратить на такой контроль до двух часов в неделю на каждого подчинённого. Когда он привыкнет к контролю и начнёт хорошо справляться, можно будет проверять не все задачи, а выборочно.
И да, из этого следует, что если у вас 20 подчинённых, контроль будет занимать абсолютно всё рабочее время. Поэтому считается, что непосредственных подчинённых не должно быть больше 7-9, при дальнейшем росте нужно назначать «уличных лейтенантов».
* * *
О багах
Мы прогневили машинных богов и теперь нас окружают бесконечные баги. Из очень узкоспециализированной сферы, интересной компьютерным задротам, маниакально относящихся к качеству своих приложений, разработка стала массовой и туда повалили рандомные люди в поисках денег. Создаётся ощущение, что каждый что-то разрабатывает, проектирует и тестирует и всё это делается на отъебись.
Мне хочется плакать от каждого нового релиза Эвернота. В каждом релизе несколько новых багов, в том числе в основном потоке, с каждой версией им становится всё менее и менее комфортно пользоваться. За каким-то чёртом они ухудшают каждую функцию. Заметки открывались в десктопной версии десктопного клиента мгновенно — с позапрошлой версии на это стало требоваться от трёх секунд до минуты. Заметки перемещались в другие блокноты мгновенно — в последней версии стал появляться индикатор и процесс стал занимать по несколько секунд.
Почтовый клиент Mail, который всегда был вылизанным, выдаёт вообще, несусветное, я даже это нормально объяснить словами не могу. В списке писем имена пользователей в некоторых письмах «трусит». Я, конечно, подумал, что в пицце с грибами попались не те грибы, снял скринкаст, показал сисадмину, он тоже это видит.
Моё приложение для умных весов при каждом запуске сообщает, что я незалогинен и данные не запишутся. Если нажать «назад», сообщение исчезает и всё прекрасно записывается. А ещё, раз в неделю эти весы отказываются производить взвешивание, крутят какие-то числа, пока не вытащишь батарейку, перезапустив их.
Вчера смотрел «Все работы хороши» про работу в поликлинике, все врачи буквально стонут от медицинского говнософта, он запредельно глючный, он может, к примеру, взять и похерить протокол осмотра пациента, который вы заполняли несколько минут.
Из времён, когда чтобы найти баг, надо было в прямом смысле, «ломать» приложение, мы пришли ко временам, когда баги повсюду, на каждом шагу.
Что с этим можно делать? Да, вы не можете заставить разработчиков эвернота заняться багами, как-то повлиять на эппловцев, приложение для весов, вообще, наверное, делал какой-то китаец-аутист, который по-английски-то не понимает. Но вы можете сделать качественным СВОЁ приложение, над которым вы работаете в настоящий момент.
Поэтому перечитайте ещё раз мой предыдущий пост. Я понимаю, что у вас QA, я понимаю, что у вас тимлид ревьюит. Всё, что можно прокликать и проверить, прокликивайте и проверяйте перед релизом. Так вы внесёте свою лепту в борьбу с баговым хаосом.
* * *
О валюте
В связи с преодолением рублём очередного дна.
Человек, ничего не понимающий в экономике: Да нет никаких механизмов формирования курсов, просто евреи в Нью-Йорке цифры рисуют.
Человек с экономическим образованием, работающий в этой сфере: Экономические механизмы сложные, их много, там сдержки и противовесы, это всё нужно долго изучать для минимального понимания.
Человек, имеющий прямое отношение к экономике, уровня топ-менеджера ЦБ: Да нет никаких механизмов формирования курсов, просто евреи в Нью-Йорке цифры рисуют.
* * *
Об OLE
Одной из вещей, больше всего удививших меня в самом первом компе, был реализованный в Windows механизм OLE. Object Linking and Embedding. То есть, вы можете вставить в документ файл любого типа, лишь бы он поддерживал этот механизм, файл будет слинкован с документом, изменения в файле будут отображаться в документе. Это казалось прям пушкой.
Но спустя два десятилетия, я понимаю, что в реальной практике вставлял в рабочие документы растровые или векторные картинки и, крайне редко, экселевские таблицы. И как правило, это было не связывание, а внедрение, когда встроенный файл хранился внутри родительского.
Будет здорово, если вы расскажете, как использовали OLE, а позднее ActiveX для каких-то более продвинутых вещей.
* * *
О мотивации
Пересматривал вчера «В Бореньке чего-то нет», понравился один момент. Режиссёр (Виторган) рассказывает своему другу-сценаристу (Демидов), что у него есть знакомый, производитель мебели. Не ширпотреба, а вполне нормальной мебели. И однажды этот мебельщик купил себе дом. Режиссёр его спрашивает, а ты мебель в этот дом, своего производства поставишь? А тот отвечает, нет, конечно, я хочу, чтобы у меня дома была нормальная мебель.
И режиссёр задумался. Что делает ради денег сериалы про ментов и бандитов и вот, теперь решил снять для себя хороший фильм. И другу как бы, такое вполне простительно, потому что он бизнесмен, а этот режиссёр как бы, занимается искусством и ему должно быть как бы стыдно.
Мне кажется, лучший софт получается, когда его задумывают не чтобы заработать, а для себя. Пример — Марк Руссинович сделал отличные утилиты для себя, подарил их миру и они прекрасны. Никто бы не обиделся, если бы Марк брал за них деньги, но главный принцип — основной целью должно быть деланье для себя, для своих потребностей.
* * *
О боязни рисков
Однажды я написал одному хорошему знакомому дотнетчику, что моей компании требуется средней сложности чат-бот на дотнете. Пара недель не самой сложной работы, нормальный гонорар. Он отвечает, какие вы молодцы, делайте, конечно.
Однажды написал хорошему знакомому одинэснику, что моей компании требуется консультация по 1С. Нужно заглянуть в клиентскую БД и дать экспертную оценку, что в ней, вообще, лежит, как устроена, в каком состоянии. Он отвечает, могу это сделать только официально, через свою компанию, через договор, а кроме того, нужно будет оформить подписку на ИТС.
Мне кажется, что «удачливый» человек — это человек, который не отвергает возможности, даже если эти возможности несут в себе риски. А люди, называющие себя «неудачливыми» напротив, находятся внутри своей скорлупы и возможности напрочь отметают.
* * *
О важности критики
Я когда-то очень любил фразу Королёва: «Критикуешь — предлагай. Предлагаешь — делай. Делаешь — отвечай», но чем дальше, тем больше мне кажется, что возможность критиковать, не предлагая решений, это норм.
Это как с пюре с комочками в заказанной еде из ресторана. Я совершенно не горю желанием посетить кухню этого ресторана и научить повара делать пюре без комочков и уж совсем не желаю делать его сам, но моя критика, относительно комочков, поможет ресторану стать лучше. И надо дать пользователю возможность отправить критику так, чтобы её увидел администратор. В разработке такая же история. Критика часто важна сама по себе.
* * *
О важности советов
По мере роста профессионального уровня пиэма, у него меняется отношение к критериям успешности проекта, инструментам и многому другому. Например, к возможности обратиться за помощью. Люди, которые недавно в профессии, страшно этого стесняются, переживая, что их сочтут недостаточно профессиональными, если они сообщат руководству и коллегам, что у них затруднение на проекте, пытаются решать всё в одно лицо и в итоге терпят фейл.
Запросить совет или второе мнение по проектным затруднениям вполне норм и зрелые пиэмы этого не стесняются.
* * *
О навыках постановки задач
Так получилось, что я сейчас работаю по пресейлам. Если один из них станет проектом, буду руководить этим проектом. Оценил их уже около десятка, можно делать какие-то выводы. И выводы такие, что умение грамотно сформулировать задачу, даже на уровне концепта — довольно редкая штука.
Практически не бывает такого, что получили документ с описанием проекта, прочитали, тут же оценили, скинули оценку. Чаще всего, требуется встреча с заказчиком, чтобы в принципе, понять его ожидания, бизнес-проблему, ландшафт и границы проекта. Потом технари пишут немаленький список блокирующих вопросов. И только после этого можно дать оценку. В некоторых случаях пришлось констатировать, что потребуется аж целая аналитическая фаза, на которой будут работать аналитики и архитектор и после которой оценка основного проекта будет очень сильно уточнена (может быть, в разы).
Вот, что подумалось. Нас в школе, потом в высшем учебном заведении постоянно учат решать задачи, быть исполнителем. Но никто не учит ставить задачи, быть заказчиком. Было бы интересно и полезно, если бы студентов учили этому навыку.
* * *
О том, как важно быть активным пользователем своего продукта
Видел интервью, в котором Якубович рассказывает, что понятия не имеет, что такое «Поле чудес», так как ни разу его не смотрел, кроме того, в его семье запрещено эту передачу смотреть и обсуждать.
Делает он это для того, чтобы воспринимать свою телепередачу не как бесконечный сериал, а как концерт, который каждый раз новый, а кроме того, чтобы не подметить какой-нибудь нравящийся зрителям ход и не начать его всё время повторять.
При разработке айти-продукта, к сожалению, подход не работает. Лучшие продукты получаются у людей, которые являются самыми активными пользователями этих продуктов и делают их, в первую очередь для себя. Это не даёт гарантий (Маск, например, активный пользователь Твиттера, что не мешает ему принимать очень странные решения), но здорово помогает.
* * *
О стоимости владения сотрудником
Я ранее писал о стоимости владения кодом. Если вы решили задачу написанием нового кода, помимо стоимости создания, придётся оплачивать и владение этим кодом, а это много. Сегодняшняя мысль — есть «стоимость владения сотрудником».
Измеряется эта стоимость не только прямым способом, через зарплаты и премии, но и вниманием, которое он требует к себе. Как разработчик с высокой квалификацией, но плохой внимательностью, который способен завершить работу только после десятка циклов тестирования-отладки. Или аналитик, хорошо знающий систему, но унижающий коллег и хамящий сотрудникам соседних отделов. Или администраторша корпоративного портала, умеющая автоматизировать процессы, но которая при этом, как ни ткни, либо в отпуске, либо на больничном. (Все приведённые примеры встречались мной в ходе практики).
Поведение взрослых людей подчиняется коррекции очень слабо. Как ни говори разрабу «будь внимательнее», внимательнее он если и станет, то на очень короткое время. Аналитик останется говнюком. Администраторша так и будет при любой возможности избегать работы. Поэтому по возможности оцениваем и решаем, нужны ли вам сотрудники с высокой стоимостью «владения». Я всё же считаю, что легче взять снаружи человека с хорошими софтами и подтянуть его хардовые компетенции, чем мучиться с описанными выше товарищами.
* * *
О важности навыка
Спасать утопающих не так-то просто. Многие люди считают, что если они умеют плавать, манипулируя только одной рукой и ногой, смогут совершенно спокойно спасти тонущего человека. Они не учитывают, что тонущий, от страха захлебнуться, ничего не соображает и будет довольно интенсивно пытаться утопить спасателя вместе с собой. Нужен навык.
С помощью утопающим в жизненных обстоятельствах такая же петрушка. Это не означает, что помогать никому нельзя, можно, просто нужен некоторый навык.
* * *
О специализации
Я знаю каратэ, кунг-фу, ушу, дзюдо, тхэквондо, кендо, будо, бушидо и много других страшных слов. Недавно смотрел видео специалиста по боевым искусствам, в котором он аргументированно объяснял, почему люди, приписывающие себе владение большим количеством боевых школ и стилей, членство во всех обществах и академиях, как правило, шарлатаны. Крайне сложно серьёзно освоить даже две взаимодополняющие школы, три — почти невозможно, жизни не хватит.
Примерно по этой же причине, я настороженно отношусь к людям-многостаночникам, которые одновременно писатель, сценарист, певец, учёный, стендап-комик, актёр, нутрицитолог, косметолог и ещё немножечко шьёт. В «Симсах» была жизненная цель «Человек эпохи Возрождения», но в жизни такие люди встречаются крайне редко.
Я за специализацию с разумным T-shape.
Помню, как мой препод в институте сказал: «Ты можешь иметь хоть 10 высших, только что с того? У тебя в башке будет такой винегрет, что ты будешь идиотом во всём». Глядя на нашего плотника, художника, лётчика, подводника, музыканта и писателя, понимаю, как прав был профессор.
* * *
О замораживании процессов
Оказалось, что список процессов в виндовом диспетчере задач можно «заморозить», чтобы процессы не скакали и их можно было спокойно выбирать. Для этого достаточно нажать Ctrl.
Тайным знанием поделился инженер Microsoft Дейв Пламмер, который эту функцию и придумал.
* * *
О феминитивах
Подумалось, что единственный феминитив, с которым я готов смириться, это «мусорка» в значении «сотрудница полиции».
* * *
Об аэропортофобии
Некоторые люди страдают аэрофобией. Однако статистика показывает, что авиация — самый безопасный транспорт, шанс попасть в автоаварию значительно выше. А вот аэропортофобия — намного более оправданная штука.
Я панически боюсь, что из-за какого-нибудь сбоя моя бронь потеряется или что рейс задержат на неделю, из-за чего вся поездка станет бессмысленной, в общем, аэропортовской бюрократии.
Наверное, если летать бизнес-классом, всё это будет выглядеть более дружелюбно, но полёты экономом имеют вайб максимальной враждебности к пассажиру, начиная с постоянных опозданий рейсов, бутеров в отлётной зоне по цене бюджета небольшого государства и заканчивая креслами самолёта, рассчитанными на хоббитов.
Психотропные таблетки можно везти только с рецептом. А те, кто это придумал в курсе, что рецепты на отчётные препараты забирают при покупке? Приходится прятать снотворное на дно сумки, пока не находили.
Ну и последний момент, который раздражает меня в авиаперелётах — невозможность иметь с собой какое-либо оружие. Даже баллончик CS, абсолютно законная штука, не может быть провезён самолётом, даже в багаже. Антитеррор во все поля, конечно, но чувствуешь себя голым. К счастью, на внутренних перелётах разрешают иметь при себе тактическую ручку, если она не особо стрёмного вида (но в некоторые страны Европы и её заставят выкинуть).
* * *
О зарплате
В самом начале карьеры о зарплате меня никто не спрашивал. То ли, в силу малого опыта, то ли тогда это было немодно. Потом начали спрашивать. Я обычно брал стоимость аренды однокомнатной квартиры, еды и проезда на месяц и озвучивал эту сумму.
Набрав некоторый коммерческий опыт, осмелел и у очередного работодателя попросил (краснея и трясясь, как шуганая псина) в два раза больше. Он сказал, что вообще-то новичкам у них столько не платят, но ладно. В договор в итоге почему-то написали на 2 тысячи меньше, но я не стал возникать.
Потом случился крымнаш и мы резко обеднели в два раза. Какое-то время на автомате работал за старую зарплату, но в итоге стал просить у следующих работодателей немного больше, пока не пришёл к более взрослому подходу — стал анализировать вакансии по своему профилю и оценивать среднее предложение.
А потом пришло особое дзюцу. Я научился, прочитав внимательно вакансию, просмотрев сайт и проанализировав, как пишет рекрутер, чётко называть верхний предел вилки данного работодателя.
Считаю такой эволюционный подход к запрашиванию зарплаты, достаточно экологичным и разумным.
* * *
О фичеризме
Давным-давно корифеи копирайтинга начали говорить — никакого «фичеризма» в рекламных описаниях продукта! То есть, не надо описывать функции продукта в столбик, расскажите лучше, какие проблемы он решает. Apple вообще, продаёт не столько продукты, сколько стиль жизни.
А мне вот не хватает фичеризма. Месяц назад увидел рекламу новых яндексовских теликов и заинтересовался. Прочитал рекламу, управление голосом без пульта, очень тонкий, выглядит на стене как картина, офигительный звук и в таком духе. Вроде, круто, но совершенно непонятно. Можно ли транслировать на него экран ноута по вайфаю? Можно ли ставить приложения из апк-шек? Есть ли у него порты внизу? Его же предполагается вешать на стену, не придётся ли его снимать каждый раз, когда захочешь вставить флешку?
В итоге, конечно, вышли обзоры, в них об этом всём рассказали. Но мне кажется здравой идея переключаемых описаний, одно для маглов, про образ жизни и картину на стене, другое для гиков, про порты.
Не изгоняйте фичеризм окончательно, пожалуйста.
UPD: После обзоров телик, кстати, покупать раздумал. Пишут, что звук не такой уж премиальный; при расшаривании экрана на него, тормозит даже по кабелю; нет 120 гц.
* * *
О безопасности
Две самые большие секурные тупости на свете — периодическое разлогинивание и необходимость регулярно менять пароль. И если периодическое разлогинивание ещё можно как-то оправдать необходимостью помнить пароль (зачем — не знаю, но допустим, надо), то от регулярной смены пароля только вред.
Если пароль от веб-сервиса ещё можно хранить в менеджере паролей, то пароль, например, от виндовой учётки в таком контексте приходится либо записать на листочке и положить под клавиатуру, либо придумывать предсказуемые пароли, чтобы их можно было хоть как-то запомнить.
А бесполезна эта мера, потому что утечки почти в 100 % случаев происходят не из-за злых хакеров, подобравших пароль брутфорсом, а руками прекрасно знающего все пароли штатного специалиста, которому несколько лет не повышали зарплату и который решил подзаработать на сливе данных конкурентам.
* * *
О быстром улучшении работы компании
Если бы передо мной стояла задача принести в организацию максимум пользы с точки зрения менеджмента за минимальное количество действий, я бы сделал:
- Добился бы максимально возможной специализации исполнителей. Реализовывать вьетнамский вариант, когда за каждую операцию отвечает отдельный вьетнамец за миску риса и сникерс, конечно, не надо, но и от режима «все делают всё, но никто толком не отвечает за конкретную задачу» надо избавляться первым делом.
- Добился бы дублирования исполнителей для максимально возможного количества функций. Каждую операцию должны уметь делать, как минимум, два человека на случай отпусков, болезней, отгулов и внезапных увольнений. Люди также должны быть замотивированы подменять друг друга в таки ситуациях не только корпоративным духом. Хорошо работает матрица компетенций.
* * *
О перелётах
Прилетел в Ижевск с однодневным визитом. Прямого рейса не нашлось, впервые в жизни летел с пересадками. Мысли для других командированных:
- Хорошие наушники, обязательно с качественным шумодавом — наше всё.
- Всем плевать на расписание. При выборе рейсов для полёта с пересадкой, закладывайте на пересадку не менее 4-5 часов (при условии, что вам не нужно менять аэропорт), опоздание на час-полтора, похоже, в авиации, вообще, не считается за косяк.
- Идите на регистрацию сразу после её открытия, в Шереметьево адские очереди на регистрацию.
- При формировании сметы для работодателя, побольше закладывайте на такси с учётом высокого спроса.
- Хорошая, дорогая зарядка с четырьмя портами — прекрасное вложение денег. Поставить на зарядку одновременно ноут, смартфон, наушники и четвёртый гаджет (умные часы, например, но у меня это фонарик-павербанк) очень удобно.
* * *
О единомышленниках
Помните, как Хаус во втором сезоне уволил Бозли за то, что тот озвучивал его мысли? У Хауса была крайне интеллектуальная работа и чтобы выполнять её успешно, ему были нужны люди, мыслящие принципиально иначе, чем он, чтобы его дополнять и усилять.
Другие эксперты по менеджменту (тот же Батырев) считают, что наоборот, успехов добиваются только команды единомышленников, действующие как единый кулак, а не ладонь с растопыренными пальцами.
Думаю, правильный вариант зависит именно от степени интеллектуальности труда, а точнее, от новизны и уникальности решаемых задач. Тогда действительно, нужны люди, мыслящие по-разному. Команда, которая должна решать более-менее стандартизированные задачи, вроде продаж чего-нибудь, действительно, будет эффективнее, состоя из людей примерно одинакового мышления и взглядов.
* * *
О правде
Булгаков, устами Иешуа, говорил, что правду говорить легко и приятно. Насколько приятно после этого искать новую работу, он не говорил.
* * *
О важности логов
Важнейшая, хоть и незаметная функция любого продукта, которую нужно реализовывать как можно раньше — логирование ошибок. Как только приложение показывает ошибку, эта ошибка должна записываться в лог с максимальным количеством подробностей.
Должен ли этот лог автоматически отправляться на сервер разработчика — вопрос открытый, но в таком случае, нужно обязательно запросить у пользователя разрешение на такие отправки. Если не делаем автоматическую отправку, у пользователя должна быть возможность отправить лог руками одним кликом.
Определённо бесит ситуация, когда у пользователя ошибка, он звонит в саппорт, там у него выясняют шаги воспроизведения, пытаются воспроизвести, а ошибка не воспроизводится.
Логи ошибок мастхэв.