Senior Scala Engineer (functional programming) (offline)

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

Хоча на проекті немає Java коду, ми з радістю поспілкуємось з Java розробниками, які хочуть писати в функціональному стилі на Scala.

Про команду:
5 Scala engineers, 2 Front-End engineers, 2 QA engineers, 2 DevOps engineers, Project і Product manager.

Технічний стек проекту, що вже використовуємо, що плануємо:
-Мікросервісна архітектура зі спілкуванням через REST API, Kafka і RabbitMQ
-Scala в pure FP стилі, із застосуванням бібліотек Cats і ZIO
-SBT в якості системи збирання
-HTTP layer: Play framework, akka-http, sttp, http4s
-Бібліотеки для взаємодії з БД: slick, doobie
-БД: PostgreSQL, TimescaleDB, Elasticsearch
-CI/CD: GitOps с использованием GitlabCI, ArgoCD, Docker, Helm и Kubernetes в Google Cloud
-Моніторинг: Kamon, Prometheus, Grafana, Kibana

Чому з’явилася вакансія:
Наш проект росте і ми знаходимось у постійному пошуку досвідчених інженерів для підсилення команди.

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

Буде перевагою:
-досвід роботи у фінтех проекті

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

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

Наш продакт інжиніринговий підхід в EVO:
ми подуктова команда, для нас важливо, щоб розробники були продуктово орієнтованими. Це означає, що розробник не просто викогує поставлену задачу, а розуміє проблеми бізнеса. Може самостійно запропонувати більш оптимальне рішення, якщо таке існує або показати, що ця задача не має цінності.

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

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 15 November 2020

Look at the current jobs Scala Kyiv→