We seek an Android Engineer with strong technical skills and creativity to join our dynamic team. You will be part of a fast-paced, small-team environment, working closely with designers, product owners, QA, and engineers to develop and improve features on mobile applications. This role offers the unique opportunity to work on innovative technologies within the stability of a Fortune 100 company. We would love to hear from you if you are passionate about user experience, writing beautiful code, and sharing your ideas.
Qualifications
- Proven experience in building Android applications.
- Proficiency in writing and maintaining code.
- Familiarity with build tools such as Gradle, GitHub Actions, and Circle CI.
- Understanding of continuous integration patterns.
- Strong skills in finding and fixing bugs.
- Knowledge of asynchronous coding patterns.
- Expertise in performance analysis and optimization.
- Experience dealing with legacy code.
- Ability to write unit and integration tests.
- Active participation in open-source projects.
- Experience working in a globally distributed team.
- Self-starter with excellent time management skills.
- Ability to integrate with bespoke, lovingly hand-crafted backend services from the days of yore.
- Competence in designing solutions for open-ended problems.
- Bachelor’s degree in Computer Science or a related field or equivalent experience.
As an Android Engineer, you will:
Collaborate with a small team of designers, product owners, QA, and engineers to develop and improve mobile application features.
Utilize Jetpack Compose to create modern, responsive user interfaces.
Implement the MVI architecture for building robust and scalable applications.
Integrate and work with REST APIs using OkHttp and RAML API documentation.
Leverage dependency injection with Dagger to build maintainable and testable code.
Write efficient and clean code using Kotlin, Coroutines, and Flow.
Utilize RxJava for reactive programming.
Automate workflows and ensure code quality with GitHub Actions and Circle CI.
Conduct testing using Espresso and JUnit to ensure application stability and performance.
Create test fakes and use WireMock to simulate backend services during testing.
Rapidly iterate on ideas and solutions, even with some ambiguity, to achieve the best outcomes.
Perform performance analysis and optimization to ensure smooth and efficient application performance.
Troubleshoot and resolve issues, maintaining a high level of code quality and application performance.
Any gradudate