Senior Scala Engineer (новий проект) (offline)

EVO Ukrainian Product 🇺🇦
Наша мета - створення простого і зручного інструменту оплати для проектів Rozetka, Prom, Bigl, Shafa, Kabanchik. Ми плануємо запуск альтернативних способів розрахунку за товари, які дозволять оптимізувати вартість і конверсію платежів, а також забезпечити абсолютно новий рівень якості клієнтського досвіду.

Проект з технічного боку:
Мікросервісна архітектура з комунікацією через REST API, Kafka і RabbitMQ
Scala з прагненням писати в pure FP стилі, використовуючи бібліотеки Cats і ZIO
SBT в якості системи збирання
HTTP layer: Play framework, akka-http, sttp, http4s
Бібліотеки для взаємодії з БД: slick, doobie
БД, які використовуються: MySQL, PostgreSQL, TimescaleDB, ClickHouse, Elastic Search
CI/CD: Circle CI + Docker + Kubernetes в Google Cloud (Spinnaker і Helm для зручності)

Здебільшого, всі задачі націлені на:
-Збільшення кількості інтеграції з банками, платіжними шлюзами, зовнішніми провайдерами онлайн платежів.
-Розробку власного білінг рішення для автоматичного взаєморозрахунку з Продавцями маркетплейса Prom.ua та Rozetka.ua, банками, яким будуть користуватися більш 50 000 + продавців.
-Розробка власного рішення для емісії карт і грошей спільно з банками партнерами.
-Удосконалення бек-офісу платіжної системи для перегляду аналітики, генерування звітів, надання інструментів для підтримки.
-Розробку рішень для систем лояльності, бонусів і кеш беків.

Чим цікаві ці задачі з технічного боку:
-Відсутністю legacy, новий проект
-Можливістю гнучко обирати технології та підходи розробки
-Використанням сучасних технологій для забезпечення стабільності і безпеки сервісів
-Проектуванням сервісів з урахуванням вимог зовнішніх інтеграцій

Наш підхід до процесу розробки:
-Основні завдання беруться в розробку тільки після чітко поставлених вимог і попередньої оцінки тех. спеціалістів.
-Команда розробки організована так, що всі беруть участь у розробці всіх сервісів, кожен може підхопити будь яку задачу щоб уникнути гальмування розвитку проекту
-Після закінчення розробки, відправляємо на код рев’ю з обов’язковим підтвердженням від колег
-Після рев’ю, виливаємо код на стейдж, де його тестять QA, після чого він потрапляє на продакшн, де проходить тести на регресію. Згодом, поступово збільшується трафік і реліз повноцінно працює на продакшені, у випадку помилок, реліз відкатується і потрапляє на доопрацювання.

Наші кандидати:
-Готові працювати з великою кількістю різноманітних бібліотек і фреймворків
-Вміють і люблять писати в pure FP стилі
-Розуміють, що таке мікросервісна архітектура і мають досвід її застосування
-Володіють навичками і досвідом роботи з SQL базами даних і Elastic Search
-Мають досвід роботи з хмарними технологіями на базі Docker і Kubernetes
-Прагнуть покривати код тестами

Як плюс:
Досвід роботи в фінтех проектах

Як у нас проходить підбір на дану позицію?
1. Ваше резюме розглянуть технічні фахівці.
2. Якщо резюме буде схвалене, ми домовимося про online-знайомство. Ми обговоримо проект, ваш досвід і відповімо на питання. Після чого разом вирішимо, чи продовжимо спілкування вже на технічній співбесіді онлайн.
3. Технічна співбесіда.
4. Фінальна співбесіда з СЕО та продакт менеджером проекту.

About EVO

EVO — продуктова українська IT-компанія.
Prom.ua, Bigl.ua, Crafta.ua, Zakupki.prom.ua, Kabanchik.ua, Вчасно , Shafa
**********************************************
Про технічний департамент в EVO:

Основні мови програмування, які ми використовуємо це Python 3.7 (моноліт + сервіси на aiohttp), і JavaScript.
Є кілька продуктів, написаних на Go, Rust, Node.js (JS / TS), Scala, Kotlin. Стандартна база даних для наших проектів — PostgreSQL, також використовуємо MongoDB.
Для пошуку використовуємо ElasticSearch. Під вирішення окремих завдань існують свої плагіни. Працюємо з Clickhouse.
SPA програми будуємо на ES6+, React. Рухаємося в бік GraphQL + Apollo і плавно Мігруємо на серверний пререндерінг (SSR). Експериментуємо з TypeScript. Для складання JS модулів використовуємо webpack, CSS стилі — CSS Modules.
Із загальних інструментів використовуємо:
Docker, Kubernetes, Istio, Prometheus, Grafana, Gitlab CI, Kibana, Memcached.
Все що потрібно для великого продакшн проекту: логгінг (kibana), метрики, моніторинг (grafana), черги завдань (celery + RabbitMQ), Kafka.
Свій білінг, CRM/адмінка, рекламна мережа, чат, обгортки над еластиком, своя реалізація GraphQL-сервера на Python.
**********************************************
Стек мобільних технологій:
iOS
Мови: Swift (нові проекти на Swift) і Objective-C
Архітектури: VIPER, Clean Swift
Сучасні бібліотеки: Moya, IGListKit, Realm, YapDatabase, lottie
Додатково: пишемо власні компоненти для шаринга між проектами, свій CI сервер (Gitlab CI і Jenkins)

Android
Мови: Java і Kotlin (нові проекти чисто на Kotlin).
Архітектури: MVP, MVVM, VIPER, Android Architecture Components.
Сучасні бібліотеки: Retrofit, Realm, Lottie, MotionLayout, Glide.
Багатопотоковість: RxJava 1 & 2, Coroutines.
**********************************************
Збираємося на dev-club’и всередині тех.департаменту EVO:
на dev-club обговорюємо:
* Нові підходи, рішення які використовуються в командах (пропозиції, аргументація).
* Обмін досвідом (позитивним / негативним) про використання тих чи інших рішень.
* Обговорення інструментів (що є, чого не вистачає).
* Координація дій між командами для поліпшення, розвитку інфраструктури.
**********************************************
Проекти з відкритим кодом:
Swindon — Веб-сервер для великої кількості WebSocket-з’єднань
hiku— бібліотека для побудови веб-серверів з GraphQL та подібними мовами запиту
grpclib— бібліотека для написання сервісів з python3/asyncio та протоколом http2/gRPC (grpc.io)
elasticmagic — конструктор запитів в ElasticSearch, подібний на SQLAlchemy
ttag — бібліотека для роботи з gettext перекладами в JavaScript.

Company website:
https://evo.company/

The job ad is no longer active
Job unpublished on 14 September 2020

Look at the current jobs Scala Kyiv→