Android Studio (regular)
How does our Android team work?
A lot depends on the team, but we do have some common practices that we follow :
Source code is analysed with linter (ktlint or detekt),
Any changes to the code are submitted via PRs,
Each PR has to be reviewed by at least one other developer,
We write both unit & UI tests,
We have CI / CD set up, that runs lint, unit and UI tests and deploys an application to distribution automatically,
We do pair programming / cross-project reviews from time to time,
Designs are well-prepared beforehand by professional designers,
Business functionalities are tested by our own QAs .
We’ll be more than happy if you :
Have deep knowledge of the Android ecosystem,
Have good knowledge of Kotlin and Android Jetpack libraries,
Understand various design patterns and app architectures,
Have knowledge about memory management, multi-threading and caching,
Have knowledge about asynchronous programming and experience in Coroutines or Reactive Extensions (Rx) techniques,
Have grounded knowledge of REST API and WebSockets,
Have an understanding of dependency injection and have experience in one of the DI libraries for Android (dagger, hilt, koin),
Have experience in writing unit and UI tests,
Have communicative English (min. B2),
Are a strong team player with empathy & drive to improve,
Are good at knowledge sharing, with the ability to mentor others,
Possess a great product sense.
have experience in leading projects in a mobile team with prototyping, architecting, coding, testing, and releasing.
it will also be great!
Don't hesitate to apply, even if you don't meet these requirements fully. We will support you in learning and catching up.
You will be responsible for :
Managing the full technical life-cycle of Android applications during each development phase,
Communicating with a team of developers, designers, project managers, and other team members to ship new features,
Performing individual project components within the entire development lifecycle including implementation, testing, deployment and maintenance,
Working from UI / UX requirements, APIs, mockups to build functional, high-performance Android apps,
Diagnosing performance issues and fixing bugs to increase the functionality of new applications,
Documenting and maintaining design specifications, source code, and archives for new applications and ideas,
Following best practices for writing, reviewing and deploying good quality code.
What does the recruitment process look like?
Video interview with People Team.
A technical challenge - an interview with a team or live coding, or a task.
If any other step of the recruitment process is necessary, we will inform you.
And finally, the decision, after which we can say welcome on board."