28 січня 2021 9:17

Mykyta Shulipa, Senior Software Engineer, Tech Lead в MyHeritage

Мда, почитал отзывы и понял, что они все ужа давно устарели, а про фронтенд и вообще немного информации.
Поделюсь своим видением изнутри)
Давно уже все работают с git.
Фича-флаги, A/B тесты, небольшие изолированные пулл-реквесты в master, CI/CD (релизимся раз по 20-30 в день), сбор статистики, сенсоры по разным параметрам и метрикам — ежедневная рутина.
Очень многие идеи и улучшения приходят от самих сотрудников, как в рамках хакатонов, так и напрямую к менеджерам продукта. По наиболее успешным идеям пишется детальная спецификация и они уже реализовываются в рамках обычного рабочего процесса.
Процессы вообще одни из лучших, в которых я участвовал. Казалось бы — обычные спринты, разве что по 3 недели каждый, ничего особенного. А вот даже на стендапах фокус смещён с «я вчера делал это и то» на «статус этой задачи такой-то».
Вообще весь цикл разработки пронизан ownership — написание технического дизайна большой функциональности и его ревью с командой, архитекторами и техлидами (да, тут техлид и тимлид — это разные люди), «нарезка» на задачи и их оценка, и только потому сама уже разработка.
Про разработку: сам продукт сейчас — это куча микрофронтендов.
Каждое приложение живёт изолированно и собирается через webpack, ESNext через Babel (async/await, css grids etc.)
Легаси тоже есть, за почти год моей работы я туда залазил пару раз только, так что особого внимания не стоит. А если на старых страницах что-то меняется — то сразу же поднимается запрос на переписывание на новый стек технологий и потом уже имплементация. Бизнес тоже понимает, что старые технологии — это дорого, в поддержке прежде всего. А менеджмент прекрасно подкован технически, что очень большой плюс.
Для связи с сервером используется GraphQL.
Сами микроаппы на React (и Redux где нужно, иногда это React.Context или локальный стейт — от задачи зависит), функциональные компоненты, хуки активно используются.
Про тестирование стоит отдельно упомянуть. Есть unit тесты, есть функциональные, компоненты через snapshot testing, для визуального — Cypress и Loki. И это всё только то, чем девелоперы сами заведуют. А ещё есть скилловые QA, следящие за качеством и покрывающие функциональность автотестами.

Гильдии (объединение людей по профессиональным навыкам), и в частности web-гильдия, помогают иметь общее видение и делиться знаниями между собой.
Вместе с дизайнерами настроен ongoing процесс по построению собственного набора компонент. Активно используется Storybook, как для изолированной разработки, так и для более предметного общения между дизайнерами и разработчиками.
Над общими компонентами, лежащими в монорепе и управляющиеся через lerna, работают которыми работают все в гильдии, а не только отдельная инфраструктурная команда (которая, к слову, тоже есть).
Как разработчики мы регулярно инвестируем время в сокращение технического долга, эксперименты с новыми фичами и библиотеками/плагинами, оптимизации продукта и улучшения нашего ежедневного рабочего процесса, и бизнес вполне с этим ок, так как ценит качество. Качество же позволяет разрабатывать достаточно быстро прямо сейчас, и с постоянно быстрой прогнозируемой скоростью в будущем.
Promotion система есть, компания это приветствует и даёт возможности для роста. Периодами прям бумы повышений в обязанностях происходят, и не только в Израиле, где HQ и много специалистов из R&D, но и в украинской команде.
И ко всему к этому добавим ещё отличный менеджмент, у которого есть что перенять и чему поучиться. Регулярная обратная связь, тет-а-тет встречи, план развития — только малая толика процесса.

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


LinkedIn

2 коментарі

Підписатись на коментаріВідписатись від коментарів

Коментарі можуть залишати тільки користувачі з підтвердженими акаунтами.

Как можно связаться с операторами компании ? Заказала тест в январе , но он до сих пор в статусе оплачен , но не отправлен .