pmdaily | Unsorted

Telegram-канал pmdaily - FEDOR BORSHEV

25563

Рассказываю, как руководить программистами fborshev@pm.me / borshev.com Реклама не продаётся

Subscribe to a channel

FEDOR BORSHEV

#вопрос Как я понимаю, ты ушёл в собственный бизнес из студии Лебедева. Подскажи пожалуйста, как ты на это решился? Что помогло в принятии решения и его исполнения, а что тянуло и мешало?

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

Я ушёл в собственный бизнес не из студии Лебедева — между студией и собственным бизнесом я почти 3 года был CTO ГдеМатериала. Это, наверное, мне и помогло больше всего.

С самой первой работы я привык относится к собственникам бизнеса как к людям другой касты, как будто кому-то от рождения можно открывать собственный бизнес, а кому-то — нет. В ГМ, тесно общаясь с CEO (Алим, привет!), приходя на встречи с инвесторами, я увидел, что это, хотя и весьма выдающиеся, но обычные живые люди. Довольно быстро ко мне пришло открытие — что оказывается ни от кого, кроме себя, не нужно получать разрешение на то, чтобы заняться своим делом. Наверное это, вместе с прекрасной «Шкурой на кону» Талеба и стало основным катализатором.

Тянуло и мешало всё то же, что тянет и мешает до сих пор — психологические травмы. Когда рядом с тобой нет руководителя, который ставит тебе KPI, зато есть куча ответственности, с которой никто не подскажет как справляться — вылезают и умножаются на 10 все болячки, которые с детства сидели в голове. У меня это тревога, боязнь не справиться с ответственностью и «не быть молодцом», местами синдром самозванца. За 3,5 года я довольно неплохо научился справляться с этими демонами, но они до сих пор периодически меня навещают и роняют работоспособность.

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

Это был традиционный вопрос по понедельникам. Задавайте свои на fborshev@pm.me.

Читать полностью…

FEDOR BORSHEV

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

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

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

В любом случае, я стараюсь делать дела концентрированно и на 100% — если уж работаю, то не отключаюсь от работы больше, чем на помидорный перерыв. Если отдыхаю — не возвращаюсь к работе.
Желание «сейчас чуть-чуть поработаю, а в перерывах потуплю» у меня означает «хочу потупить, но мне за это стыдно» — если оно приходит, я стараюсь концентрированно отдохнуть: погулять, сходить в спортзал, поспать.

Это был традиционный вопрос по понедельникам. Задвайте свои на fborshev@pm.me

Читать полностью…

FEDOR BORSHEV

Квант времени

Я всегда был против тайм-трекинга — это и рабовладельческие отношения («я купил у тебя 8 часов твой жизни, отчитайся куда ты их потратил») и подрыв контракта с сотрудником, когда мы вместо того, чтобы договариваться о решённых задачах, договариваемся о том, что сотрудник будет тратить время на работу.

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

Дело в том, что у нас в индустрии почему-то принято за квант времени программиста считать 1 час. Типа у программиста в день 8 квантов, соответсвенно 40 квантов в неделю. Получается, что теоретически, можно впихнуть в программиста по 40 _разных_ проектов в неделю! Конечно, в реальной жизни редко кто-то впихивает больше 5, но и 5 — это слишком много: по проекту в день. При таком темпе у программиста нет возможности спокойно поспать с творческой задачей в голове — если в понедельник ты занимался проектом А, то будь добр, в утреннем душе во вторник думай уже о проекте Б.

Хороший руководитель понимает, что человек не может быстро переключаться между творческими задачами, поэтому поощряет работу большими кусками времени, обманывая систему: если клиенту продали 8 часов на сложную задачу, руководитель растянет их на несколько дней, чтобы у программиста была возможность спокойно подумать. Хуже, когда сейлзы продают не по 1—2 таких задачи в неделю, а по 3—4: ну а что, KPI же. Тогда кто-то из клиентов гарантированно получит плохой результат, причём за этот результат ему максимально подробно, за каждый час, отчитаются.

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

Читать полностью…

FEDOR BORSHEV

Продуктивность: карго-культ → рефлексия

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

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

А раз все инструменты действуют на всех по разному, значит нужен продуктовый подход. Не копировать успешные практики, а постоянно следить за тем, что ты делаешь. Помог ли тебе переход с Roam Research на Obsidian? Не зря ли ты тратишь по 40 минут на дорогу, если можешь работать дома с таким же успехом? Или может сосед месяц назад начал ремонт и из-за этого начались проблемы с концентрацией? Получается, что мы не бездумно вводим практики и инструменты, а проверяем продуктовые гипотезы. А у тех, что выстрелили — вдолгую следим за показателями.

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

Читать полностью…

FEDOR BORSHEV

Ритуалы личной продуктивности

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

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

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

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

Из-за плохого планирования из дня ушёл ритм, а за ним начались проблемы со сном. Я начал ложиться спать в разное время: когда-то в 23:00, а когда-то — в 01:00. Конечно же ни о какой эффективности такого сна речи не идёт — мне даже пришлось возвращаться к будильнику, чтобы вставать к запланированным событиям. Что сделал:

— Вернул утренний ритуал. Медитация → обзор → кофе/завтрак.
— Купил Apple Watch: трекаю сон и физическую активность.
— Оживил текущую инициативу и ограничение на количество задач.
— Обратно начал планировать личные дела в календаре. Теперь календарь показывает не только неприятные встречи, но и приятные моменты вроде похода в баню или поездки в аэропорт.
— Сделал вечерний ритуал. Набрать воды в увлажнитель, отрефлексировать день в Obsidian, настроить сон в Pillow на Apple Watch.

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

Читать полностью…

FEDOR BORSHEV

#вопрос как ты относишься к посещению конференций? Не кажется ли это пустой тратой времени?

У меня двоякие отношения с конференциями. С одной стороны, старые хайлоады начала 2010-х здорово помогли мне, начинающему техдиру в региональном аутсорсе, осознать свой околонулевой уровень профессионализма и начать что-то с этим делать. С другой, конференции — это куча переоценённого нетворкинга и много докладов с решениями проблем, которые скорее всего никогда не встанут перед слушателями.

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

Подкасты и новостные ресурсы типа хабра подходят для этого гораздо хуже. Дело в том, что в отличие от редакторов интернет-медиа, заинтересованных в количестве материалов (SEO же), программные комитеты конференций живут с жёсткими ограничениями — у них есть всего 1-2 дня, чтобы вместить всех возможных докладчиков. И если они пару лет подряд не смогут находить интересных спикеров на эти два дня, на третий год к ним просто никто не придёт. Всё-таки поход на конференцию стоит довольно дорого — до неё нужно доехать (или просто найти день, чтобы просидеть в зуме), работодателя надо уговорить заплатить за посещение. Никто не будет платить за скучную конфу.

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

Периодически я отвечаю на вопросы — вы пишете на почту fborshev@pm.me, а я публикую ответ здесь.

Читать полностью…

FEDOR BORSHEV

Через 30 минут начинаем в https://www.youtube.com/watch?v=HGy6vDpo7Ew

Читать полностью…

FEDOR BORSHEV

А давайте поговорим?

Давно не встречались с вами! Предлагаю сделать небольшой стрим в среду 7 февраля, в 16:00 MSK.

Тему, как обычно, предлагаю задать вам — пишите вопросы в форму. Буду рад поговорить о продуктивности, управлении программистами, бизнесе, питоне. За жизнь, винил и котиков тоже ок.

Ссылку пришлю ближе к делу.

Читать полностью…

FEDOR BORSHEV

Дофамин и иллюзии

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

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

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

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

Гораздо сложнее с инфопотоками, которые обещают что-то кроме себя. Медуза и РТ обещают понятную картину мира. Ютуб полон псевдообразовательных роликов — типа потупишь пару часов и станешь профессионалом в чём угодно. В твиттере — куча умных людей: когда всех прочитаешь, станешь таким же умным. Зависимость получается сложной — помимо FOMO и батареи пушей, нас толкает желание успокоиться или стать умнее/сильнее.

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

Получается гораздо тяжелее, но тишина в голове того стоит.

Читать полностью…

FEDOR BORSHEV

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

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

Во-вторых — это же дороже! Ставка налога для ИТ-компании сейчас довольно низкая — 22% от зарплаты. У мутной схемы, если она не совсем мутная — 7%. Чтобы выиграть 15%, вы лишаете себя возможности автоматически расчитывать зарплаты и отпуски, существенно ограничиваете возможности зарплатного проекта в банке, взваливаете на себя и сотрудника необходимость регулярно подписывать акты выполненных работ, и ещё делать много чего ненужного.

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

Понимаю, 15% от ФОТ звучит довольно пугающе, но сколько стоит геморрой руководителя по поддержанию финдира и штата бухгалтеров, усложнению управленческой отчётности, а самое главное — невозможности спокойно заснуть из-за огромных налоговых рисков? В моём опыте — намного дороже.

Читать полностью…

FEDOR BORSHEV

Сижу тут, переписываю @selfmailbot на новую версию фреймворка: разработчики python-telegram-bot полтора года назад решили, что обычное синхронное API, которое крутится внутри tornado — недостаточно круто, и переписали всё на корутины/asyncio. Очень интересно, какой десятой доле юзеров этого фреймворка вообще нужна асинхронность? А сколько владельцев ботов вообще беспокоится о производительности, но не настолько, чтобы написать свой собственный фреймворк?

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

Конечно, в этом нельзя винить конкретных людей — если не бежать вперёд и не обновлять тулинг, со временем в проект просто перестанут контрибьютить. Я и сам занят тем же — раз уж начал заниматься ботом, обновляю все инструменты — poetry, ruff, переезжаю с 18 убунты, на которой крутится прод. Делаю всё это, чтобы людям, которые придут туда контртбьютить, было не так грустно.

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

Читать полностью…

FEDOR BORSHEV

«Стать тимлидом 2.0»: будет, но не в декабре. Плюс история о том, как строить контент в курсе

Каждый год, с момента появления Школы сильных программистов, мы с Федей открываем продажи на новый наш курс. В позапрошлом году был «Самому не проще», в прошлом «Есть минутка», в этом должен был быть «Стать тимлидом 2.0». Но в этом декабре мы не откроем запись на новый поток.

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

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

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

И именно с этой позиции мы решили строить курс. Ты решаешь определенные задачи и повышаешь уровень сложности. Эту схему мы частично протестировали на «Анализе систем», который принес нам премию Digital Learning, а сейчас поняли как дальше эту идею развивать. Мне кажется, это именно то, что поможет быстрее онбордится и брать ответственность в новой роли, а для прокачанных — позволит быстрее находить слабые места.

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

В общем, по законам продаж, я должна была поставить ссылку на запись, чтобы срубить бабла в декабре, но мы обсудили с Федей, что не хотим переделывать курс под давлением. Хоть и новый лендос уже почти готов (он такоооой красивезный получается, на мой взгляд, лучший лендос школы в исполнении нашего дизайнера).

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

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

#фичи_курсов

Читать полностью…

FEDOR BORSHEV

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

Кроме новостей автор пишет лонгриды — посмотрите про китайский подход к инновациям или про абсурдные продукты, которые выстрелили.

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

В общем если хотите быть в курсе актуальной движухи, но не читать десятки новостей — рекомендую @disruptors_official.

Это не реклама, но я должен указать ИНН 772821456016 erid LjN8KGm4t

Читать полностью…

FEDOR BORSHEV

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

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

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

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

Это был традиционный ответ на вопрос по понедельникам. Задавайте свои на fborshev@pm.me

Читать полностью…

FEDOR BORSHEV

iPad как устройство для одиночества

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

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

В итоге в последний день перед отъездом купил себе недорогой айпад с клавиатурой. Поставил на него IA Writer, Bear, Obsidian и приложение ютуба. Почту с телегой ставить не стал, чтобы под рукой не было вообще никаких средств коммуникации. Сработало отлично — я на неделю отключился от работы, при этом у меня оставлось удобное устройство для творчества и отдыха.

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

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

Читать полностью…

FEDOR BORSHEV

Стать Тимлидом 2.0

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

Это здорово облегчает принятие решений. Взять программиста подороже, или подешевле, но посредственного? Конечно, подороже! Притаскивать ли нам новую инженерную практику к клиенту? Конечно, притаскивать! Переписать ли весь курс потому, что придумали новую концепцию, которая лучше? Конечно переписать!

Это требует силы воли, а иногда приводит в тупик, который называется development hell — к примеру «Анализ Систем» по такому принципу мы делали год. В какой-то момент я сдался и решил, что лучше не делать ничего, чем тратить жизнь на курс, которым я недоволен. Спасла Марьяна — взяла мою часть ответсвенности и тянула её пару месяцев, пока я снова не поверил в проект.

Сегодня мы запускаем продажи на «Стать Тимлидом 2.0» — курс, который мы с Марьяной делаем уже после того, как осознали и поговорили, что хотим задирать планку качества до предела. Переписали весь контент и гордимся — старого материала осталось процентов 40. Получился курс про реальную жизнь и проблемы, с которыми люди сталкиваются каждый день. Раньше был справочник по софтскиллам (и мы до сих пор считаем его крутым), а теперь — курс молодого тимлида, который поможет пройти от состояния «нихрена не понятно» до спокойной и осознанной работы.

Материалы из справочника теперь ровным слоем размазаны по разделам, которые решают реальные проблемы:

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

Надеемся, что курс увеличит количество осознанных тимлидов, по крайней мере среди тех, кто знаком с нашей школой.

Стартуем 11 апреля, учимся 4 недели, потом неделю досдаём хвосты и ходим на выступления спикеров, которых мы подобрали для тем курса. Промокод на 10% до вечера понедельника — POW2.

Смотреть программу и отзывы на первую версию →

А ещё мы запускаем эксперимент — офлайн-тренинг по переговорам. Возьмём N человек и в конце мая соберёмся на вилле в Турции — будем договариваться друг с другом и с воображаемым бизнесом, много общаться и рефлекисировать. Мы нифига не знаем, что из этого получится, но давно мечтали попробовать что-то подобное, так что почему бы и нет. Записаться на тренинг можно будет участникам тарифов «В тусовке» и «VIP», мы напишем отдельное письмо об этом позже.

Читать полностью…

FEDOR BORSHEV

Приватные фронтенды

К своему стыду, только к концу прошлого года узнал про существование такой полезной штуки, как собственные приватные фронтенды для крупных сервисов. Раньше я слышал только про Nitter, но поскольку твитором никогда не интересовался, не подходил к нему близко. А оказывается они есть примерно для всего — для реддита (4 варианта), ютуба (2 варианта), гугль-транслейта и даже для xvideos.

Смысл таких фронтендов не только в приватности, но и в том, чтобы спокойно пользоваться крупными сервисами, не загружая по 30Мб JS-лапши на каждый запрос. В противовес современным гигантским SPA, такие фронтенды часто работают как обычное server-side приложение — запрашивают контент у большой корпорации, нормализуют его и отдают на собственный неперегруженный фронт.

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

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

Читать полностью…

FEDOR BORSHEV

#вопрос Как решать проблемы с инициативностью сотрудников? Примеры — упал билд, можно разобраться за 5 минут, посмотрев логи и поменяв JSON — но никто этого не делает. Или надо поменять билд-артифакт, тот кто обычно это делает в отпуске, а все остальные даже не пытаются разобраться, хотя доступ есть. Дейлики не помогают.

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

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

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

Руководитель должен следить, чтобы в каждой рабочей группе было по 1-2 ведущих, самостоятельных участника — чтобы и проблемы решать, и своим примером показывать ведомым, зачем нужно и как работает шило. Такой живой пример перед глазами даёт одновременно и мотивацию («хочу как он/она») и новые нейронные связи — люди учатся друг у друга.

Ну а дальше остаётся только ждать.

Это был традиционный ответ на вопрос по понедельникам. Задавайте свои на fborshev@pm.me

Читать полностью…

FEDOR BORSHEV

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

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

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

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

Пример первых — почти все инстаблогеры и ютуберы. Пример вторых — маленькие профессиональный телеграм-канальчики.

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

Периодически я отвечаю на вопросы — вы пишете на почту fborshev@pm.me, а я публикую ответ здесь.

Читать полностью…

FEDOR BORSHEV

В четверг стартует финальный в этом году, шестой поток Асинхронной Архитектуры. Это последний шанс пройти нашу интенсивную архитектурную историю вместе с 100+ коллегами — потом курс уйдёт в бессрочный отпуск.

Ждём всех, кто интересуется (или давно работает с) коммуникацией в распределенных системах. Говорим обо всех важных аспектах — начиная от выбора брокера и заканчивая эволюцией, обработкой распрделённых ошибок и тестировании. В отличие от книг, это всё — не абстрактные материалы, а привязанный к бизнесу дистиллированный опыт.

Чтобы не забывать, что всё эти навыки не для резюме, а для реальной жизни, будем писать большую домашку. Посмотрите, как делали другие: ruby, python, go, php, java, kotlin, elixir, c#.

Курс направлен на мидлов, синьёров и помидоров. Джунам подойдёт, но только отважным. Если ваша работа не связана с написанием коммерческого бекенда (к примеру вы фронт/аналитик/продакт/SET) — скорее всего курс будет мимо.

Стартуем 15 февраля, то есть послезавтра. Можно успеть по безналу, если поторопиться — напишите нам, расскажем что делать.

Вписаться →

Читать полностью…

FEDOR BORSHEV

Как мы храним уроки в Школе Сильных Программистов

Нас давно просят рассказать, как у нас в школе устроено хранение учебных материалов — а то мы просто говорим везде «в Notion» и больше ничего не рассказываем.

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

С самого запуска школы мы внедрили Notion — он как раз тогда был на верхушке своей хайп-кривой.
В отличие от fands в школе Notion моментально прижился: нам понравилась свободная структура и приятная работа с текстом. Первые уроки мы отдавали студентам прямо из ноушена — просто шарили готовые странички, и ребята их читали. Но студентам это не очень удобно — приходится искать в почте ссылке на курсы и дипломы, что вообще становится мучением, когда курсов много. Иногда нужно быстро вспомнить, что от тебя хотят на потоке, который ты проходишь, и вообще поговорить с живым человеком, когда что-то непонятно.

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

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

P.S. Может сделать небольшой стрим, где я расскажу про детали? Напишите коммент с плюсиком, если придёте на такой стрим

Читать полностью…

FEDOR BORSHEV

#вопрос может ты знаешь, есть ли способ/формула определения загрузки команды по сервисам? Условно нужно понимать, что в команду влезет ещё один сервис на поддержку/развитие.

Увы, Единственного Универсального Способа Определять Нагрузку Программистов я не знаю.

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

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

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

Периодически я отвечаю на вопросы — вы пишете на почту fborshev@pm.me, а я публикую ответ здесь.

Читать полностью…

FEDOR BORSHEV

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

Wiren Board — это промылшенные IoT-контроллеры с линуксом на борту, которые многие используют и дома.

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


———
P.S. Завтра повышаются цены на «Асинхронную Архитектуру». Приходите, чтобы научиться делать большие системы со сложной коммуникацией

Читать полностью…

FEDOR BORSHEV

«Асинхронная архитектура»: новый поток и отпуск

Мы запускаем шестой поток курса «Асинхронная архитектура». После него курс уходит в бессрочный отпуск.

Если вы ещё не учились на наших курсах о проектировании, «Асинхронная Архитектура» — отличный способ стать более осознанным разработчиком: вместе с нами вы напишете полноценную систему с асинхронной коммуникацией, которую потом можно положить в портфолио. Если учились на «Анализе Систем» — тоже приходите, если есть желание пописать код и углубиться в асинхронные коммуникации (урок 3.2 в «Анализе Систем»).

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

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

Стартуем 15 февраля. До 1 февраля действует цена для ранних пташек. Это последний поток курса в текущем виде.

Смотреть программу и отзывы →

Читать полностью…

FEDOR BORSHEV

Цифровой и аналоговый бизнес

Недавно прочитал у Джейсона Фрида крутое разделение бизнесов — на аналаговые и цифровые. Как с автомобилями: они бывают аналоговыми, как в 1970 году, так и цифровыми — типа Теслы. Общего только то, что у обоих автомобилей по 4 колеса. К примеру торможение: на аналоговой тачке всего три механизма — два тормозных цилиндра, на один из которых ты жмёшь прямо ногой, и колодки. На цифровой — куча систем, которые решают каким колесом насколько тормозить, использовать ли тормозные реостаты или тормозить колодками, или вообще слегка отпустить тормоза, а то что-то водитель сильно жмёт.

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

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

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

Читать полностью…

FEDOR BORSHEV

Новый год

Мы в fands не признаём государственных праздников — лучше самому управлять своим временем, работая 4 дня в неделю, чем ждать выходных, которые рандомно объявляют по телевизору. К тому же существенная часть клиентов и сотрудников находятся за рубежом — у них там свои государственные праздники, и если всем им следовать, то на работу времени совсем не останется.

Единственный государственный праздник, который у нас есть — это новогодние каникулы. Первая (и самая тупая) причина — это человеческая привычка назначать дедлайны, основываясь не на состоянии проекта, а на ближайшей крупной дате в календаре: «к 1 июля запустим», «к XVII съезду партии доделаем». И пофиг, что лучше бы подождать пару недель, довести проект до ума и не травмировать команду — ровные даты хорошо звучат в переговорке. Новый год — это самая распространённая ровная дата, и, увы, часто приходится ей следовать. Конечно, после сумасшедших новогодних забегов хочется, чтобы все отдохнули.

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

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

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

Читать полностью…

FEDOR BORSHEV

Электронный документооборот

Ещё 5 лет ни одна компания в России просто не могла работать без бумаги: нужно было хранить кипу договоров, счетов и актов с клиентами и подрядчиками. С сотрудниками приходилось подписывать НДА, договоры и приказы, умножая всё это на два, если в компании приняты странные методы оформления, типа ГПХ или оплаты на ИП. Компании покрупнее держали у себя в штате курьеров, помельче — платили условной Достависте.

В 2023 году нет никакого смысла подписывать хотя бы один рабочий документ на бумаге. Дальше сервисы Контура, но наверняка есть аналоги:
— Диадок для работы с подрядчиками и ИП
— Контур.Сайн для работы с физлицами и самозанятыми
— Контур.КЭДО для кадровой документации, всяких приказов и заявлений на отпуск

И всё это с приемлемым API, которое легко встраивается в любую информационную систему — интеграция Бейскемпа с Диадоком, к примеру, заняла пару дней.

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

Читать полностью…

FEDOR BORSHEV

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

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

Вот — первая и вторая часть.

Читать полностью…

FEDOR BORSHEV

mysql-backup-s3

Я тут запилил новый инструмент — в дополнение к такой же тулзе про постгрес, сделал докер-образ для периодического бекапа MySQL в облако (мы юзаем backblaze).

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

Буду благодарен, если потестите у себя и напишете что-нибудь в issues — https://github.com/f213/mysql-backup-s3

Читать полностью…

FEDOR BORSHEV

После работы в ГдеМатериале я чётко решил, что венчурная история — не для меня. Бутстрапный бизнес «на свои» с понятными результатами в обозримой перспективе мне кажется гораздо более выгодным и интересным, чем стартап с призрачным шансом что-то поменять во вселенной (ну или хотя бы заработать ОЧЕНЬ МНОГО денег). Отчитываться тоже гораздо приятнее перед самим собой, чем перед дядьками из венчурных фондов, насколько бы умнее меня они ни были.

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

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

В общем подписыватесь — @kyrillic.

Это не реклама, но я должен указать ИНН 027410486358 erid LjN8KMURB

Читать полностью…
Subscribe to a channel