Software Engineer with interest in Scala (новий проект) (offline)

EVO Ukrainian Product 🇺🇦
Чому з'явилася вакансія:
Ми шукаємо хорошого інженера з production досвідом на функціональній мові (Erlang, Rust, Haskell, etc) або з будь-якою JVM-based мовою і пропонуємо писати на Scala в функціональному стилі.

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

Про команду:
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

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

Чим цікаві ці задачі з технічного боку:
-Відсутністю legacy, новий проект
-Можливістю гнучко обирати технології та підходи розробки
-Використанням сучасних технологій для забезпечення стабільності і безпеки сервісів
-Проектуванням сервісів з урахуванням вимог зовнішніх інтеграцій
Що важливо для цієї ролі:
-Володіння навичками розробки та підтримки розподілених додатків
-Розуміння принципів роботи СУБД і досвід використання хоча б однієї з них
-Досвід або бажання розібратися в тому як писати на Scala в pure FP стилі
-Прагнення покривати код тестами
-Відсутність страху перед різноманітністю бібліотек і підходів до проектування додатків
-буде плюсом - досвід роботи в Фінтех проект (банку, платіжній системі)

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

На технічній співбесіді з вами нам хотілося б обговорити:
-Scala core and pure FP
-JVM memory and thread model
-Data structures and patterns for concurrent and parallel computing in Scala
Як у нас проходить підбір на дану позицію?
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, Izi, Rozetka Travel
**********************************************
Про технічний департамент в EVO:

Основні мови програмування, які ми використовуємо це Python 3.8 (моноліт + сервіси на 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
Мови: 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 21 November 2020

Look at the current jobs Scala Remote→