Получи случайную криптовалюту за регистрацию!

FEDOR BORSHEV

Адрес канала: @pmdaily
Категории: Технологии
Язык: Русский
Количество подписчиков: 25.91K
Описание канала:

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

Рейтинги и Отзывы

4.50

2 отзыва

Оценить канал pmdaily и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

1

4 звезд

1

3 звезд

0

2 звезд

0

1 звезд

0


Последние сообщения 34

2021-03-02 10:45:22
6.4K views07:45
Открыть/Комментировать
2021-03-02 10:45:22 Что-то я давно не рассказывал вам о фейлах, исправлюсь пожалуй и расскажу, как мы готовили контент к «Асинхронной архитектуре» (кстати, сегодня старт, ещё можно впрыгнуть).

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

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

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

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

Адская коммуникация наложилась на сложную работу с видео (отсмотреть и отписать замечания на 20-минутный ролик даже на двойной скорости занимает 1 час), так что состояние команды теперь примерно такое, как на ролике внизу. Но, к счастью, все уроки кроме двух финальных уже записаны, письма написаны, домашка продумана, цепочки настроены — мы готовы к запуску. Вы не заметите разницы, а мы отдохнём, и дальше начнём вести коммуникацию уже в экономном режиме — через почту.
6.4K views07:45
Открыть/Комментировать
2021-02-26 10:45:18 Отдавай заслуги, участвуй в поражениях

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

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

Вообще, это продолжение главного армейского принципа, который я когда-то давно услышал от одного из руководителей: «ругай лично, хвали публично». Я бы сформулировал как «отдавай заслуги, разделяй поражения».
2.6K views07:45
Открыть/Комментировать
2021-02-25 12:44:39 Завтра в 15:00 с Марьяной Онысько, Натальей Бабаевой и Крис Вазовски говорим о self-employed.

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

https://www.joinclubhouse.com/event/myyAJLRO
2.3K views09:44
Открыть/Комментировать
2021-02-24 10:45:05 На 100%

У меня есть простой жизненный принцип — я всё делаю на 100 процентов.

Если работаю — я не отвлекаюсь. Если не получается не отвлекаться — перестаю работать. Если прихожу на встречу, то я — на встрече, а не в почте/телеге/айфоне.

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

Если я болею, то не работаю. Если чувствую себя плохо и не получается работать — значит, я болею.

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

Тут всё просто: если я думаю о работе, находясь на вечеринке, то плохо от этого и вечеринке (меня на ней нет), и работе: решения, скорее всего, я приму дерьмовые.
3.4K views07:45
Открыть/Комментировать
2021-02-23 10:45:05 ​В рамках курса по асинхронным системам, который, кстати, стартует уже в следующий вторник, мы сделали классный материал, которым я хочу поделиться отдельно.

Это — простая памятка из 7 карточек о том, как говорить с бизнесом. Если вы ещё только учитесь проджектовой работе, или вы — программист, который хочет вылезти за рамки привычного написания кода — обязательно посмотрите у нас на сайте. Чтобы получить карточки, мы попросим вас оставить почту, спамить потом не будем.
3.9K views07:45
Открыть/Комментировать
2021-02-19 10:45:05 12 факторов: хранить состояние вне процесса

Запущенное приложение не должно рассчитывать на внутреннее состояние процесса. Когда-то было принято хранить на диске буквально всё. Кроме сессий в /var/tmp, нормальной практикой было сжимать загруженные в админку изображения в момент их запроса. Типа запросил пользователь фоточку товара 400x400, а у нас в кеше есть только 200x200 — идём в оригинал, сжимаем его в 400x400 и сохраняем на диск. Другим пользователям уже отдаём кешированную версию. Думаю, не нужно рассказывать, чем это плохо, если вы читали мои предыдущие посты про 12 факторов.

Такой подход до сих пор проскакивает в маргинальных инструментах вроде django-webpack-loader: эта штука собирает JS в момент запроса и сохраняет где-то на диске. Конечно же, если вы деплоите JS, который почему-то не собирается, вы об этом узнаете не в CI, а от пользователей, которым прилетит неработающий бандл.

Не делайте так. Все преобразования выполняйте в процессе CI, а промежуточные данные храните в отдельных сервисах — данные в базе, сессии в кеше, а картинки где-нибудь в S3.
5.8K views07:45
Открыть/Комментировать
2021-02-17 10:45:04 Предчуствовать жопу

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

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

Не ждите, пока жопа случится на вашем проекте, — предупредите её и предотвратите.
7.9K views07:45
Открыть/Комментировать
2021-02-15 10:45:05 Самый простой способ передачи знаний между программистами — это совместное программирование. Я очень хочу делиться знаниями о разработке, поэтому уже год веду образовательные стримы с лайвкодингом на ютубе. Вместо стандартной жвачки вроде «учим джанго за 1 час» или «зарплат питон-программистов» я показываю настоящую разработку коммерческого кода — с боевыми задачами, фейлами и непонятками, а также хорошими практиками вроде CI/CD или TDD. Обычно я пишу код для своей школы или для наших с Саматом клиентов, которые на это согласились.

Вот пара видосиков вам для затравки:

- Докеризуем Django-приложение
- Введение в TDD
- Пилим подарки для интернет-магазина

Подписывайтесь на ютуб или почитайте подробнее про мои стримы тут. Если есть пожелания для новых стримов — пишите в комменты.
9.5K views07:45
Открыть/Комментировать
2021-02-12 10:45:05 12 факторов: экспортировать сервисы через порты

Когда-то, когда сайты модно было делать на ПХП, конфигурация среды размазывалась буквально везде. Какие-то редиректы можно было настроить в .htaccess, логирование нужно было настроить в конфигурации Apache, версию самого Apache нужно было выбрать через контрольную панель хостинга. Сайт, написанный под один хостинг, мог не заработать на другом — где-то ПХП был подключён как модуль Apache, а где-то — через FastCGI, и это требовало разной механики работы с заголовками.

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

Сейчас принято делать приложения, которые хостят себя сами. На node.js так было с самого начала — попробуйте найти хоть один проект, который имеет веб-интерфейс и не содержит внутри простого HTTP-сервера на express.js. У Java такая практика тоже принята давно — там испокон веков существуют Jetty и Tomcat (а сейчас наверняка что-то более модное).

Ну а если пишете на чём-нибудь скриптовом вроде питона, обязательно включите в докер-образ uwsgi\gunicorn — пусть ваше приложение просто выставляет наружу порт, обращаясь к которому можно получить все нужные сервисы. Так вы не только упростите деплой и масштабирование, но и сделаете возможным всякие интересные интеграционные штуки вроде возможности прогнать браузерные тесты относительно свежесобранного приложения прямо в процессе CI.
10.5K views07:45
Открыть/Комментировать