Про роботу
EVO — українська продуктова IT-компанія.
Наші проекти: Prom.ua, Bigl.ua, Crafta.ua, Zakupki.prom.ua, Kabanchik.ua, Вчасно, Shafa, Rozetka.Travel, Izi.ua.
На даний момент ми формуємо фін.компанію всередині EVO — величезний екосистемний продукт, який включає свою платіжку, кредитування, наскрізний гаманець (це найближчі плани, далі — більше).
Що вже зараз є в нашому финтеху:
Команди розробки — core team, wallet team, evoid team, credit team, кожна відповідає за одну з частин Фінтех-напрямку, і це далеко не все).
Пройдений шлях з точки 0 в точку 1, що дуже спрощує розвиток подальших етапів.
Налаштовані зв’язки (як на технічному рівні, так і на комунікаційному) між внутрішніми клієнтами та споживачами наших сервісів.
Перші реальні результати, якими пишаємося.
Глобальна ідея і мета команди:
Створення фундаменту для розвитку однієї з найбільших екосистем в Україні:
Розробка інфраструктури та набору сервісів для роботи з сутністю «користувач» і його можливої ідентифікацією (ID, AUTH, Identification Service, DWH, Antifraud Service тощо).
Розробка мікросервісів, здатних принципово змінювати і покращувати призначений для користувача досвід.
Проект розпочався рік тому з нуля, і зараз використовуються такі технології:
go, grpc, sqlc;
Postgresql, Redis, RabbitMQ;
temporal (orchestrator для бэкенда viber-бота);
та будь-яка технологія, яку ми вважаємо за потрібну для використання.
Нам дуже важливі якість і гнучкість, тому ми використовуємо:
Мікросервісний підхід до розробки.
Обов’язковий код рев’ю.
Покриття тестами і метриками.
Відповідність стандартам якості коду.
Супровід та відповідальність за фичи після викочування на продакшен.
Взаємна повага і якісна комунікація.
Для цієї ролі важливо:
5+ років досвіду індустріального програмування з проектами середнього/великого розміру;
3+ року використання go або ж просто добре розуміння технології та досвід використання go в продакшені;
досвід конкурентного програмування на будь-якій мові — важливе розуміння, які є підходи, і навіщо це потрібно в цілому;
досвід використання будь-яких SQL та NoSQL рішень, і розуміння причин використання кожного в конкретному випадку (наприклад, чому MongoDB замість Postgres, або чому Postgres замість Cassandra);
досвід профілювання додатків, написаних на будь-якій мові, використання метрик + досвід усунення «performance bottleneck»;
впевнені аналітичні здібності — необхідно буде не просто робити фичи за описом, але продумувати функціонал починаючи від неформалізованих вимог, вибирати найбільш відповідне рішення і реалізовувати його;
розуміння принципів SOLID, DRY, KISS, їх необхідність, і важливість «чистоти» коду в цілому;
вміння взаємодіяти в команді — не просто абстрактне «team player» але реальне вміння (досвід) знаходити компроміс в спірних моментах, і завжди бути відкритим до обговорення;
Продакт інжиніринговий підхід: Команда продуктова, тому нам важливо, щоб розробник був продуктово орієнтований. Це означає, що розробник не просто виконує поставлене завдання, а розуміє проблеми бізнесу, які вирішує це завдання, і може запропонувати більш оптимальне рішення, якщо таке існує, або показати, що ця задача не має цінності.
В основному всі завдання команди націлені на:
тісну інтеграцію з платіжними інструментами (гаманець, платіжна система, кредитний продукт);
рішення для наскрізної безшовної аутентифікації в проекти групи та авторизації в гаманець;
сервіс обробки і збору даних користувача;
інтеграція з зовнішніми джерелами відкритих даних (youscore, dataocean, НБУ тощо);
побудова користувальницького DWH.
Чим цікаві ці завдання з технічного боку:
Відсутністю legacy, новий проект.
Можливістю гнучко вибирати технології та підходи розробки.
Використанням сучасних технологій для забезпечення стабільності і безпеки сервісів.
Проектуванням сервісів з урахуванням вимог зовнішніх інтеграцій.
Інтеграція з продуктами з величезною користувальницької базою та навантаженням.
Як у нас проходить підбір та співбесіди:
Ваше резюме розглянуть технічні фахівці. Якщо воно буде схвалене, ми домовимося щодо онлайн-знайомства. Ми обговоримо проект, ваш досвід і ваші цілі, після чого разом вирішимо, чи продовжимо спілкування на технічній співбесіді. Після кожного етапу ми надаємо зворотний зв’язок протягом 24 годин.