Как работает отдел разработки в ExpertSender

Наташа Вишанкова

Контент-менеджер ExpertSender

Недавно мы рассказали про команду экспертов ExpertSender. Теперь настала очередь тех, без кого невозможна ни одна IT-компания — ребят из отдела разработки. Кто стоит за сервисом, как устроены рабочие процессы, что тащит: back-end или front-end? На эти и другие вопросы гуманитариев из соседних отделов ответил технический директор ExpertSender Дима Кондрахин.

Дима, все ребята в вашем отделе тоже к 10 приходят на работу? Или вы как-то иначе день начинаете?

У нас в компании один график для всех, поэтому мы тоже приходим к 10 утра. Но, конечно, если нужно прийти позже из-за каких-то дел, то так можно. Нужно только написать письмо и предупредить всю команду, чтобы никто никого не потерял.

А традиции какие-нибудь есть?

Мы работаем по методологии Scrum, но немного адаптированной для нашего удобства. Раз в спринт, который длится две недели, мы проводим планирование и демонстрацию. Все собираются, на доску выписываются проблемы, с которыми столкнулись, что хочется улучшить, что удалось исправить с прошлого планирования. Дальше мы выбираем, какие user story взять в спринт. User story — это краткое описание нового функционала. Дальше мы делим эти user story на задачи и этапы.

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

У вас есть отдельные подотделы? Чем они занимаются?

Наш отдел условно делится на четыре направления: 
Front-end — делают визуальную часть того, что мы можем увидеть в браузере.
Back-end — занимаются невидимой внутренней частью сервисов, его «мозгом».
DevOps и системное администрирование — делают так, чтобы все наши сервисы всегда работали. Настраивают сервера, мониторят ошибки, а ещё помогают всей команде с почтой, настройкой софта на компьютере.
Тестирование — на каждом этапе разработки проверяет, что всё работает без ошибок.

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

У нас уже есть внушительный список готовых решений для создания кастомных отчетов, парсинга RSS и товарных фидов, системных оповещений. Так же помогаем с настройками интеграций клиентам. И общаемся со сторонними сервисами по поводу интеграций с ExpertSender. Так мы настроили интеграцию с несколькими рекомендательными сервисами, CRM и у нас ещё куча планов, сил и возможностей для новых интеграций. Про интеграции можно прочитать в нашем блоге 🙂

Из внутренних разработок есть система All my troubles. Она помогает экспертам и аналитическому отделу следить за ситуацией с доставляемостью писем каждого клиента. Мы анализируем все отправленные письма, ошибки доставки, жалобы и технические настройки, поэтому получается предотвратить проблему с доставляемостью раньше, чем она случится на самом деле.

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

Ещё один из наших проектов — enBar. Он состоит из многих частей, которые между собой взаимодействуют:

  • Создали мобильное приложение для клиентов гастробара «Маяк» с программой лояльности и настроили интеграцию с CRM, куда пишутся все заказы. Оттуда они передаются пользователю в личный кабинет, где он может их видеть и отслеживать свой рейтинг.
  • Панель администратора, через которую можно отправлять пуш-сообщения пользователям. А сейчас работаем над тем, чтобы оттуда можно было менять меню. 
  • Ещё разработали мобильное приложение для барменов — с его помощью они могут начислять и списывать баллы посетителям.

Есть чудо-программы, чтобы все процессы работали и ничего не ломалось?

Planfix. В нём эксперты ставят нам задачи на реализацию какого-то функционала. Это удобно — эксперты видят, кто делает задачу, все комментарии по ней и сроки. 

Youtrack используем для коммуникации внутри команды разработки. Там ведутся все внутренние проекты. Его же мы используем в качестве scrum доски, это облегчает понимание кто над чем работает и на каком всё этапе.

Так выглядит Youtrack

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

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

Что нужно сделать, чтобы попасть к вам в команду? Два высших образования? Знание пяти языков программирования? Опыт от пяти лет?

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

У нас есть минимальные требования, которые дадут понять, что человек справится с нашими задачами. О них можно прочитать здесь.  Бывает, что есть пробелы в знаниях, но есть огромное желание их получить и работать с нами. Поэтому недавно мы ввели формат стажировки — в течение месяца стажер обучается. В это время он не получает зарплату. Зато получает опыт и знания, и если мы остались довольны друг другом, а стажер всему научился —  приглашаем его на испытательный срок.

Расскажи немного про процесс обучения?

У каждого нового сотрудника есть наставник. Он даёт план обучения, небольшие и простые задачи, которые новичок должен сделать. В процессе его роста, наставник поручает более сложные задачи.
Каждый новый сотрудник знакомится с методичкой новичка. Из неё он может узнать про первые дни в команде, правилах и традициях офиса, важных привычках и принципах команды.

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

На кого ты учился, чтобы стать техническим директором?

Я учился на математика-программиста в РГУ на специальности «Математическое обеспечение и администрирование информационных систем». Когда я выбирал ВУЗ и специальность, уже знал, что буду работать в сфере IT, а кем именно я буду работать, не знал 🙂

В ExpertSender сначала поддерживал клиентов, помогал им с техническими вопросами. И параллельно занимался интеграциями с внешними сервисами и клиентскими интеграциями.
Потом отошёл от клиентской части и перешел совсем в разработку —  писал внутренние сервисы, которые помогали автоматизировать процессы. Потом людей и проектов стало больше, так стал техническим директором 🙂

Чем ты занимаешься в течение дня?

У нас так построен процесс, что эксперты не задают вопросы разработчикам напрямую. Это не потому, что разработчики какие-то вредные и не хотят общаться, а потому что эксперты не в курсе, какая нагрузка у разработчиков и кто чем занят. Поэтому они просто ставят задачу на IT-отдел. С них начинается мой день: смотрю новые задачи, уточняю все вопросы, оцениваю сроки, работаю с приоритетами, ставлю исполнителей и объясняю, что в итоге должно получиться. Дальше вся коммуникация происходит внутри задачи.  
Бывает, эксперты подходят ко мне просто так и советуются о «хотелках» клиента. Мы вместе думаем, как мы можем это реализовать, есть ли у нас готовые решения. 

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

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

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

Есть вещи, которые заставляют злиться и грустить на работе?

Меня сложно разозлить. Бывает расстраиваюсь, когда принимаю неправильное решение или что-то не получается у меня или команды.
Но воспринимаю это как опыт — отрицательный результат тоже результат.

А за что ты её любишь?

За то, что мне интересно, чем я занимаюсь, вижу результат своего труда и каждого принятого решения. Нравится, когда тем, что сделал, пользуются и оставляют положительные отзывы.

Блиц-опрос

Разработчиком может стать только математик?

Пока опыт показывает, что в сфере больше если не математиков, то технарей точно. Но, думаю, если гуманитарий захочет, то сможет стать разработчиком — никаких ограничений нет 🙂

Кто круче front-end или back-end?

Смотря что понимать под  «круче». Front-end делают то, что люди видят и про что говорят: «Как красиво и удобно!». Но функционал, реализованный back-end, часто бывает сложнее. Нельзя однозначно сказать, они оба круты и важны.

Что делать, если баги не фиксятся?

Продолжать фиксить 🙂 Не бывает багов, которые не фиксятся. Нерешаемый баг — это  недостаток знаний или опыта, которые можно восполнить книгами, курсами, консультациями с опытными коллегами и практикой. 
А ещё бывает так, что при разработке продукта не закладывается какой-то функционал, и при тестировании кажется, что это баг. Но стоит добавить функционал — и «бага» нет.

Согласен

Мы используем файлы cookie для записи информации о сеансе, например, прошлой активности на сайте, чтобы обеспечить лучший сервис, когда посетители возвращаются на наш сайт или настраивают содержимое веб-страницы на основе типа браузера посетителей. Используя веб-сайт, вы выражаете свое согласие с нашей политикой cookie. Вы можете изменить настройки файла cookie в своем веб-браузере.