Наш герой — предприниматель, франчайзи, лид-разработчик и, кажется, немного Павел Дуров. Рассказываем, как проходят будни многозадачного девелопера в большой компании.
07:00. Ранний подъeм. Точное время варьируется, но первый пункт дневного плана неизменен: свидание с «железом» в фитнес-зале. Или бег — чередую день через день. На тренировки уходит около часа.
08:00. Душ, завтрак. Здесь никаких потрясений, все по классике.
09:00. Медитация. Нагрузка в течение дня интенсивная, и мозгу нужна передышка. Сомнительные методы — не моя история, поэтому уже много лет каждое утро я ложусь на пол и медитирую. Не использую каких-то конкретных приложений или техник — просто на 15 минут выключаю голову под трек-медитацию.
09:30. Подготовка к вебинарам. Это не ежедневная практика, веду занятия по разработке 2–4 раза в неделю. На подготовку к вебинару уходит 30–60 минут: проверяю тему, делаю селф-чек по основным тезисам.
Преподавать начал недавно — запустили c Loftschool пилотный интенсив по Python для начинающих. У меня были сложные отношения с этим языком: мы прошли неприязнь, отрицание, гнев и уход из профессии в менеджмент на стадии торга. Как видите, закончилось полным принятием.
Расскажу, как так вышло. Формально я занимаюсь разработкой с 2007 года, хотя первый скрипт на Visual Basic написал себе еще в 2005. Это была простенькая программка для учета данных: я работал тогда в компьютерном магазине и не хотел часами сидеть в Excel, вбивая циферки продаж и остатка товаров. Чтобы упростить себе жизнь, создал скрипт автоматизации процесса.
В 2007 перебрался в Москву и начал кодить на Perl — с него и начался мой серьезный путь в разработке. Тогда случилась забавная история: на собеседовании в тестовом мне дали четыре задачи на программирование. Через 2 часа я вымученно сдал рекрутеру половину первого задания и ушел с осознанием, что никогда не вернусь. В результате мне перезвонили и предложили оффер.
Многому научился у Николая Шуляковского и Владимира Перепелицы. Мне тогда казалось, я — крутой, мощный программист. Но прошло 5 лет, и вдруг понял, что вообще не умею программировать. Затем я вновь поверил в себя и решил, что теперь-то я точно крутой разработчик. Разочарование настигло быстро. С 15-летним опытом пришло понимание, что программировать я, конечно, умею, но все еще очень многого не знаю и далек от божественного уровня в коде.
С Python столкнулся, когда устроился в Rambler. Знакомство не задалось — язык мне не понравился по формальным параметрам: в одну строку не покодишь, отступы нужны, оформление строгое. После Perl Python был абсолютно неудобен и невыносим. Настолько, что я серьезно ушел из разработки в менеджмент. Но сбежать от судьбы не вышло. Будучи управленцем и с новыми знаниями в программировании сел за написание скриптов и приложений, которые уже не просто выгружали данные в Excel, но и обрабатывали их и отправляли по нужным ссылкам без моего участия.
10:00. Кодинг, созвоны, задачи. Если учить некого, сразу берусь за код-ревью: проверяю уже написанный код на жизнеспособность, функциональность и эффективность. Открываю Git и вчитываюсь — терпения хватает минут на 15. Предпочитаю писать.
В VK я примерно 1 год, за это время сменил команду внутри компании и начал писать на Golang. Работаю в основном с API — контрактами, которые определяют, как к программам «обращаться» и как они будут «общаться» с другими программами. Такая система взаимодействий несложно тестируются и прогнозируются. Поэтому я пишу много функциональных тестов, которые проверяют вход-выход программ. Потом пишу сам код API, затем — снова тест. Алгоритм примерно такой: тест — код — тест — код.
Задачи бывают очень разные и зависят от конкретного проекта. Где-то я работаю сольно и пишу код под подробное техническое задание. В других проектах в пару дают помощника — тогда я больше участвую в качестве тимлида и контролирую процесс «сверху». Не программистские задачи тоже не редкость: например, часто просят сделать презентацию. Такое разработчики не очень любят. Обычно тебя просят создать архитектуру какого-нибудь сервера или программы, а потом неожиданно прилетает вежливо-безапелляционная просьба презентовать придуманное на аудиторию в 50 человек. В итоге большую часть дня занимает подготовка к презентации — а ведь можно было бы что-то полезное накодить.
Стандартный сценарий рабочих будней: приходит четко расписанная задача, например, добавить метод API — сажусь и пишу код. В процессе нередко понимаю, что работать все так, как написано в задаче, не будет. Вот и еще один классический элемент работы — разобраться, где «лужа» в ТЗ, принять и простить ошибку, согласовать все заново. Пообщаться с заказчиком, с project-менеджером, аналитиком — пройти по всей «пищевой цепочке» продакшена. Так день затягивается на переделку и согласование задачи.
13:00. Обед. В последнее время стараемся не только обедать, но и завтракать, ужинать дома. Заказная, кафешная еда сильно сказывается на самочувствии. К моему счастью, жена прекрасно готовит, так что и соблазн поесть где-то во внешнем мире возникает нечасто.
После обеда все как в известной сказке — работать не хочется, хочется поспать. До сна, правда, не доходит, но даю себе полчаса отдыха под Comedy club или стендап. Сериалы совсем не включаю. Пересмотрел всего Павла Волю и Славу Комисаренко.
14:00. Продолжаю работу. Сейчас мы живем в съемной квартире: здесь две комнаты, но все же тесновато. От параллельной работы с женой страдает продуктивность — мы часто друг на друга отвлекаемся. Чтобы избежать провисов эффективности, после обеда иногда ухожу в коворкинг. Или жена уходит в кафе.
В работе программиста немного веселья. Действительно смешно бывает, когда падает продакшн или деплой отваливается. Вот тогда вы с админами повеселитесь на славу: получасовые созвоны и переписки по таким поводам всегда насыщены и эмоциональны. Дальше обратно занырнете в рутину. Правда, если что-то подобное случится в пятницу вечером — никто уже не поможет и будет не до смеха.
Мне скучать особо некогда: совмещаю разработку с товарным бизнесом. Какое-то время я работал в Ozon, и мы с товарищем решили запустить свои продажи разных товаров через сайт и маркетплейсы.
Самый сложный период в моей карьере длился 3–4 месяца: тогда мы с партнером решили, что нам нужно еще и кофейню открыть. Главный компонент успеха с такой нагрузкой — дисциплина. Иначе можно провалить все.
Совмещать товарный бизнес с разработкой — несложно. Продажи автоматизированы и занимают немного времени. Деловые встречи с партнером по вечерам где-нибудь в лаундже — скорее приятный бонус, чем обуза.
А вот с кофейней пришлось нелегко. Мы работали по франшизе — купили ее за две недели до объявления локдауна. Пришлось заморозить идею на 8 месяцев. Потом в период открытия мозг с трудом справлялся с количеством задач. В отличие от интернет-продаж, такие процессы сильно завязаны на дедлайнах. Например, открывается фудкорт — вам нужно запуститься вместе с ним. При этом закупки оборудования и работа с подрядчиком — вещи плохо контролируемые и не всегда поддаются четкому планированию. Иногда нам звонили курьеры и выдавали: «Я приеду вот прямо сейчас или уже через три дня». И отстоять правила хорошего сервиса, если вы договаривались на встречу через несколько часов, не получится. Курьер не приедет, оборудование не поставится, дедлайн сгорит и все разрушится по цепочке.
В тот период вставать приходилось в 5:30–6:00. Медитацией пожертвовать не мог, но бег и зал периодически пропускал. Кодить порой приходилось до 12 ночи, потому что днем все время уходило на франшизу и продажи. После открытия кофейни стало проще: спустя пару недель я заглядывал туда раз в 3–4 дня. Кстати, заведение не взлетело. Проходное, по оценке многих специалистов, место оказалось популярным для аудитории, не пьющей кофе — такое предугадать почти невозможно. Но опыт был интересный — думаю, что скоро вернусь в бизнес с новыми идеями.
18:30. В переговорку — на вебинары. Для вечерних занятий арендую переговорку в коворкинге. Настраиваю оборудование: ставлю два монитора (один для сценария урока, второй — для видео), подключаю микрофон, включаю запись. Пары нередко затягиваются до 21–22 вечера.
Когда вебинаров в расписании нет, заканчиваю работу около 19:00. В качестве хобби 2–3 раза в неделю хожу на актерские курсы. Занимаюсь чуть больше года. Нашел в этом путь для раскрытия себя, раскрепощения. Неочевидно, но это важные компоненты формирования софт-скилов, а без них топовым разработчиком и тем более тимлидом стать нелегко. Кроме того, играть на сцене — просто интересно, так что советую попробовать.
20:00. Прогулка с женой. Стараемся выбираться почаще. Ходим в парки, магазины, гуляем по площади. Кажется, Ереван исходили уже полностью — сейчас обсуждаем, какую страну исследовать дальше. Мы легко путешествуем, и очень помогает переживать стрессовые переезды наш питомец — Кевин. Проблем с ним немного: иногда грызет тапки или провода. Зато соседей не напрягает и препятствием к аренде не становится. Наоборот, помогает поддерживать чистоту и экономит время на уборке. Да, Кевин — робот-пылесос. Побывал с нами уже в трех странах.
21:00. Душ, подготовка ко сну. Снова без сюрпризов.
22:00. Нужен план. Хорошая привычка, появилась года четыре назад и очень помогала, когда открывал кофейню. Каждый вечер сажусь за компьютер и детально расписываю предстоящий день. Первым делом вношу обязательные встречи и созвоны в календарь, а дальше расфасовываю оставшиеся дела по временным слотам в Notion. Когда в сутках всего 24 часа, а у тебя три работы, приходится планировать все до мелочей.
Раньше более двух часов в день занимала кофейня, более четырех — товарный бизнес, более восьми — разработка. И семь — сон. Кажется, нагрузка неподъемная, но люди ко всему привыкают: через две-три недели такой жизни стало казаться, что времени хватит еще на какой-нибудь стартап.
Навыки программиста помогали существенно экономить время. Например, для продаж я написал систему управления товарами. У нас несколько маркетплейсов, сайт, продажи с телефона, логистика — здесь критична синхронизация. Плюс хотелось учесть поставки товаров и отслеживание прибыли. В итоге удалось достаточно быстро написать логистическую систему на Python: она пережила уже три обновления версий, и сейчас этой системой пользуются наши менеджеры и сотрудники склада.
22:30. Спокойной ночи. Ложусь спать с ясной головой и четким планом на день: знать, что ждет тебя завтра — роскошь. И я ее себе позволяю.