Фёдор Борщёв

Новый человек — это гипотеза

Когда нанимаешь нового человека, особенно в маленькую команду, против воли начинаешь формировать ожидания. Ещё даже офер не подписали, а ты уже ждёшь, что новый сотрудник поднимет конверсию, доделает зависший проект, расплатится с управленческим и техническим долгом, заберёт коммуникацию с командой и поможет со стратегией.

Этого не будет. Если такие ребята где-то и существуют, то странно, что мы нанимаем их, а не они — нас.

В момент, когда офер уже подписан, не садитесь на розового пони — никто ваши проблемы за вас не решит. Отнеситесь к новому человеку, как к продуктовой гипотезе: выстройте цифровые ожидания от его выхода и проверьте, выполняются ли они.

Ваша цель в первый месяц — проверить ожидания, больше ничего. Не доверяйте важные проекты, не отдавайте много ресурсов, не отпускайте далеко: просто проверяйте состоятельность.

Игнорировать оценки коллег

Ещё в школе мы привыкаем получать оценки. Помог учителю донести пачку тетрадей — молодец. Опоздал на урок — плохо, двоечник. Многие родители хвалят за хорошие оценки и ругают за плохие — так мы с детства и подсаживаемся на одобрение. А когда вырастаем, эту же модель поведения мы применяем к рабочим отношениям с коллегами: начинаем делать вещи, нацеленные на одобрение, и избегаем вещей, которые ведут к неодобрению.

Ради хорошей оценки мы можем даже пойти на должностное преступление — не спросить с коллеги за пропущенный дедлайн; недожать ресурсов для важного проекта; поставить в спринт неважную фичу только только потому, что попросили. Типа коллега запомнит, и на ежеквартальном ревью помянет добрым словом. Будете часто так делать — превратитесь в офисный планктон: все с вами дружат, но результатов бизнесу вы скорее всего не приносите.

Игнорируйте оценки коллег

Игнорируйте внешние оценки. Если для важной задачи нужно переругаться со всем офисом — ругайтесь. Если коллега пришёл с глупой хуйнёй — скажите ему, что он пришёл с глупой хуйнёй. Пусть первичными будут ваши внутренние правила, а не мнение коллег.

Тяжелее всего так делать в стартапах: вокруг бардак, вместо одного руководителя вы отчитываетесь всей компании, и каждый коллега норовит вам поставить «самую важную на текущий момент» задачу. Начнёте браться за всё — быстро сгорите, ничего не добившись. Так что выбирайте важное, и не стесняйтесь жертвовать одобрением коллег ради собственных стандартов качества.

Какие технологии выбрать для нового проекта? (версия для программистов)

Это — заметка для программистов. Если вы менеджер — почитайте версию для менеджеров.

Многие ребята, выбирая инструменты для нового проекта, начинают строить длинные таблицы, сравнивая фичи. Серьёзно обсуждают, что лучше — SFC во vue ил и CSS Modules в реакте.

Если вы выбираете инструменты для домашнего проекта — это вполне ок: подобрать приятный тулинг в этом случае настолько же важно, как и запустить проект.

Какие технологии выбрать для нового проекта?

А вот если вы начинаете коммерческий проект, то смотреть нужно совсем в другую сторону. Фичи — это состояние проекта сейчас. Подумайте лучше о том, каким будет ваш фреймворк потом. Удержит ли он комьюнити в ближайшую пару лет? Успеет ли за быстроизменяющейся средой? Будет ли адекватным предложение на рынке труда?

Искать ответы на эти вопросы поможет интуиция, reddit и Google Trends. И да, если вы выбираете фреймворк для фронтенда, то берите любой — всё равно протухнет через год.

Не веду личную базу знаний

Я не питаю иллюзий по поводу базы знаний: трудозатраты, вложенные в накопление информации, ко мне не возвращаются.

Как-то я открыл Симлноут и увидел там 50 аккуратных записей, трудолюбиво созданных за прошедшие полгода. При этом не смог вспомнить ни одного раза, когда я этими записями хоть как-нибудь воспользовался. Даже если посчитать, что на создание каждой записи я потратил одну минуту, то это почти час осознанного времени, который не принёс ровно ничего.

База знаний потребляет время

После этого я отправил весь свой архив знаний в корзину, и ни разу с тех пор не пожалел.

Всё, что мне кажется ценным как знание, я распихиваю по соответствующим местам. Интересную статью кидаю коллегам или сразу добавляю в общую вики. Доступы и документы храню в менеджере паролей. Идеи для постов — трелло, скелеты и черновики — в Bear.

Мой сетап разработчика

В этой заметке рассказываю об инструментах, которые использую для разработки коммерческих проектов и лайв-кодинга.

Я использую абсолютно стандартные железки, которые можно купить в любом магазине — проще раз в пару лет менять оборудование, чем заказывать и месяц ждать кастомные конфигурации, которые устареют не за 2, а за 3 года. Сейчас у меня два абсолютно одинаковых MacBook Pro 13” 2017 года. Два нужно потому, что примерно раз в год на одном из них ломается клавиатура, и пока её чинят по гарантии, я не могу себе позволить остаться без рабочей машины.

Когда я работаю дома, ноутбук подключён к монитору LG UltraFine 4K прошлого поколения — кажется это единственный монитор с честной ретиной и нативным для мака DPI. Поколение монитора важно — подробнее см. обзор на «Вёрдже».

Я не использую два дисплея, поэтому ноутбук работает Clamshell mode. Единственное исключение — стримы: для них я открываю на ноутбуке Open Broadcaster Software. Выглядит примерно так:

Рабочий стол с двумя дисплеями (редкое состояние)
Рабочий стол с двумя дисплеями (редкое состояние)

В качестве органов управления я использую Magic Keyboard 2 и Magic Trackpad 2. Мои пальцы не могут изогнуться, чтобы воспользоваться странной клавишей, которую засовывают в русских раскладках между левым шифтом и z, поэтому я всегда покупаю американские клавиатуры. С Magic Keyboard всё оказалось просто — оказывается родную американскую раскладку можно заказать прямо на русском сайте Apple. А вот — клавиатура ноутбука:

Клавиатура ноутбука c «длинным шифтом». Видно отключенный тачбар
Клавиатура ноутбука c «длинным шифтом». Видно отключенный тачбар

Полный список железок:

  • MacBook Pro 13"
  • Монитор LG UltraFine 4k
  • Клавиатура Magic Keyboard 2
  • Внешний тачпад Magic Trackpad 2
  • Веб-камера Logitech C920 Pro
  • Микрофон Blue Yeti со штангой Blue Compass и шокмаунтом Blue Radius
  • Наушники AKG K-44 для мониторинга

Поскольку я работаю стоя, напишу пару слов про стол. Сначала я работал за обычным икеевским столом, собранным из самой дешёвой столешницы и регулируемых ножек, но в какой-то момент эта конструкция меня достала —из-за высоты стол сильно шатался. Задумав поменять стол, я посмотрел на рынок и сильно удивился — меньше, чем за 20 000 ₽ высокий стол не купить, причём даже самые дорогие экземпляры, судя по обзорам на ютубе, не отличаются надёжностью.

Большая стоимость обусловлена тем, что все высокие столы на рынке — регулируемые: у дешевых столешница поднимается вручную, у дорогих — с помощью электромоторов. Здраво рассудив, что регулировкой высоты я воспользуюсь ровно один раз — при установке стола — я просто пошёл на лайвмастер и заказал стол под свой рост. Получился красивый и надёжный предмет мебели (который до сих пор пахнет деревом!), по цене ниже икеи.

Софт

Я не люблю IDE, и в роли редактора кода использую Visual Studio Code. После прекрасного, но умирающего саблайма, vscode со всеми своими фичами казался новогодней ёлкой, поэтому я потратил время и убрал оттуда всё лишнее, чтобы стало так:

Visual Studio code без отвлекающих факторов
Visual Studio code без отвлекающих факторов

Настройки:

  • Тема Solarized Light (no bold)
  • Шрифт Source Code Pro, ширина таба — 2
  • Выпилена интеграция с git (см. ниже)
  • Отключены хлебные крошки, мини-карта, сворачивание кодовых блоков и лампочка-подсказка.

В основном я пишу на python и node.js и использую стандартные плагины вроде обёрток над линтерами или vetur для vue.js. Плагинов, не специфичных для конкретного языка — немного:

  • vim, чтобы не возить мышкой
  • beautify, чтобы на месте форматировать странный код
  • EditorConfig
  • Path Intellisense — автодополнение путей к файлам
  • Settings sync, чтобы бекапить настройки
  • Duplicate action — кнопка в меню «дублировать файл»

Как старый линуксоид, я привык к консольным git и grep (вернее rg), поэтому второй мой важный инструмент — iTerm2:

iTerm2
iTerm2

В качестве оболочки я использую прекрасный fish. Если хотите так же — посмотрите на мои файлы конфигурации на гитхабе.