Go Developer (Инфосервисы)

Мы связываем удивительный мир путешествий и открытий с обычными людьми, предоставляя удобные и полезные инструменты для планирования поездок
Кто мы

> 20
млн

путешественников, пользующихся
нашими мобильными приложениями

>
14 млн

общее количество установок приложений

топ
30

входим в топ крупнейших туристических онлайн-ресурсов в мире


> 6
млн

установок «ПриложенияТуту.ру»
Про направление
Инфосервис Туту.ру - новый продукт, который обогащает поездку пользователя информацией по важным для него вопросам и делает её максимально предсказуемой и более комфортной.
Пользователи с момента покупки билета до прибытия в пункт назначения сталкиваются с множеством вопросов. Мы хотим решать его вопросы и делать поездку комфортнее. Нужно будет находить решения, какие данные и откуда мы можем собрать, как их будем хранить, как будем предоставлять информацию пользователю.
Помимо этого в команде есть поддержка и улучшение работоспособности ранее реализованного функционала - высоконагруженная поисковая система. Здесь стоит отметить, что поддержка не старого барахла, а новой системы.
Вас ждет
Разработать и развивать сервис информационного сопровождения пользователей транспортных продуктов (авиа, жд, автобусы) с момента покупки билета до момента прибытия в пункт назначения;
С командой находить новые (ценные) источники данных, разрабатывать способы сбора/получения этих данных, хранения и обогащения нашей информационной базы;
Поддержка и улучшение работоспособности функционала ранее реализованного командой (=поддержка и эксплуатация).
Мы ждем от вас
Опыт работы на GO. Плюсом будет опыт работы на PHP.
Знание принципов проектирования и разработки микросервисов и API.
Знание принципов и различий работы реляционных и NoSQL баз данных.
Знание приципов работы очередей и различий между популярными технологиями (Kafka, RabbitMQ, NATS).
Понимание принципов CI/CD, знание основных концепций Kubernetes и Docker.
Представление о том, как создавать высоконагруженные сервисы.
Знание систем мониторинга (Prometheus, Grafana).
Про команду и процессы
Кто есть сейчас в команде: Продакт менеджер, Бекендер ТехЛид, Продуктовый аналитик (по небходимости), Дизайнер (по необходимости), Мобильная команда (андроид и iOS разработчик) + ищем ещё одного крутого бекендера.
Работаем гибридно - 1-2 раза в неделю встречаемся в офисе, остальное время удаленно/офис по желанию.
Технический стек
- Большая часть новой разработки ведётся на Golang по микросервисной архитектуре в Kubernetes (Openshift).
- Общение между сервисами строим по gRPC и/или HTTP.
- Для обмена сообщениями используем Kafka, NATS, RabbitMQ.
- Базы данных: MySQL, MongoDB. Из необычного - в прототипе информационного сервиса использовали MongoDB Change Streams
- Кеширование: Redis, Memcache
- Мониторинг: Prometheus + Grafana. Есть внутренний инструмент, который позволяет получать алерты в Telegram и производить рутинные действия в том же чате
- Аналитические системы: ClickHouse, ElasticSearch, Exasol, Metabase
- Микросервисы можно писать и на других языках, есть микросервисы на Python, PHP и JS, можно пробовать и другие языки. В целом мы за эксперименты, но за разумный выбор, так, чтобы не разводить в одной области зоопарк технологий.
Старая логика, в том числе большая часть логики работы с заказами, реализована в монолите на PHP7 на самописном фреймворке. Новые фичи стараемся в монолит не добавлять, но часто нужна интеграция микросервисов с монолитом. В целом каждая команда сама решает как делать такую интеграцию, в нашей команде мы чаще всего делаем небольшие API-прослойки на Slim
Часть логики реализована в виде SOA-сервисов на PHP с общей шиной на RabbitMQ или HTTP-интерфейсами. Но этот подход признан устаревшим и не развивается.
У нас много партнеров и внешних источников данных с разными протоколами взаимодействия. Чаще всего это SOAP либо JSON-RPC, но бывают и более экзотические варианты
Большинство разработчиков используют IDE от JetBrains
Есть ежедневный стендап, еженедельное планирование, квартальное обсуждение целей. Есть ежемесячная встреча 1−1 с руководителем.
Почему мы
Мы развиваем команду и осознанно инвестируем в это деньги и время — конференции, профессиональная литература, обмен опытом внутри компании;
У нас удобный офис со всем необходимым рядом с м. Нагатинская, с хорошей библиотекой и собственной кухней, где всегда есть чай-кофе, фрукты-овощи, конфеты-печенья-йогурты и другие вкусности в свободном доступе;
Мы платим премии за прочитанные книги по профессиональной тематике;
Помогаем с переездом кандидатам из других городов (оплата билетов до Москвы сотруднику и ближайшим членам его семьи, стоимость аренды квартиры в Москве за один месяц);