Федор Борщев

Кручу гайки. Пишу матом о книгах, саморазвитии и об управлении проектами. Настраиваю ин-хаус разработку в стартапах.

Книга: Строим нейросеть

Пару лет назад я не видел разницы между нейросетями и искусственным интеллектом. Ну а что — и в голове нейроны, и в нейросетях.

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

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

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

Тарик Рашид — Строим нейросеть

Книга разделена на 3 части — машинное обучение, нейронные сети и Питон. Чтобы понять автора, достаточно оконченной 10 лет назад средней школы — все изложено предельно популярно. Даже Питон знать не нужно — основы расскажут прямо в книге.

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

Телеграмнуть

Еще один способ подписаться на блог

Сейчас мой блог можно почитать через RSS, Фейсбук или через почтовую рассылку.

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

Телеграмнуть

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

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

За пару дней до Нового Года я решил выбрать робот-пылесос. На рынке есть десятки брендов — iClebo моет полы, iRobot лучше всех строит карту помещения, Дайсон — мощный, а Сяоми вроде бы самый крутой, и стоит в 5 раз дешевле. Объединяет всех производителей одно — нихуя не понятно, какую из характеристик нужно выбрать, чтобы конкретно в моей квартире стало всегда чисто.

Когда руководитель не может делегировать выбор технологий для нового проекта, он оказызывается в такой же ситуации, как я на Новый Год. Проект нужно было начать еще вчера, а чем Руби отличается от Питона и Раста, и как эти отличия отразятся на сроки и целях — непонятно.

Выбор технологий с точки зрения менеджера

Ответ про пылесос я в итоге нашел на вечнозеленом ixbt. Но с языками программирования так не получается — вменяемых материалов нет. Даже если вы неделю будете изучать реддит, то узнаете только как правильно троллить ПХПшников или что наследование в Го лучше чем в Джаве. Какое это имеет отношение к срокам и целям — непонятно.

А ответ простой — новый проект нужно начинать на стеке, с которым работает команда, способная гарантировать результат. Вы же не обсуждаете с дантистом диаметр бура, а с дворником виды метел? С дантистом вы договариваетесь о том, чтобы не болели зубы, с дворником — чтобы во дворе не валялся мусор.

Начинайте новый проект на стеке, с которым работает команда, способная гарантировать результат

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

Еще раз — подойдет любой язык программирования (кроме JS, конечно). Главное, чтобы те, кто на нем пишет, гарантировали результат. И у вас было, кем их заменить.

Если остались вопросы про выбор — пишите на почту.

Телеграмнуть

Книги — 2017

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

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

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

Алекс Крол — Теория каст и ролей

Главная художественная книга — Конец Смерти, окончание «Воспоминаний о прошлом земли» Лю Цысиня. Если любите качественную рациональную фантастику с небольшим количеством допущений — обязательно прочтите всю трилогию, лучше на английском.

Лю Цысинь — Конец Смерти

Список книг 2017

Автор Книга Пара слов
Гэри Бельски, Томас Гилович Психологические ловушки денег Легкая книга про личные финансы и инвестирование.
Генрик Сенкевич Quo Vadis Исторический роман про Рим времен Нерона и первых христиан.
Юкио Мисима Золотой Храм Ход мыслей психически больного подростка.
Лю Цысинь Конец смерти Достойное окончание крутейшей фантастической истории.
Юлия Латынина Сто полей Кусочек большой звездной саги с фирменным нарративом Латыниной.
Рой Медведев К суду истории Начало СССР и сталинизма, много про самого Сталина.
Рой Медведев Советский Союз. Последние годы жизни С 1985 по 1991 год, с анализом и диалогами.
Рейтерс Фондовый рынок, курс для начинающих Учебник по инструментам фондовой биржи. Все клево, многовато рекламы Рейтерс и маловато про деривативы.
Салман Рушди Два года, восемь месяцев и двадцать восемь ночей Плотно упакованная фантастика с восточным нарративом.
Рой Медведев Окружение Сталина Политические биографии Молотова, Маленкова, Кагановича, Микояна, Суслова и Ворошилова.
Олег Дивов Выбраковка Очень русская утопия.
Алексей Крол Теория каст и ролей Бумажный коуч: трезвая книга про жизненные цели.
Интерком Как начинать бизнес В стиле интерком, только теперь про бизнес. Часть про найм — круто.
Олег Тиньков Я такой как все Неожиданно интересная биография.
Рэй Брэдбери 451 градус по Фаренгейту Про потребление и попсовую культуру.
Интерком Управление продуктом Гениально короткая книга об управлении продуктами. Читать всем менеджерам.
Джим Ким, Кевин Бер, Джордж Спаффорд Проект «Феникс» Производственный роман про CIO в большой компании. Есть немного Голдратта и Деминга, пользы мало.
Олег Дивов Вундервафля Милый сборник, от фантастики до альтернативной истории. Самый важный рассказ — первый.
Александр Фурсенко, Тимоти Нафтали Безумный риск Вроде бы честная история карибского кризиса. Книга про переговоры.
Ли Куан Ю Мой взгляд на будущее мира Интересно про мировую политику от неангажированного автора.
Джон Теннент Управление денежным потоком Краткий, но скучный курс по корпоративным финансам — начиная от дебита и кредита и заканчивая производными финансовыми инструментами.

Телеграмнуть

Книга: Психологические ловушки денег

Ожидал получить книгу про поведенческую экономику, которую можно советовать подросткам, а получил понятное пособие для новичков-инвесторов.

Гэри Бельски, Томас Гилович — Психологические ловушки денег

Ставки по вкладам стремятся к трем процентам, так что если ты не собираешься хранить деньги под матрасом или покупать квартиру в лесу за МКАДом, то вот пара тезисов из книги:

  • Не бояться потерь. Если акции упали в цене — это не повод их продавать. Представь, что ты прямо сейчас решаешь, купить эти акции по текущей цене или нет? Если купить — держи дальше. Если нет — продавай.
  • Списывать убытки. Если уж решил продавать — продавай. Пофиг, за сколько ты их покупал — ты вложился в дерьмо и дальше будет только хуже.
  • Не фиксировать прибыли, если акции растут. Через 10 лет будет еще больше.
  • Не играть в профессионального инвестора — если портфель из одних и тех же голубых фишек продержать 10 лет, то заработаешь больше, чем от ежемесячного перетряхивания в попытках предсказать будущее.
  • Если уж пытаешься управлять портфелем — при выборе инвестиций смотри на P\E.
  • Тренды и знакомые — плохие советчики в принятии инвестиционных решений (авторы, очевидно, не знали про биткоин).

Ну и банальные советы про личные финансы (если вдруг еще не):

  • Кредиты — чмо. Если у тебя есть кредит по рыночной ставке — бросай все и отдавай. Кредитку разрежь прямо сейчас.
  • Записывай расходы. Тогда узнаешь, что подписка на Эпл музыку стоит 2028 рублей в год, а год ежедневного кофе стоит как поездка в Штаты.
  • Записывай доходы. Если вкладываешь деньги — нужно считать их эффективность. Для записи доходов и расходов, я горячо рекомендую систему Севы.
  • Не храни все деньги в одном банке, или акциях одной компании.

Больше в книге ничего полезного нет.

Телеграмнуть

Давайте не любить новые фичи

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

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

Туду-лист хорошего продуктолога

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

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

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

Менеджер, который любит фичи, превращается в трудолюбивого идиота

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

Давайте экономить деньги и не любить фичи.

Телеграмнуть

Писать тесты — вежливо

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

Полный пиздец начинается, когда общаются распределенные программисты, и глючит переданный код. Из-за разных часовых поясов начинаются ночные посиделки, а десятиминутная задача растягивается на неделю.

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

Хорошая передача эстафетной палочки — 3 ссылки на тесты
Хорошая передача эстафетной палочки — 3 ссылки на тесты

Не пишете тесты? Откройте лучше автомойку, или завербуйтесь к газовикам на север.

Телеграмнуть

Проектный план: краткость, проверяемость и постоянство

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

Краткость

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

В проектном плане — одно предложение для одной задачи

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

Проверяемость

Каждый пункт плана содержит глагол в совершенной форме и обещает что-нибудь сделать:

Обещание Хуйня
Сделаем Будем делать
Починим Посмотрим
Доработаем Приступим к доработкам
Назовем сроки Начнем

Я сделяль проектный план

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

  • Починили отправку СМС, вот скриншоты с телефона;
  • Сделали отчет по пропущенным звонкам, файл во вложении;
  • Избавились от падений сервера, вот график мониторинга.

Постоянство

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

Если хоть один понедельник проебался — проект разваливается. Хочешь отдохнуть — запланируй поменьше дел, но не пропускай понедельник*.

Потратить 10 минут на еженедельный план легче, чем не съесть тортик в кофейне

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

Вместо выводов

  1. Короткий и проверяемый план сжигает мосты и мотивирует. Все просто — если план не выполнен, то я плохой менеджер: дал конкретные обещания и сам же их проебал.
  2. Постоянная и публичная проверка выполнения плана держит команду в тонусе, а пульс проекта — в ритме 52 отгрузки в год.

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

Телеграмнуть

Небольшие доработочки

«А давайте ограничим длину обзора до 140 символов? Ну, вдруг мы захотим их в СМС рассылать, да и вообще нечего перегружать людей длинными обзорами. Это же 5 минут всего?».

Нет.

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

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

Что будет, если пользователь отправил обзор длиннее 140 символов? Просто обрежем, или покажем сообщение об ошибке? Если сообщение об ошибке, то где? Что напишем в сообщении? Нужен ли копирайтер? Сможем ли мы доступно объяснить пользователям, что нельзя отправлять больше 140 символов? Есть ли у нас в гайдах стили для таких ошибок? Нет? А кто нарисует?

Ворд целиком состоит из небольших доработочек
Ворд целиком состоит из небольших доработочек

Еще вопросы

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

Есть ли свободные фронтендеры? Должно ли сообщение об ошибке повторять текст, который мы написали для сервера? Если нет, то кто напишет новое сообщение? Как нам сделать, чтобы в будущем любое изменение к «правилу 140» внедрялось одновременно и на сервере, и на клиенте?

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

Счетчик символов

Кто запилит счетчик? Кто проверит работоспособность на IE9 (вдруг мы — сайт банка)? Где мы его расположим? Как он будет выглядеть? Есть ли свободные дизайнеры?

Наверное внешний вид должен меняться по мере приближения к 140 символам. Ой, а что мы будем делать, когда пользователь упрется в лимит? Перестанем принимать ввод? А что делать, если пользователь вставит длинную портянку из буфера обмена? Разрешить обрезать текст или выдать ошибку?

А как мы объясним посетителям, что раньше было можно писать длинные обзоры, а теперь нельзя? Наверное, нужно научить саппорт отвечать на такие вопросы. А еще нужно обновить API и оба мобильных приложения. А что делать с уже написанными обзорами? Обрезать до 140 символов? Если обрезать, то по границе слов или предложений? А что, если граница предложения будет намного больше 140 символов?

Выводы

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

Эта заметка написана по мотивам поста из блога компании Интерком. Я сделал перевод, чтобы повысить вероятность того, что этот текст осилит менеджер занятый пропихиванием жизненно важной фичи в релиз.

Телеграмнуть

«Безумный риск», Карибский кризис

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

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

Безумный риск: секретная история Карибского кризиса

Книга обязательна всем, чья работа связана с переговорами. Главный урок — предметом переговоров может служить что угодно. К примеру, Хрущев не мог договориться напрямую о снятии ракет на Кубе в обмен на снятие американских ракет в Турции — после таких договоренностей в США просто объявили бы Кеннеди импичмент. Поэтому придумали кучу условий:

  • не будет оговариваться расписание демонтажа ракет в Турции;
  • демонтаж в Турции начнется не сразу после демонтажа на Кубе, а через несколько месяцев;
  • при этом бомбардировщики ИЛ-28, способные перевозить атомные бомбы, останутся на Кубе;
  • официальных договоренностей об обмене турецких ракет на советские не будет.

Интересен и формат игры — за все время кризиса никто не обсуждал снятие ракет напрямую. Договоренности строились по несвязанным намекам через самые разные каналы связи — дипломатическую почту, публикации в прессе, выступления на радио и через личные связи. Важный канал был налажен через брата президента — Ричарда Кеннеди, который общался со шпионом ГРУ Георгием Большаковым. Посол СССР в США об этом канале не знал.

Кроме вкуснейшего описания политических игрищ, в книге вы найдете еще много интересного:

  • Как шпион КГБ сначала подружился с Фиделем, а потом стал послом СССР на Кубе.
  • Почему Кастро и Че Гевара стали коммунистами только после того, как захватили власть.
  • Как Кастро не хотел отдавать обратно советские ракеты, а Микоян его успокоил.

Книга изначально написана на английском, но интерес не угасает даже сквозь трудности перевода. Покупайте на Озоне или скачивайте бесплатно, пока не переиздали.

Телеграмнуть