Software Engineer (React Native / React)
💬 Привіт! Ми — Uptech, міжнародна компанія з розробки програмного забезпечення, що співпрацює зі стартапами та відомими бізнесами з США та Європи. Продукти та ідеї надихають нас, тож ми будуємо їх самостійно та допомагаємо нашим клієнтам запустити проєкти, що позитивно впливають на життя людей.
За десять років ми створили понад 150 продуктів, серед яких Dollar-Shave Club, Goat і Aspiration. Наша RnD команда запустила 7 успішних стартапів, серед них: Plai, Sommo, та Rozmova.
Ми шукаємо Software Engineer (React Native / React), який приєднається до американської компанії, що розвиває лінійку цифрових продуктів у сфері медичного страхування.
Першим завданням стане міграція існуючого Flutter-застосунку на React Native. Після успішного завершення цього етапу ви продовжите розвивати основні продукти: реалізовувати новий функціонал, покращувати якість застосунку та працювати у тісній співпраці з командою розробки клієнта.
Необхідні навички:
- Комерційний досвід розробки мобільних застосунків від 5 років, з них від 3 років із React Native
- Upper-Intermediate English або вище для щоденної комунікації з клієнтом.
- Відмінне знання React Native, React, TypeScript та сучасного JavaScript (ES6+)
- Досвід проєктування архітектури мобільних застосунків та побудови масштабованих рішень
- Впевнене володіння Redux Toolkit, Redux, Context API та сучасними підходами до керування станом
- Досвід роботи з React Navigation
- Розуміння принципів роботи мобільних платформ iOS та Android, їх особливостей і відмінностей
- Досвід інтеграції з REST API, знання Axios або аналогічних бібліотек, розуміння принципів авторизації (JWT, OAuth)
- Досвід оптимізації продуктивності застосунків, профілювання, дебагінгу та усунення витоків пам‘яті
- Вміння писати чистий, підтримуваний та добре структурований код відповідно до принципів SOLID, DRY, KISS
- Досвід роботи з Git, code review та командною розробкою
- Розуміння процесу публікації застосунків в App Store та Google Play
- Досвід роботи з бібліотеками для роботи з асинхронними даними (React Query / TanStack Query або аналогами)
- Досвід налаштування та підтримки CI/CD для мобільних застосунків
- Досвід роботи з системами моніторингу та аналітики (Sentry, Firebase Crashlytics, Firebase Analytics або аналогами)
- Вміння оцінювати задачі, приймати технічні рішення та брати участь у проєктуванні нової функціональності
Буде плюсом:
- Досвід роботи з React Native New Architecture (Fabric, TurboModules, JSI)
- Досвід написання нативних модулів на Swift/Objective-C або Kotlin/Java
- Досвід написання unit, integration та end-to-end тестів (Jest, React Native Testing Library, Detox)
- Досвід роботи з GraphQL (Apollo, Relay)
- Досвід використання Fastlane, GitHub Actions, CircleCI, Bitrise або інших CI/CD платформ
- Досвід роботи з OTA-оновленнями (CodePush, Expo Updates)
Твої задачі:
- Міграція застосунку (головна задача): повний перевід існуючого мобільного застосунку з Flutter на React Native.
- Розвиток та підтримка продуктів: після міграції — робота над задачами для основних продуктів, виправлення багів (bug fixes) та написання автоматизованих тестів.
- Якість коду та архітектура: написання чистого, добре спроєктованого коду. Аналіз вимог, дослідження способів реалізації та прийняття рішень на основі бізнес-потреб.
- Комунікація: пряма взаємодія з клієнтом, а також ефективна співпраця з іншими розробниками, дизайнерами та менеджерами.
- Графік роботи: Гнучкий графік з обов’язковим перетином з командою з 19:00 до 21:00 (щоденний мітинг / daily проходить о 20:00). Решту робочих годин ви можете розподіляти повністю на власний розсуд.
Originally posted on Himalayas