As an Android Developer, take your passion for crafting exceptional apps to the next level. In this position, you will independently develop features and improve our native applications. Your contributions will shape the way our users interact with our products every day. You’ll be collaborating closely with a talented team, turning creative ideas into elegant solutions, and ensuring high standards of code quality and application performance. This role is perfect for someone with a couple of years of experience looking to exert more influence on project outcomes and take ownership of their work.
We provide a highly international and collaborative environment, emphasizing the talent and development of employees. Our product teams are genuinely cross-functional - design, engineering, data, and product work closely to build excellent products. This is your opportunity to work with a world-class team. Join us in shaping the future of real estate.
Key Responsibilities
Develop new user-facing features using Kotlin, Jetpack Compose, and Coroutines
Optimise app performance and implement reusable components
Write clean, maintainable code and ensure technical best practices are followed
Participate in code reviews, troubleshoot issues, and identify areas for improvement
Collaborate with product management and designers on features and ideas
Work closely with product management and design to translate requirements into technical specs
Own performance benchmarking, monitoring and optimization
Desired Qualifications
3+ years experience as an Android developer
Proficiency with Kotlin, Jetpack Compose, and Coroutines
Strong understanding of app standards, UI/UX best practices, and accessibility in apps
Ability to understand business requirements and translate them into technical implementation
Self-directed, analytical, highly responsible, and a team player
Strong verbal and written communication skills (English)
Other Capabilities
Computer Science Degree (or similar education)
Strong understanding of CI/CD, with tools such as Azure DevOps, Bitrise or GitHub Actions
Experience with A/B Testing and Feature Flags
Desired Candidate Profile
Proficiency in Java and Kotlin
Java: Historically, Java has been the primary language for Android development. It is still widely used for legacy applications and provides a strong foundation for Android development.
Kotlin: Kotlin is now the preferred language for Android development due to its modern syntax, concise code, and better integration with Android APIs.
Android SDK and APIs
In-depth knowledge of the Android Software Development Kit (SDK) and its various libraries and tools.
Familiarity with key Android components like Activities, Fragments, Views, and Services.
UI/UX Design for Mobile Apps
Expertise in designing user interfaces using XML and tools like Android Studio’s Layout Editor.
Implementing Material Design principles and ensuring a responsive, intuitive, and consistent user experience across different screen sizes and devices.
Android Frameworks and Libraries
Familiarity with Android libraries and frameworks such as Jetpack (for lifecycle management, UI components, and data storage), Room (for database access), Retrofit (for API calls), and Glide/Picasso (for image loading).
Experience with RxJava or LiveData for managing asynchronous programming and event handling.
Database Management
Knowledge of SQLite for local storage and understanding how to implement databases for offline functionality.
Experience with Room or Realm for more modern, object-oriented data storage solutions.
Version Control and Collaboration
Proficiency in using Git for version control and collaboration. Familiarity with platforms like GitHub or GitLab for code sharing and team collaboration.
Android Debugging and Testing
Familiarity with Android Debugging tools and techniques to troubleshoot and resolve issues efficiently.
Experience with unit testing and UI testing frameworks like JUnit, Espresso, and Mockito.
APIs and Networking
Integrating third-party APIs and web services using technologies such as RESTful APIs, JSON, and OAuth for authentication.
Knowledge of Retrofit and OkHttp for networking tasks.
Performance Optimization
Ability to optimize applications for performance, ensuring fast load times, low memory usage, and battery efficiency.
Familiarity with Android profiling tools like Android Profiler and LeakCanary for memory leak detection.
Familiarity with Android Studio and Tools
Proficient in using Android Studio, the official integrated development environment (IDE) for Android development.
Experience with tools such as Android Emulator, Gradle, and Firebase for building, testing, and deploying apps.