Position: Senior Android Developer (Kotlin, Room)
Company: Revolut
Experience required: 3y
English level: upper

Links:
https://www.wowapp.com/
https://play.google.com/store/apps/details?id=com.woow.talk&hl=ru&gl=US

WowApp is the application realizing the vision of Wowism. Wowism is an economic system in which most of the economic benefit is shared with the community. The community in turn shares in order to do good in the world. 

We are a growing team of globally distributed individuals who are driven by a desire to build world class applications that will touch the lives of millions of people in a positive way. We use the latest technologies and always stay ahead of the curve with the newest trends. 

As a Senior Developer, you will research, design, and implement all aspects of the mobile platform and supporting systems. This involves a variety of skills including object-oriented design, mobile development, and performance analysis and optimization. This is a great role for developers looking for a challenging project to gain valuable experience and work on cutting edge technology.

About the company:
Company started in 2012
Head office is located in Bucharest
70+ employees (30 tech people)
Team members: Java backend, C++ for desktop, Android, IOS, Front-end, QAs, Business Analytics, Product Owner, Marketing, Support, Support etc.
8 million registered, 200k monthly active users  (mostly in Asia region)

Key Areas of Responsibility:
Design and build advanced applications for the Android platform in Java and Kotlin
Work with outside data sources and APIs
Work on bug fixing and improving application performance
Development and maintenance of native Android applications
Development of complex UI and functionality features
Be available on WowApp 100% of the work time
Demonstrate accurate reporting on progress and time tracking
Take initiative independently, involving the Tech Lead only on major decisions
Communicate directly with other team members
Own specific areas in a project - expected to take best architecture and performance decisions.


Qualifications:
At least five years of Android development experience (at least 6 months experience with Kotlin)
Excellent knowledge of programming paradigms
Ability to work with minimal supervision.
Great attention to detail
Excellent problem-solving skills.
Ability to meet deadlines.
Ability to work in a team.
Excellent English skills (written and spoken)
Knowledge of latest generation apps (usage, flows and UI effects)
Excellent understanding of animations and navigation flows
Strong SQL Knowledge (Room DB)
Strong knowledge of Object-Oriented concepts
Experience working with remote data via REST and JSON.
Experience with third-party libraries and APIs
Passionate about delivering world-class user experiences on mobile devices.

What we will offer:
Salary 4500$ Gross (could be discusable according to individual level)
Full time (40 hour per week), totally remote contract job
Working hours 10.00 - 19.00 EEST
21 days paid vacation and paid sick leaves
Working with the high potential product on the market domain
Working on projects that target millions of potential users
Working remotely from anywhere you like

Recruitment process:
HR screen Call (recruiter)
Home task 4-8 hours (Team)
Technical Interview (Team)
Final Interview (CTO+HR)
Offer (HR)

Other related questions:
How long are you on kotlin? 
We have been using Kotlin for about 1 year now and the goal is to migrate the entire codebase to Kotlin.

What is the ratio of the whole android code base java/kotlin? 
90/10 at the moment but we are working towards 100% Kotlin

Do you have or plan to use kotlin coroutines? 
Coroutines are already used in some features developed

What is the ratio between new features development and bug fixing? 
We develop features all the time but each release includes bug fixes.

How many android devs you are currently having? 
1 Senior developer

Do you already have time tracking tools? 
Jira

Who are other team mates to communicate with? testing tools and approaches?
She has been with the project since inception. We have automation testing and we employ Kanban based approach. Each developer has their own dedicated functional QA tester.

What are the CI/CD tools and overall involvement into these processes from the devs side?
Build tools are Jenkins. Android Team works together to come up with processes and procedures that can improve the development process after each build, we have automation tests which are run to ensure build quality, but it is not classic CI or CD