Position: Android developer
Company: 5Pro Software
Category: Android
Experience: 1y
English level: intermediate

Команда 5Pro Software займається розробкою та підтримкою програмних рішень для бізнес-клієнтів з США, ЄС та інших регіонів, включаючи healthcare рішення (наприклад, speech-to-text додаток для створення медичної документації), bugtracking системи з власним sdk для запису та стримінгу відео з мобільного пристрою, додаток для гравців та тренерів з гольфу, accessibility рішення для оптимізації мобільних додатків/інтерфейсів для людей з особливим потребами, та ряд інших проектів.

Робота команди Android розробки зводиться до виконання завдань по проектуванню та створенню нативних Android додатків для вищезгаданих систем. Зазвичай, із цими системами потрібно спілкуватися за допомогою RESTful API. Водночас, самі Android додатки ми розробляємо з використанням фреймворку Kotlin.

Основний стек, який зазвичай використовується нами при розробці Android додатків, також включає:

- AndroidX бібліотеки (Navigation components, WorkManager, etc.)
- Паттерн проектування MVVM 
- Dagger-Hilt
- Kotlin coroutines
- Retrofit
- Room 

Крім вищеперелічених технологій, можуть використовуватись також й інші інструменти, залежно від специфіки задач, цілей проекту, архітектури системи та зрештою функціоналу додатку.

Також часто виникає потреба в інтеграції зовнішніх сервісів, зокрема API/сервісів Google Cloud Platform та Firebase, а також інших 3rd party сервісів, наприклад платіжних систем тощо. Також є проекти, котрі через Bluetooth з’єднання інтегруються із специфічними периферійними пристроями, наприклад розумною поштовою вагою.

На більшості проектів часто використовуються досить унікальні та, водночас, доволі актуальні для ринку технології. Задачі, зазвичай, складні та цікаві.

Практично завжди виділяється достатньо часу для дослідження і вивчення речей, котрі будуть необхідні як для вирішення конкретної задачі так і для роботи загалом — тому дефіциту нових знань тут немає точно — скоріше навпаки.

В силу продуктової орієнтованості компанії майже завжди є можливість повпливати як на вибір технологій так і на організацію процесу загалом — все обговорюється і робота будується не заради власне процесу, а для досягнення результату.

Зрозуміло, ніхто не очікує, що ви з першого ж дня самі зможете включитися в складний проект і відразу швидко та ефективно виконувати всі завдання, так наче працювали на цьому проекті з самого початку.

Ми не кидаємо джуніорів «в воду» проекту, сподіваючись, що вони як-небудь «випливуть» самі. Навпаки — з самого початку за вами буде закріплений ментор, який буде «вводити в суть справи» і підтримуватиме на всіх етапах роботи.

Перш за все, на початку роботи в нашй команді від Вас ми очікуємо грунтовні знання Kotlin та Android SDK, архітектури Android, а також принципів побудови Android додатків.

До речі, допомагати вам буде не лише ментор — ви завжди можете розраховувати на підтримку й інших членів команди (це частина нашої внутрішньої культури).
Також на регулярній основі в нас проводиться review проробленої роботи.

При цьому у нас немає безглуздого мікроменеджменту й автоматичних тайм-трекерів: важливим є результат роботи співробітника, а не щохвилинний контроль за ним.
І взагалі, ми — нормальні й адекватні (а ще, мабуть, скромні, але це неточно :) )

**Як ми працюємо?**

Працюємо командами 3-5-8 людей, за технологією Scrum: в залежності від проекту це 1-2 Android розробники, 1-2 backend розробники, 1-2 iOS, 1-2 frontend, 1-2 QA & Support, Scrum Master / Project Manager.

Водночас кожен учасник команди має шанс впливати на проект в цілому, пропонувати свої рішення.

У нас немає ситуацій, що тімлід говорить: «Робимо ось так і тільки так». Усе якраз навпаки — під кожен проект намагаємося підібрати саме ті технологічні рішення, які найкраще сприятимуть розв’язанню конкретної задачі.

Ви зможете озвучувати й аргументувати своє бачення вибору рішень та підходів для виконання цілей проекту.

До речі, у низці наших проектів ми в підсумку використовували технології, запропонованих саме джуніорами.

Також є команди для review і обміну досвідом за кожним технологічним напрямком: Android, iOS, Restfull API/Backend, Frontend, QA&Support.

**Над якими проектами ми працюємо?**

Ми продуктова компанія. У нас не буває проектів із серії «пиляємо якусь нікому не потрібну фігню». Усі продукти, які створюємо, приносять реальну бізнес-вигоду нашим клієнтам.

Кілька прикладів наших проектів:

— Система корпоративного конференц-зв’язку для середніх та великих корпорацій.

— Accessibility рішення - додаток що дозволяє слати звіти/запити в сервіс підтримки якщо користувач стикнувся з відсутністю accessibility (підтримкою людей з особливими потребами) у інших мобільних аппках чи веб інтерфейсах. Дозволяє отримувати також актуальну інформацію/новини/рекомендації по застосуванню accessibility у мобільних додатках та веб інтерфейсах.

— Додаток для bugtracking системи. Поєднує технологію web wrapper та ряд нативних функцій. Дозволяє швидко та зручно реєструвати у bugtracking систему findings, котрі було знайдено в процесі тестування інших мобільних додатків

— Бібліотека/SDK для запису та стримінгу відео з екрану смартфону. Дану бібліотеку можна підключати у будь-які Андроїд проекти, щоб таким чином спрощувати процес тестування та баг репортингу. На рівні серверної частини/бекофісу інтегрована з вищезгаданою bugtracking системою.

— Додаток для тренерів та гравців у гольф. Дозволяє гравцю вести власну статистику, отримувати навчальні матеріали, відеоуроки, та допомогу/консультації від тренерів, дає можливісь чату між гравцем та тренером, дає можливість завантажувати та редагувати відео з гри, дозволяє відслідковувати процес гри, зокрема за допомогою супутникового зображення поля для гольфу з даними про лунки, відстані до них тощо

— Speech-to-text додаток. Дозволяє вести запис та у live режимі конвертувати його у текст та формувати таким чином документи. Конвертація відбувається на сервері, з яким додаток комунікує по REST API. Дозволяє також редагувати текст, зберігати документи в PDF, додавати підпис тощо

— Додаток та бекенд для розумного диспенсера мила, для клінінгових служб підприємств і бізнес-центрів — наш невеликий внесок в збереження довкілля, який допомагає використовувати у 2-3 рази менше мийних засобів і зменшує в два рази витрати на транспортування контейнерів з милом.

**Які технології використовуємо?**

Обов’язково потрібно володіти:
— Kotlin
— Android SDK
— Object-Oriented Design, Programming principles, and patterns
— Android OS/platform Architecture
— Android UI principles, Material design

А також буде перевагою, якщо ви знайомі з ось цими технологіями:
— RESTful API
— MVVM
— AndroidX libraries
— Dagger, Hilt
— Kotlin coroutines
— Retrofit
— Room 
— Google Cloud Platform, Firebase API/services
— Git або аналогічна система керування версіями

**Формат роботи**

Віддалено або в офісі у Львові, залежно від бажання, поточної ситуації в країні та місця перебування. Усі потрібні для роботи сервіси та участь у всіх процесах доступні віддалено.

Випробувальний термін 3 місяці, рев’ю — щомісяця. Основна мета випробувального терміну — зрозуміти, чи підходимо ми один одному. Прагнемо не просто «закрити вакансію», а зрозуміти, чи буде вам комфортно працювати в нашому колективі і з нашими проектами та навпаки.

Як правило, у нас йде паралельна розробка 5-7 продуктів. Під час випробувального терміну ви встигнете ознайомитися з 1-2 продуктами, попрацювати з ментором і в своїй технологічній команді (Android), познайомитися з нашим колективом — зрозуміти, хто ми і що ми є.

Основна мета цієї процедури — збагнути, чи готові ми «грати один з одним у довгострокову» — саме так, як ми звикли працювати з усіма колегами.

Що зазвичай відбувається після того, як ви відправляєте нам своє резюме?
1. Наш рекрутер переглядає ваше резюме щодо відповідності власне вакансії. Якщо все ОК, то ми узгоджуємо з вами час співбесіди.
2. Рекрутер проводить з вами коротке інтерв’ю, під час якого ставить базові питання, що допомагають краще підготувати основну технічну співбесіду. Плюс звіряємо з вами наші очікування один від одного.
3. Технічна співбесіда з нашими фахівцями, допоможе краще зрозуміти ваш поточний рівень , більш детально обговорити як ваш досвід роботи, так і ті завдання, які належить виконувати у нас.
4. Якщо ви пройшли технічну співбесіду, то останній етап — тестове завдання. Важливий нюанс — сприймаємо тестове завдання фактично як початок випробувального терміну, тому оплачуємо вам час, витрачений на виконання цього завдання.
За результатами виконаного завдання приймаємо остаточне рішення.

Отже, якщо те, що ви дізналися про діяльність нашої компанії (а намагалися ми це зробити максимально вичерпно), вас зацікавило і вам близький наш підхід до роботи, надішліть своє резюме — ми з вами зв’яжемося.