Senior Mobile Developer (Android)
Porto
Job description
As an
Android Developer, you will create exceptional native experiences with the
latest e-commerce tech stack while making sure the quality of the product is
world-class. In our team’s words: “the work is a bit like a gourmet cuisine;
the app is crafted to the utmost software development standards to deliver an
exquisite experience presented in a pleasing fashion.”
You
will team up with talented Android, iOS and Quality Assurance engineers who are
amazing contributors, thrive in challenging environments and organise
breathtaking get-togethers.
On top
of that, you will contribute to building an app with over 10M+ downloads, which
was featured at the Google I/O 2019 Developer Keynote, several other
initiatives and in their case studies too. Its codebase uses Arch Components
(ViewModel, LiveData, Room etc.), and the development approach is Kotlin first,
RxJava & Coroutines with Agile frameworks: Scrum and Kanban.
What will you be doing
· Discuss technical
architecture and design;
· Develop and maintain
features by collaborating with the client as one single team;
· Writing testable code
and ensuring the test coverage stays at the agreed level;
· Documenting your code;
· Take ownership of your
code every step of the way – from development to deployment and maintenance;
· Mentoring junior
engineers;
· Diagnose issues in
production and devise solutions for them;
· Work both autonomously
and collaboratively to complete tasks;
· Be an integral part of
solutions design and implementation.
Requirements
You
rock at
· Kotlin (Kotlin
Multiplaform is a plus);
· Jetpack Compose
(Compose Multiplatform is a plus)
· Coroutines (or
RxJava);
· Software Architecture
(MVVM or similar);
· Unit testing and UI
tests;
· Being self-driven and
working with little supervision towards a common team or company purpose;
· Having a passion for
quality and strong attention to detail;
· Creating fluid visual
interactions, creating and implementing mobile user experience patterns.
You are good at
· Working as part of a
smaller cross-functional and feature-focused team;
· Collaborating directly
with the client to ensure the technical feasibility of the requirements;
· Service-oriented
architectures, design patterns and data structures;
· Test-driven
development and continuous delivery;
· Metrics, performance,
and operational aspects, which show you care about your code.