Привет, меня зовут Максим.
- 👷♂️ Управляю проектами так, чтобы задачи делались, time-to-market рос, а качество не падало.
- 👨⚕️ Общаюсь с командой и врачую их боли, составляю и воплощаю планы для роста коллег.
- 👨💻 Проектирую современные фронтенд решения. Выращиваю ведущих разработчиков, чтобы они выстраивали свежие решение, которые будут идти в ногу со временем.
- 👃 Вместе с женой создали бренд нишевой парфюмерии.
Мне интересно работать с бизнесом напрямую, потому я выбираю небольшие, открытые командах. Там я могу быть в коннекте со всеми, начиная от маркетологов и заканчивая СЕО. Такая среда помогает понять как развивать проект и расти самому.
Я сегодня
Forfolks
Со-основатель, март 2018 - по сей день.
СайтВместе с женой производим собственную нишевую парфюмерию. От разработки формул аромата, через дизайн этикетки, производство изделия и до запуска конечного продукта. Сейчас развиваем наш шоурум в Санкт-Петербурге и погружаемся в digital направление.
В проекте я выполняю техническую роль: пишу и развиваю сайт (кстати, он полностью статический и крутится на netlify, когда мне нужен бекенд — использую netlify functions). Так же отвечаю за SEO оптимизацию, погружаюсь в маркетинг. И придумываю ароматы, само собой 👨⚕️
Studybay
Lead Frontend Developer -> Team Lead, март 2020 - по сей день.
СайтВ команду пришел ведущим фронтом. По факту в компанию заманили очень приятным собесом, но то, что я увидел когда взялся за проект было мягко говоря... удручающим. Дремучее легаси, фронтенд начисто лишенный последовательности, который как сталагмит кодами наслаивал решения разных эпох и подходов. Серьезно, по этому проекту можно было по годам как по кольцам изучать как развивался веб.
Команда
Задачу осложняло то, что команда была сильно потрепана и буквально разваливалась на глазах. Я начал бить тревогу и был услышан СЕО проекта. В течении нескольких месяцев проект покинул тимлид и я занял его место. Почистил команду от уставших ребят, помог им перебраться в новые места и начала собирать новую команду. На старте в команде разработки был один бекендер, ноль фронтендеров и два тестировщика.
На тот момент в команде был отличный бек, но совсем не было здравых фронтов. Я нанял очень способного фронта и подающего надежды джуна. С первым мы значительно проработали проект (смотрите дальше), второго за полтора года вырастил в ведущего разработчика, который уверенно развивает проект и менторит младших коллег. В дальнейшем нанял еще двоих тестировщиков, двоих фронтендеров и двоих бекендеров.
За полтора года у меня случилась только одна потеря — выгорел один из тестировщиков: долго не мог определится с тем, куда он хочет расти в тестировании. В итоге взял отпуск, обложился курсами и отправился в автоматизированное тестирование.
Процесс
Параллельно с этим развивал само управление проектом в команде с Product менеджером. В начале у нас не было вообще никакого процесса. Задачи прилетали от постановщиков, разработчики по устным договоренностям брали их в работу и все "как-то делалось". По факту даже простые задачи превращались в кракенов и тянулись... тянулись... гораздо дольше чем они должны были на самом деле. Что я сделал:
- Ввел рекомендации для постановщиком по оформлению задач
- Внедрил практику оценки задач перед взятием в работу отделом тестирования и в сложных случаях разработчиками
- Установил четкие даты формирования спринта, объяснил всем участникам процесса правило игры и причины
- Ввел практику сборов разработки и отдела качества перед началом спринта для обсуждения задач
Фронтенд
Имея большой опыт во фронтенде я совместно с нанятым на первом этапе талантливым фронтом начал сдувать пыль десятилетия с проекта:
- Много внимания уделяли DX, заложили основы для верстки: (UI кит реализованный в коде, систему размерностей)
- Запустили регулярный houskeeping (каждый четверг 4 часа в обязательном порядке отдавалось на разгребание технического долга)
- Начали сокращать энтропию внутри проекта: мобильную версию на backbone при переписывании компонентов заменять на реакт адаптив, статические внешний страницы избавили от сторонних библиотек, привели сборку к единому виду, внутри основного клиента выработали единый путь работы с компонентами
Бекенд
Бекенд представляет собой монолит, с огромными компонентами, которые переплетены между собой самым наитеснейшим образом. Двинулись в три этапа:
- Создали "список боли": начал собирать все места с наиболее критичными проблемами, будь то невероятный размер файла, переусложненная логика или просто на столько меркзие места, которые хочется скорее исправить
- Провели аналитику слабых мест. Так мы нашли, что sphinx дико косячит и взяли за переписывание его на индексирование через postgress
- Составляем план разбиения монолита на сервисы. Это поможет развязать текущий клубок монолита, упростить и упорядочить работу с бекендом. Плюс есть долгоиграющий план по выделению микросервисов, но пока нам не хватает знаний с точки зрения архитектуры. Можно сказать, что разбиение на сервисы — это подготовительная работа.
Ранее
Finom -> Tab Trader
Junior Frontend -> Lead Frontend, сентябрь 2017 - март 2020
Сайт ПродуктУчаствовал в двух проектах: разработке фронта ныне закрытой биржи (Cryptonit) и разработке веб версии торгового терминала TabTrader
Для биржи с нуля писали фронтенд. Проект крутился на vue, с сервером общались по подобию RESTa. Моя роль сначала была падаванская, потом команда начала разрастаться и мой лид стал управлять разработкой в целом, а мне перешел флаг фронтенд команды. В целом я продолжал работать под его чутким взором. Из самых запоминающихся авантюр - за неделю написал график для отображения биржевых данных на свг. Фишка в том, что график ходил на сервер за данными, которые в статике лежали в бинарниках и в веб воркере парсил все это. Работало адски быстро.
Второй проект - веб версия трейдингового терминала TabTrader. Тоже на vue и тоже в зачаточном виде перешла от другого разработчика. Все с нуля переписывать не стал, но по частям пришлось сначала много отрефакторить, а потом усиленно догонять приложения на android и iOS. Первые пол года работал один, потом нанял еще одного фронта. Работая над этим проектом было время и возможность отрефлексировать многое связанное с разработкой, с подходами ко фронту и тому, как устроенны современные фреймворки. Из самого свежего и важного для меня - сделал свой распределенный стор. В его основе лежит концепция глобальных и локальных модулей. Глобальные модули в целом тоже самое, что и модули во vuex/redux, а локальные модули задуманы как модели, которые рождаются и умирают в рамках компонентов. Я придумал это для разделения логики отображения и бизнес логики с упором на написание простых моделей, которые создаются для выполнения конкретных бизнес задач.
Эфа Медика
Embedded developer -> Junior fullstack, сентябрь 2016 - февраль 2018
СайтЗдесь мне посчастливилось поработать с командой настоящих инженеров, которые увлечены своим делом. Сначала занимался доработкой некоторых проектов, связанных с подключением новых интерфейсов к хирургическим аппаратам. Параллельно вёл исследование по внедрению управляющего комплекса на основе одноплатников. В основном игрался с blackbone, собирал под него yocto и пробовал писать под это на QT. Параллельно уже изучал фронт. Пересекаясь с производством увидел, что для управления последним они используют миллион таблиц в excel и предложил написать свою собственную систему на веб технологиях. Обосновал идею, получил одобрение, впитал знания от главы производства и начал делать систему. На беке сначала занесло в php, но довольно быстро переключился на ноду. Фронт был написан на vue. В итоге удалось сделать достаточно много, но проект прикрыли из-за решения все перевести на 1С.
Третий пин
Embedded developer, Январь 2016 - Август 2016
СайтПришел туда студентом на подработку, хотел набраться опыта в железячной разработке. Сначала мне давали мелкие внутренние проекты: настраивал датчики, изучал интерфейсы. Потом дали крупный интересный проект на осознание и частичный рефакторинг. После занимался прикручиванием файловой системы FAT32 к очередному внутреннему проекту. Эти ребята показали мне, что специалист должен всегда расти.
ЗАО ЦТБ "АРГХОН"
Engineer -> Lead Engineer, Октябрь 2013 - Январь 2016
Ездил по разным гражданским и военным объектам: проектировал схемы установки и запуска, настраивал и запускал оборудование. Каждый объект — мини проект в себе, у каждого свои боли и проблемы, потому типовых решений не было и часто приходилось импровизировать. Этот опыт научил меня не паниковать в сложных ситуациях и методично искать решение проблем
Контакты
- 📱Написать в Телеге
- 💾 Глянуть немного кода
- 💌 Написать письмо maximambrosevich@gmail.com