See you @our Android team
Join AppUnite and become a member of our Android team!
Not only that, but you’ll also become part of one of our product teams. We’re organised in this way because we believe that this allows all our different kinds of teams to positively influence each other. Experiences we have while working for our clients can be transferred to other products via platform teams while accelerating our own individual development as well.
As an Android team, we care about ideas being spread among our members. We want the great practices, knowledge about tools and solutions worked out by one developer or product team to be passed along and adopted by other teams. However, we also want our product teams to have autonomy over the decisions they make because they are the ones who have the best context about their clients’ business needs.
Once you join us you’ll quickly familiarize yourself with the whole team thanks to the watercooler meetings we regularly have to keep in touch with each other.
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.
If you …
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."