Качество кода и счастье

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

Вот, к примеру, качество кодовой базы. По-идее, можно очень долго жить с горами говнокода в продакшене — просто нанимаешь в 2–3 раза больше программистов, игнорируешь высокий churn, пытаясь загасить проблему корпоративами/тимбилдингами/мотивацией, и привычно умножаешь все сроки на 3.

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

Ключевой элемент счастливой команды — качество кодовой базы: архитектура, стандарты кодирования, тесты и автоматизация рутины.

Вчера на сайте бюро вышел первый совет в серии о качестве кода (http://bit.ly/bureau-code-quality), с детальным рассказом о том, зачем это нужно бизнесу. Особенно совет полезен тем, у кого нет времени (или кому не дают времени) на рефакторинг.

Вопрос: расскажи, какими должны быть должностные обязанности менеджера?

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

Такие формальные обязанности нужны слабым менеджерам, которые умеют только копать, где сказали.

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

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

Кратко про решение

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

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

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

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

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

Идеальное решение, когда инструмент сделает всю работу сам: сфотографирует, укажет геопозицию, поможет определиться с классификацией проблемы, чтобы пользователю осталось только добавить краткий комментарий.
Как сделать все эти шаги минимальными усилиями... конечно же при помощи дополненной реальности!
Наводим камеру на неправильно припаркованный автомобиль, ставим виртуальный пин, тем самым указываем точное местоположение проблемы, камера телефона угадывает, что это автомобиль, предполагает доступные варианты ошибок: при этом пользователь не видит огромный чеклист всех возможных вариантов, а лишь один или парочку близких по смыслу категорий; пользователь выбирает подходящую ошибку тапая по экрану.
Таким образом, после выбора нужной категории ошибки, телефон уже знает её геопозицию, автоматически делает фотографию и помогает определиться с категорией, то есть 3 из 4 обязательных шагов заполняются автоматически. Пользователю остается только написать комментарий к ошибке, а ещё лучше, сказать его голосом.
За счет того, что большую часть нагрузки берет на себя телефон, всё внимание наблюдателя может быть сосредоточено на исследуемой улице.

Но что делать с проблемами, которые не укажешь одной только точкой? Например, отсутствие тротуара на протяжении всей улицы, или область с повышенным трафиком пешеходов?

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

Дизайнеры носятся с «эмпатией», но мало где объясняют: как её развивать.

Дизайнеры носятся с «эмпатией», но мало где объясняют: как её развивать.

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

«Голландские психологи показали (http://journals.sagepub.com/doi/full/10.1177/0305735616654216), что профессиональные музыканты не только точнее интерпретируют сочетания визуальных и звуковых стимулов, чем люди без музыкального опыта, но и легче считывают эмоции другого человека по его изображению и звучанию его голоса.

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

Испытуемые должны были распознать эмоции человека по фото или записи его голоса. Иногда респондентам давали одновременно фото и запись голоса и просили игнорировать один из источников, при этом иногда изображение и звук совпадали по настроению, а иногда противоречили друг другу.

Оказалось, что музыканты оценивают сочетание звука и изображения точнее, чем немузыканты, даже если их просят ориентироваться не на звук, а на изображение. Музыканты верно определяли, какую эмоцию выражает голос, почти в 95% случаев, если фотография совпадала по настроению, и более чем в 85% случаев, если картинка противоречила звуку. Немузыканты отставали примерно на 10% в обеих ситуациях. Когда требовалось определить эмоцию только по слуховому или визуальному источнику, обе группы показывали примерно одинаковые результаты.

Ученые объясняют способность музыкантов лучше справляться с конкурирующими и дополняющими друг друга стимулами развитым навыком преобразовывать визуальную информацию (ноты) в звуковую, а также навыком улучшенной обработки звуковой информации, который распространяется и на другие каналы восприятия».

Source: https://postnauka.ru/lists/91909

Блок продукта. Продолжение

Блок продукта продолжился занятиями с Женей Бондаревым, арт-директором Redmadrobot. С Женей мы провели около 4 занятий. Одна из основных целей его занятий — научить нас выходить за рамки привычных паттернов поиска идей.

Дивергентное мышление

Дивергентное мышление подразумевает, что у задачи нет одного идеально правильного решения, другими словами — творческий подход к решению проблем. Один из самых больших недостатков современного образования заключается как раз в том, что оно подавляет дивергентное мышление — нас учат мыслить по шаблону, с единственно верным решением. Неудивительно, что дивергентное мышление очень развито у детей, так как с возрастом мы обрастаем рамками и запретам. И вообще, способность к дивергентному мышлению — это признак высокого IQ 🤓

Далее мы проверили этот подход на себе:

Шаг первый. Женя попросил нас выписать на бумаге 5 проблем, с которыми мы сталкивались последнее время. Всё что угодно от длинной очереди в магазине, до простуды. Потом из 5 проблем мы выбрали одну наиболее интересную для себя.
Шаг второй. Необходимо было открыть Яндекс Дзен, рандомно проскроллить ленту и остановиться на случайной новости.
Шаг третий. Соединить эти истории вместе.

Приведу в пример вариант, который в итоге получился у меня. 

Проблема, которую я выписал — цена на Uber от метро до дома неприятно повысилась, а Яндекс Дзен выдал мне статью о том, что власти Москвы хотят создать департамент одиночества.

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

как-то так 🙂

Подобные прокачки для мозга Женя проводил в начале каждого занятия — брать неочевидные вещи и соединять их между собой.

У многих компаний два основателя

У многих компаний два основателя

Объединив усилия и поддерживая друг-друга проще решиться начать какое-то дело. Но два разных человека в одной лодке — это всегда повод для разногласий, конфликтов, обид и других проблем взаимодействия.

Сейчас у Nimax целая команда руководителей, каждый из которых партнер в своем подразделении. Но долгое время мы с Максимом управляли компанией вдвоем. Более того, мы еще и учились в школе, а затем в институте вместе. А сейчас живем в одном доме и дружим семьями. В общем, мне есть что рассказать про взаимоотношения партнеров в проекте.

Начну с самого главного: если с самого начала не разделить зоны ответственности партнеров, то проблемы гарантированы. Партнерство — это не когда вы делаете одно и то же, а когда дополняете друг-друга. Подавляющее большинство конфликтов между основателями связано именно со смешением ролей. Это беда номер один.

Еще у меня накопился целый список других проблем, которые мы когда-либо обсуждали с коллегами из других компаний:

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

Знакомо? Ну да, проблемы у всех одинаковые 🙁
Можем разобрать некоторые из этих ситуаций — напишите какие.