Senior Android Engineer
Role details
Job location
Tech stack
Job description
As an engineer on our Android team, you'll build and ship features across Proton's suite of Android applications, working closely with product and engineering teams to define what "great" means on the Android platform. Quality is a core expectation: you'll help maintain and expand our testing stack, including unit tests for business logic, API-stubbed pseudo-integration tests, UI snapshot coverage, and end-to-end tests. What you'll do
Develop and maintain cross-platform mobile applications for Android using a blend of cross-platform (Rust) and native technologies (Kotlin) Take end-to-end ownership of mobile application development projects: you'll be comfortable with scoping projects, walking back from deadlines and discerning the important from the superfluous Foster a culture of innovation by exploring new technologies, methodologies and approaches to mobile development - we tackle complex engineering challenges with creativity and ingenuity Optimise mobile applications for performance, usability and responsiveness across different devices and screen sizes Master memory management, multithreading and concurrency mechanisms to enhance performance and responsiveness of mobile applications Design for scalability, considering factors such as data caching, network bandwidth and server load Prioritise customer satisfaction by maintaining a customer-centric mindset throughout the development process, continuously seeking feedback and iterating to improve the user experience Build and optimise push notification flows using FCM and Android notification channels to deliver timely, reliable notifications while respecting modern background and battery constraints Experience with local data storage and sync (Room/SQLite or equivalent) for offline-capable apps
Requirements
Bachelor's degree in Computer Science, Engineering or related field (or equivalent work experience) Excellent problem-solving skills and the ability to think outside the box to overcome challenges Passion for continuous learning and driving change in the rapidly evolving field of mobile development Excellent communication and interpersonal skills Proven experience developing mobile applications for Android using Kotlin as well as cross-platform technologies Proficiency with Jetpack Compose for Android, and familiarity with Rust Strong understanding of mobile app architecture, design patterns and best practices Knowledge of memory management techniques and best practices Experience with multithreading and concurrency in mobile applications Good understanding of scalability considerations when it comes to engineering mobile applications Previous experience working in a fast-paced, scale-up environment