Управление и команды

страница 9 из 12
пост №757Управление и команды

Старший дизайнер из StackOverflow рассказывает, как у них всё remote-first, а не просто remote-friendly.

Длинный и интересный пост с кучей деталей об организации удаленной работы в компании (и дизайн-процессе). У них, например, есть специальный человек, который помогает (удаленно) обустроить домашний офис и разобраться с налогами, а все встречи проводятся через видео-связь (никаких «мы тут соберемся, а ты звони)». Клёвые иллюстрации (видно, что пост делал хороший дизайнер), образцовый пример онлайн-рассказа и отличная реклама работы в компании.

Не всё, что они делают, я готов применить у себя прямо сейчас. У нас всего 11 человек в команде разработки и мы больше экономим, но то, как устроена удаленная работа в StackOverflow — хороший ориентир.

Спасибо за наводку в нашем чатике Максу Сябро.

пост №742Управление и команды

В последние дни мне стало грустно (устал немного) и я с теплом вспоминаю, как мы встретились всей нашей распределенной командой разработки в Москве в начале месяца. Всего три дня живого общения с людьми, с которыми проводишь онлайн большую часть жизни — и все онлайн-коммуникации воспринимаются чуть-чуть по-другому. После личной встречи, проще разглядеть за буковками в интернете человека. С чувствами, мыслями, ошибками — живого человека, а не функцию.

Ну и совсем просто — после живой встречи (работы сидя рядом) проще понять, что хочет сказать человек «с другой стороны экрана». Меньше непониманий → выше эффективность.

Я слышал о командах, в которых люди вообще ни разу не виделись, даже в скайпе, и общаются только по переписке. Расскажите, как работаете удаленно вы?

Дорогая команда.

пост №721Управление и команды

Cегодня был тяжелый день для меня. В поиске фронтов осталось 4 кандидата, все классные, у каждого свои сильные и слабые стороны.

Много думал, советовался с коллегами, но ВЫБРАЛ СЕРДЦЕМ.

https://www.youtube.com/watch?v=7opVyK6qVb8

пост №719Управление и команды

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

Во первых, нужно выбрать, кого собеседовать. Мы смотрим на исходный код. Просим ссылку на репозиторий, zip или, хотя бы, отдельные исходные файлы. Это отсекает часть кандидатов, которые не способны прогать. Сразу видно крутышей, которые пишут так (или такое), что хочется с ними работать.

Пожалуюсь, что так и не научился находить хорошие репозитории по данному гитхаб-профилю. Я часто прошу скинуть мне прямую ссылку на репу.

Очень хороший текст о себе, со всеми правильными ключевыми словами, может подкупить моё сердце, но Рома (или другой программист) наверняка спросит «а код-то где?»

Я не даю тестовые задания, потому что боюсь отсечь самых крутых кандидатов, которые «в р** е**** наши тестовые» (не заинтересованы в тестовых), за ними и так очередь стоит. К тому же, код из реального мира лучше синтетического.

Во вторых, никаких собеседований один-на-один: это более утомительно и менее эффективно. Бэкендера мы искали вдвоем с Антоном, фронтов собеседуем с Ромой и с Сашей втроем. При этом иметь со стороны компании больше 3 человек, наверное, тоже перебор.

В третьих, мы не спрашиваем _тупых_ вопросов на _соображалку_ типа «сколько теннисных мячей поместится в Боинг 747». И никаких whiteboard interview, когда просят написать исходный код «здесь и сейчас». Собеседование призвано ответить на три вопроса:

1. Хотим ли мы работать с этим человеком?
2. Захочет ли он работать с нами?
3. Способен ли он выполнять работу, которую мы хотим ему дать?

Сценарий всех собеседований примерно одинаковый:
1. Мы рассказываем о продукте: какую проблему он решает, какие составные части в нем есть (это я люблю рассказывать сам, но порой я учусь смирению и это делает кто-то из программистов);
2. Какие технологии мы используем — тут обычно программисты начинают говорить на птичьем и в глазах кандидата появляется оживление, он начинает задавать вопросы. Хорошо!
3. Как устроен рабочий процесс — бейзкемп, рабочие циклы, разбиение фичи на подзадачи программистами, созвоны, личные встречи, etc. Больше вопросов, наши истории из жизни, в идеале кандидат делится своими.

Это всё нужно успеть проговорить за первые полчаса или быстрее. Мы раскрываемся перед кандидатом, задаем планку того, как и о чем рассказывать.

Дальше кандидат рассказывает о себе. Часто люди просят задать вопросы. Самый главный:

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

Многое можно понять по тому, задает ли кандидат те или иные вопросы. Например, когда мы говорим «react, redux» то классический вопрос чувака «в теме» это «thunk или saga»? Обычно, это начало продуктивной беседы с перекрестными вопросами, когда мы советуемся с кандидатом, узнаем его мнение о той или иной технологии, он узнает больше о нас и нашем подходе к программированию, а мы нащупываем его технический уровень.

Иногда мы спрашивали классические «экзаменационные вопросы» типа «как ты оптимизируешь react-компоненту, чтобы меньше тормозило?», но я считаю этот «экзаменационный» стиль поведения во многом капитуляционным, когда не получается наладить качественный, живой человеческий диалог.

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

P.S. Мы только что провели 7 собеседований за один день и это перебор, так я делать не рекомендую (хотя получилось очень результативно и это балансирует чувство, будто вскопал поле).

P.P.S. Техническое: 1) для бронирования времени собеседования пользуйтесь сервисом appoint.ly, где кандидаты сами выбирают удобное им время из предложенных слотов. 2) проводите собеседования в zoom.us, в режиме gallery, когда экран делится на 3 или 4 части и вы видите лица всех участников сразу. Этот режим максимально приближен к реальной встрече и качество звука в zoom отменное.

А как собеседуете вы? Какое худшее (или лучшее) собеседование было у вас в жизни? Делитесь в чатике @ctodailychat, у нас собралась хорошая компания.

пост №711Управление и команды

Полторы недели назад мы начали поиск второго бэкендера в команду RAWG. Позавчера мы взяли на работу не одного, а двух программистов; расскажу, как мы это сделали.

После публикации вакансии в фб и телеграме (спасибо большое за репосты!), мы взяли неделю на сбор предложений, отвечали всем сразу, что «вернемся на следующей неделе». Бесит, когда наниматели не отвечают на письма. Нам пришло 22 предложения. Из них 10 — в телеграм, 9 — на почту python@rawg.io, 3 — в фб-мессенджер. Почту мы создали как группу в GSuite и завернули в Intercom, чтобы ничего не пропустить. Я вел базу со всеми кандидатами в Airtable, это очень удобно, рекомендую.

Во вторник мы созвонились с Антоном (нашим супер-бэкендером) по зуму и прошлись по airtable-таблице предложений. Пару предложений мы отсекли на этапе сопроводительного текста и резюме, учить совсем начинающих мы пока не готовы. 7 человек нам понравились — там был или внушительный опыт и внятный сопроводительный текст или хороший код. Если кода в первом сообщении не было — я просил прислать его до собеседования. Мы договорились об одном собеседовании на вечер вторника и о пяти — на среду. Согласование времени собеседований заняло пару десятков минут, это феноменально быстро. Дело в том, что почти вся переписка велась в телеграме, это очень приятно. Этот этап занял в сумме пару часов.

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

Больше всего мне запомнился отказ (второй за мою карьеру, кажется). Он пишет: «... Наверное, за годы работы в стартапах, у меня наступила какая-то деформация. Я очень полюбил работу над продуктом и решение бизнесовых задач – не вижу себя без всего этого. ... На нынешней работе несколько спринтов проводил в роли продакт оунера, пока он был в отпуске — понравилось. Пока что научился считать рынки кое-как, проводить Customer Development и тестировать гипотезы...»

То есть, размышляя над нашим предложением, человек понял, что не хочет больше работать программистом. А был идеальный кандидат! Умеет прогать и при этом «видит за деревьями лес», думает о «конечном смысле».

Фан факты:
- я попросил владельца канала с python-вакансиями репостнуть нашу вакансию. Женя (ведущий канала) скоро выходит к нам на работу;
- кандидат-студент узнал о вакансии из слек-сообщества python-ru;
- из 30 кандидатов — один школьник и две девушки (не пересекающиеся множества);
- всего 2 предложения от аутсорсеров. Обычно бывает десяток; видимо, сейлзы плохо мониторят телеграм и фб.

В заключение: спасибо вам большое, дорогие читатели! Без вашей поддержки, поиск бы был гораздо дольше и скучнее. Я собираюсь воспользоваться этим каналом ещё раз на следующей неделе, при поиске фронта.

пост №669Управление и команды

В начале недели, в чатике курса product.degree студенты спрашивали, «как мотивировать программистов». Я пытался объяснить, что технари - тоже люди и все стандартные методики применимы, «но есть специфика» и дальше я использовал «описательную речь».

Пример - гораздо лучше.

Максиму нужен NAS. Это «сетевое хранилище», в которое можно выгрузить файлы по сети, а ещё оно умеет само скачивать торренты, пока компьютер выключен.

Макс просит совета в нашем чате «бывших программистов Букмейта». Все дружно рекомендуют производителя Synology, типа «все само работает».

Сегодня утром пришёл отзыв. Он отчасти шуточный, но идея - верная

пост №641Управление и команды

Эту неделю моя переписка с командой разбросана между слеком, телеграмом, ватсапом и дискордом. Для флеш-рояля не хватает сайнала, фейсбук мессенджера и вайбера. Я думаю зайти по-крупному и предложить попробовать Amazon Chime и Microsoft Teams 👹

пост №636Управление и команды

Обещал — рассказываю: «как я передал должность техдира Медузы».

Шутили вчера с женой, что Боря заведет свой тг-канал и выпустит дисс «как Самат нас бросил, или не всё так радужно» 🙈

https://medium.com/@samat/10b63c46f74a

пост №598Управление и команды

Эдуард Лернер — папа моего школьного товарища, крутого безопасника Эмиля Лернера.

Эдуард Юльевич профессиональный математик. Он читал нам лекции (про случайные блуждания пьяницы домой) в летней математической школе Квант на берегу Волги, когда я был в 7 классе — это год 2004, наверное. С тех пор я от Эдуарда Юльевича ничего не слышал.

4 дня назад, в понедельник, на мою личную почту приходит письмо, где ЭЮ предлагает Медузе три математические задачи. Письмо вызывает ожидаемую ажитацию редакции в слеке. Самое крутое, что Катя Кронгауз мгновенно говорит, что это игра, а главред Ваня даёт добро. Катя заказывает иллюстрации, ЭЮ переписывает решения более простым языком и вот уже сегодня серьезные математические задачи на главной Медузы!

https://meduza.io/feature/2018/03/16/faktorial-programmy-navalnogo-i-neprilichno-dolgoe-pravlenie

TEAMWORK