cookie

Ми використовуємо файли cookie для покращення вашого досвіду перегляду. Натиснувши «Прийняти все», ви погоджуєтеся на використання файлів cookie.

avatar

FEDOR BORSHEV

Рассказываю, как руководить программистами. [email protected] / borshev.com Реклама не продаётся.

Більше
Рекламні дописи
25 905
Підписники
-1224 години
-457 днів
+130 днів

Триває завантаження даних...

Приріст підписників

Триває завантаження даних...

System Design на собеседованиях в большие компании наносит больше вреда, чем пользы. Алгоритмы хотя бы не заставляют делать ничего плохого — от того, что ты научился на бумажке находить пересекающиеся интервалы или обходить графы, ты хотя бы бизнесу не навредишь. А вот программист, который профессионально умеет городить сложные системы на ровном месте — навредит, особенно когда ему ещё на этапе собеседования показывают, что компания именно этого от него и ждёт. Системы с собеседований никак не связаны с реальными бизнес-требованиями: ведь собирать их и осмысливать явно дольше, чем длится время собеседования. Да и ценность хорошего архитектора не в том, чтобы делать сложные вещи, а в том, чтобы придумывать простые, когда бизнес настаивает на сложных. Мы запускаем третий поток курса «Анализ систем», который как раз об этом — как собирать бизнес-требования и делать максимально простые системы, которые их выполняют. Для этого мы много говорим о стратегическом анализе бизнеса и DDD, рассматриваем несколько архитектурных стилей, учимся выбирать БД и способы коммуникаций, писать документацию. Изначально мы задумывали курс ради четвёртого урока, в котором мы дали пошаговые рекомендации по распилу монолитов, но сейчас поняли, что гораздо важнее мета-навык — умение слушать бизнес и не делать лишнего. Стартуем 13 июня, учимся 5 недель. Учиться рекомендуем в тусовке — наблюдая за чужими домашками, вы вынесете из курса гораздо больше знаний, чем если просто прочитаете материалы. До вечера четверга действует промокод SAD10 на 10% скидки. Если вы принимаете даже самые маленькие решения по организации кода или взаимодействию систем в организации — ждём вас на курсе. Если хоть чуть-чуть общаетесь с бизнесом — тоже. Джунам на курс рановато. Если сильно верите в себя — берите не выше самостоятельного тарифа.
Показати все...
Ненавижу Metabase Мы в школе активно используем Metabase — и для управленческой отчётности, и для операционки: взаиморасчётов с экпертами, проверки домашки и ещё кучи ad-hoc задач. Прежде, чем писать код для полноценных интерфейсов, всегда пробуем решить проблему на Metabase. Но вот как этот инструмент сделан для администратора — это просто отвратительно. К примеру их команда тратит кучу сил на то, чтобы данные можно было ковырять без знания SQL. Идея крутая — типа дадим пользователям все данные, а они уже сами себе соберут дешборды. Но вот реализация просто отвратительная — все эти инструменты не работают даже на нашем простом сетапе. К примеру, хочу отдать юзерам данные по покупкам, в этих данных должна быть довольно тривиальная штука — деньги, которые к нам реально пришли от покупки — за минусом комиссий эквайринга и налогов в стране, из которой он сделан. Вроде бы для этого есть Модели — такие материализованные вьюхи, куда можно зашить всю логику, а потом уже использовать их. Но эти модели не работают! Может быть один раз данные из них получить и можно, но вот построить из них более или менее полезный дешборд уже не получится. Данные в моделях нельзя нормально фильтровать, с ними не получается писать SQL: итоговые запросы получаются настолько корявыми, что когда они падают, нет никакого способа их отладить. То есть у ребят получились материализованные вьюхи, которые толком не работают, да ещё и материализуются где-то вне БД, то есть не контролируются миграциями. Кажется, что выходить с уровня БД на уровень приложения и описывать модельки на языке метабейза стоило бы ради довольно полезной функциональноси, которую умеют все крутые BI — джоинов из двух БД одновременно. Но этого похоже не будет никогда. В итоге так мы и пишем SQL-запросы, выводя их результаты в дешборды. Получается грустно — у нас нет нормального data lake, и мы делаем выборки просто с продовой базы, а значит не можем делать серьёзные изменения в структуре данных, не сломав всю аналитику. Раз в год я пытаюсь заюзать фишки метабейза, которые позволяют избавиться от этой зависимости, трачу на это 3–4 часа и бросаю. Может посоветуете замену, которая подходит маленьким ребятам, которые пока не доросли до выделенных ETL-пайплайнов? Или уже доросли и пора делать?
Показати все...
#вопрос Насколько вы часто пользуетесь электронной почтой? Кажется, что этот инструмент уже рудимент, покрытый десятками непрочитанных писем у миллионов пользователей. Почта — мой основной рабочий инструмент уже лет 15. Я исповедую пустой инбокс, и настроил всё так, что мне туда падают все рабочие уведомления: из гитхаба, бейскемпа, и даже из банка. Самое главное для меня в почте — это то, что она аггрегирует в одном месте вообще всё, что надо сделать. Не нужно проверять десяток чатов и открывать 3 задачника, чтобы посмотреть, что меня ждёт. А удаляя обработанные письма, я вообще достигаю кристальной чистоты: в этом канале нет вообще ничего лишнего — если я ответил на письмо или сделал задачу, я его никогда больше не увижу. Конечно, многие люди действительно относятся к почте, как к помойке — хранят в инбоксе по 20 000 пустых писем от маркетплейсов, сервисов и госуслуг, а для рабочего общения предпочитают рабочие чатики. Раньше я жёстко топил против рабочих чатов и даже пытался их запрещать в своей компании. Сейчас успокоился — если человек хочет работать с загаженным сознанием — не мне его отговаривать. Единственное, что я сейчас делаю — создаю среду, дружественную для таких, как я — плачу за бейскемп с его супер-удобным Hey (не почтой) и разделением синхронной а асинхронной коммуникации через Campfire, и за гитхаб, который позволяет гибко настраивать потоки уведомлений. Ну и периодически напоминаю, что срочно отвечать никому ни на что не нужно. Это был традиционный вопрос по понедельникам. Задавайте свои на [email protected]
Показати все...
Творческая безопасность Мы с Марьяной в прошлую пятницу выпустили последний урок «Стать Тимлидом 2.0». Пост гордости напишу чуть позже, когда отрфеклексируем вместе, а пока хочу рассказать об очень важной концепции, которую я нащупал, пока писал курс. Когда человек делает творческую работу — он часто в себе не уверен: боится ошибиться, переживает что о нём подумают окружающие, или просто по привычке — потому что так в школе научили. Тимлидский курс для меня — это именно такая работа: приходится вытаскивать наружу кучу идей, которые носил раньше в голове, и которые почти не с кем сверить. И единственное, что мне позволило спокойно и ритмично писать курс все два месяца — это творческая безопасность. Каждый раз, передавая свою часть работы Марьяне, я был уверен, что она воспримет её максимально внимательно, в трезвом состоянии ума и точно никогда не притащит каких-то личных переживаний — к примеру о том, что я скинул обновления в её выходной, или что нас послезавтра дедлайн. Если Марьяна будет несогласна со мной — она подробно напишет с чем именно и почему: мне не придётся с ней созваниваться и клещами вытаскивать, что на самом деле ей не нравится. Оказывается, когда в голове нет переживаний по поводу безопасности — пишется гораздо легче. Если бы я не чувствовал безопасности — я был бы осторожнее в суждениях, вместо собственных концепций старался бы взять готовые и всячески спрятать их содержание за формой. Чего только не сделаешь, чтобы не получить неприятную оценку! Такую же творческую безопасность я стараюсь поддерживать и в своих командах — никогда не общаться пассивно-агрессивно; писать максимально развёрнуто; не критиковать идеи, а предлагать улучшения, и т.д. Получается не всегда (даже у нас не все умеют в асинхронную коммуникацию), но об этом напишу как-нибудь отдельно. Кажется, задача любого руководителя в творческой команде — создавать максимально безопасную среду для творчества. Безопасная среда приводит к выдающемуся результату. Привычно-опасная среда — к обычному, или вообще к его отсутствию.
Показати все...
#вопрос Расскажи, какие технологии и знания помогли уйти в собственный бизнес? Кажется это уже третий или четвёртый вопрос на тему перехода из работы по найму в собственный бизнес. Я не чувствую здесь серьёзной экспертизы и слабо понимаю, кому и как мой опыт может пригодиться — поэтому это точно последний ответ, простите. Знания хардовых технологий вроде python/js мне не помогли совсем — я очень мало написал коммерческого кода для клиентов: может быть за всё время потратил несколько недель. Причём, если бы умения писать код у меня не было — я бы обошёлся и без них. Возможно помогло понимание devops и любовь к DevEx — с самого начала существования аутсорса мы делали программистам удобно: юзали удобные хостинги вроде heroku\netlify (сейчас перешли на vercel), много вкладывались во внутреннюю разработку. За счёт этого достигли довольно высокой для аутсорса рентабельности — программисты у нас работают действительно эффективно. Больше всего наверное помог просто жизненный опыт — умение слышать бизнес и понимать желания программистов, умение отличать хороших исполнителей от плохих. Из нетехнических навыков здорово помогла общая продуктивность: приходилось делать много неочевидных, скучных, но очень важных задач, вроде общения с бухгалтерией и банками, финансового планирования и учёта. Самый неочевидный навык, который мне помог в аутсорсе — умение письменно выражать свои мысли. Использую его постоянно — от внутренних регламентов до публичных анонсов наших проектов (хотя последние пишут уже сами ребята). Без умения писать точно было бы гораздо сложнее. Это был традиционный вопрос по понедельникам. Задавайте свои на [email protected]
Показати все...
Google → Kagi Недавно прошло два месяца с тех пор, как я не искал ничего в Гугле. Перед уходом я каждый месяц находил в нём какую-нибудь новую хрень — то подсунут ссылки на Дзен или другой SEO-мусор вместо результатов; то нагенерят таких ответов через GPT, что мозги от одного взгляда на них разжижаются. Раньше я несколько раз пробовал DuckDuckGo, но уходил примерно через день. А недавно попробовал Kagi, и на нём и остался. — SEO-мусора почти нет, а если что-то вылезает — можно вручную забанить. — Саммарайзер работает отлично и на русском, и на английском. Особенно кайфово прогонять через него всякие бухгалтерские и юридические статьи. — Фильтры (они называется lenses). Можно искать только среди научных статей, или только в рамках small web — авторских блогов живых людей. А ещё я чувствую уверенность, что мою выдачу никогда не наполнят рекламой и не подсунут туда AI. Ребята берут подписку за свои услуги, а значит мой поиск — это не товар, а позиция про AI у них простая: он может только улучшать ответы, но ни в коем случае не давать их сам. Конечно есть и косяки — путает Грузию и Джорджию (даже когда ищешь что-то в Тбилиси), невозможно настроить саджесты на iOS. В остальном — база, как гугль лет 15 назад. И всего за 12 баксов.
Показати все...
The winner takes it all или почему я убежал из венчура Одна из причин, по которой я решил уйти из венчурного стартапа и в будущем не связываться с инвестициями в свои проекты — мысль Талеба из (кажется) «Шкуры на кону». Есть профессии, в которых существует огромный разрыв между успехом и неуспехом. К примеру — творческие: известных музыкантов, скульпторов и актёров намного меньше, чем безызвестных, причём известность — это МНОГО денег, а неизвестность — очень мало. То есть победитель забирает всё — или ты станешь звездой, или умрёшь нищим (с гораздо большей вероятностью). Сравните с условными айтишниками: если ты умеешь писать код и хоть чуть-чуть разговаривать с людьми — будешь ещё долго зарабатывать приличные деньги. Почти невозможно вложить силы в изучение технологии и остаться не у дел, в отличие от тех же актёров. Фаундеры в венчурных проектах ближе к артистам — как только ты берёшь инвестиции, ты вступаешь в гонку за ВСЕМ: или твой проект растёт по экспоненте, или ты проигрываешь. В венчуре невозможен проект, который просто неторопливо развивается: бизнес не растёт — идёшь делать следующий. Мне гораздо комфортнее линейная зависимость — когда я никому не обязан строить САМУЮ БОЛЬШУЮ ШКОЛУ и САМУЮ ПЛАВУЧУЮ ГАЛЕРУ: то, что я построю, принесёт мне столько денег и счастья, на сколько хорошо я сделал свою работу. И даже если сделал я совсем чуть-чуть, мои результаты никогда не умножатся на ноль просто из-за законов жанра.
Показати все...
Мы с Марьяной недавно закончили самый важный для меня кусок Стать Тимлидом 2.0 — урок о том, как договариваться с бизнесом. Для меня этот урок важен потому, что почти все знания в нём — мои личные. Другие знания из курса я по большей части получал извне — говорил с умными людьми, слушал выступления, читал в книгах и адаптировал к практике. А вот о том, как строить отношения с бизнесом, у нас в индустрии говорить почему-то не принято. За всю жизнь я нормально говорил об этом только с одним человеком (Али, спасибо, если читаешь). CTO, который не понимает, о чём болит голова у CEO — это плохой CTO. Стартап с тимилдом, который просто пишет хороший код, закроется гораздо раньше, чем с чуваком, которые ещё и понимает проблемы бизнеса. Даже программисты, которые дружат с бизнесом, живут лучше чем обычные — они получают более интересные задачи и меньше контроля. Конечно, другие дисциплины курса тоже важны — мало просто дружит, надо ещё выполнять обещания, расти когда это нужно, договариваться с коллегами и подрядчиками и не забывать о личной продуктивности. Но урок о дружбе с бизнесом для меня — главный водораздел, сдав его я уже горжусь курсом. Вписаться на курс можно до 16:00 завтрашнего дня — потом мы закрываем запись, потому что не хотим продавать вам чувство вины за то, что не успеваете за потоком делать домашку. Запрыгнуть в последний вагон →
Показати все...
#вопрос Сложно ли тебе было начать регулярно писать в дневник? Не сложно. Чтобы помочь себе регулярно писать в дневник, стоит отбросить долгосрочные большие цели (запишу свою жизнь, напишу книгу, будет что передать потомкам и т.д) и сфокусироваться на краткосрочных. Краткосрочно дневник работает как лекарство. Если у меня болит голова, и я знаю, что есть таблетка, которая вылечит головную боль — глупо это таблетку не выпить. В случае с дневником всё так же, только вместо головной боли — накопленный шум. Дневник помогает посмотреть на прошедший день намного сложнее, чем «фух, наконец-то». И в процессе, когда я смотрю — в голове становится тише: выгружаются все накопленные переживания, незаписанные идеи и планы. Если в дне не хватило похвалы — я себя похвалю. Если произошли события, которые ещё долго не потеряют важность — запишу их во всех подробностях. Писать в дневник — это не путь и не повинность, и даже не акт дисциплины, это — потребность. Поищите, какая потребность могла бы быть у вас? Если сходу не находите — включите дисциплину на пару недел: раз в день садитесь на 10 минут перед белым листом и рассказывайте обо всём, что пришло в голову. Скорее всего потребность сама подтянется, ну или вы поймёте, что дневник вам пока не нужен. Это был традиционный вопрос по понедельникам. Задавайте свои на [email protected]
Показати все...
Профессиональные блоги Кажется это первая такая подборка на канале, но почему бы и нет. Расказываю, что ещё стоит почитать в телеге. @mspiridonov, Максим Спиридонов, основатель Нетологии. Заявляет, что пишет о бизнесе, фактически — обо всём важном. К примеру страшный пост про дофаминовую культуру и тиктокизацию @ivanzamesin, Иван Замесин, основатель Меты. Пишет о продуктах, узурпирует Jobs to be Done в телеге, сделал тренинг об управлении продуктами на 46 (!) потоков, ведёт подкаст. Очень зацепил пост про болезни, которые заставляют нас выключаться из работы, прямо про меня. @kutergin_on_fire, Денис Кутергин, основатель Юду. Пишет об управлении и бизнесе, ведёт ютуб-шоу «Основатели». Гляньте про идеальный формат отношений в семье или о том, почему люди боятся нанимать сильных сотрудников. @bezaspera, Арина Хромова, основатель Careerspace. Пишет об HR, поиске работы и найме, даёт советы о LinkedIn, есть платный гайд по нему. Посмотрите на большую подборку материалов по релокации. @disruptors_official, Алексей Подклетнов. Уже упоминал его здесь — пишет обо всём происходящем, добавляет личное мнение — к примеру о недвижимости в Китае. @betternotworse, Егор Данилов, бывший CPO в Юле и директор по продукту Ivi. Читать имеет смысл если вы имеете хоть какое-то отношение к продуктовой разработке. Восхищаюсь количеством мыслей и тем, как ёмко он их выражает. Начните со списка его любимых постов и не отрывайтесь пару часов. @startupoftheday, Александр Горный, Ex-директор по стратегии Mail.ru, сейчас ведёт несколько своих бизнесов. Вряд ли вы ещё его не читаете, но всё же — на канале крутой формат: 1 пост — 1 стартап. Без воды рассказывает про бизнес-модели. Посмотрите на Коронавирус как стартап. @aioftheday, тоже Александр Горный: новостной канал про AI. К примеру новость о том, что в магазинах Amazon без касс на самом деле в камеры смотрела 1000 индусов. @RationalAnswer, Павел Комаровский. Канал про деньги и инвестиции. Читаю его раз в месяц, чтобы понимать, что в мире происходит с инвестициями. В тайне надеялся вернуть через него веру в отечественных брокеров — пока не смог. Почитайте про сравнение кредитки и подушки безопасности или почему при бурном росте китайской экономики акции не растут.
Показати все...