Senior Mobile App Developer
Verifone
Why Verifone
For more than 30 years Verifone has established a remarkable record of leadership in the electronic payment technology industry. Verifone has one of the leading electronic payment solutions brands and is one of the largest providers of electronic payment systems worldwide.
Verifone has a diverse, dynamic and fast paced work environment in which employees are focused on results and have opportunities to excel. We take pride in the fact that we work with leading retailers, merchants, banks, and third-party partners to invent and deliver innovative payments solution around the world. We strive for excellence in our products and services and are obsessed with customer happiness. Across the globe, Verifone employees are leading the payments industry through experience, innovation, and an ambitious spirit. Whether it’s developing the next platform of secure payment systems or searching for new ways to bring electronic payments to new markets, the team at Verifone is dedicated to the success of our customers, partners and investors. It is this passion for innovation that drives each one of our employees for personal and professional success.
About the role
Senior Software Engineer specializing in Android mobile application development with a strong focus on Kotlin and system-level services. The ideal candidate will possess deep technical expertise in building and optimizing robust, scalable, and high-performance Android applications, working extensively with Kotlin as a system service. This role requires a strong understanding of Android OS internals and a proven ability to design and implement complex, non-UI-centric mobile solutions. Awareness of iOS development practices and Kotlin Multiplatform (KMP) is a significant advantage.
What you’ll do:
- Software Design and Development on Android based electronic payment devices.
- Design, develop, and maintain high-quality, efficient, and reusable Kotlin code for Android applications, with a primary focus on system-level services, background processing, and core functionalities.
- Work extensively with Android SDKs and frameworks, diving deep into system-level components and processes to deliver optimized mobile solutions.
- Develop and support Android SDKs and libraries for internal and external use.
- Collaborate closely with cross-functional teams, including backend developers, product managers, and other engineers, to define, design, and ship new features and services.
- Architect and implement robust solutions for background tasks, data management, network communication, and system integrations within the Android environment.
- Identify and resolve performance bottlenecks, memory leaks, and other system-level issues to ensure application stability and responsiveness.
- Contribute to the design and architecture of mobile applications, focusing on scalability, maintainability, and adherence to best practices in system-level development.
- Write comprehensive unit tests and contribute to automated testing frameworks to ensure code quality and reliability.
- Participate in code reviews, providing constructive feedback to peers to maintain high development standards.
- Stay up-to-date with the latest advancements in Android development, Kotlin, system services, and related technologies, including an awareness of iOS development paradigms and Kotlin Multiplatform (KMP) advancements.
- Troubleshoot and debug complex issues across different Android versions and devices.
- Contribute to technical documentation related to system architecture, design, and implementation.
What qualifications will you need to be successful?
- Bachelor's or Master's degree in Computer Science, Engineering, or a related technical field.
- 5+ years of professional experience in native Android application development.
- Strong proficiency in Kotlin programming, with proven experience in developing system services, background tasks, and libraries.
- In-depth knowledge of the Android SDK, different versions of Android, and Android architecture components.
- Experience with Android framework internals, inter-process communication (IPC), and system-level APIs.
- Solid understanding of software design patterns (e.g., MVVM, MVP, Clean Architecture) and their application in system-level development.
- Experience with multithreading, concurrency, and performance optimization techniques in Android.
- Proficient in using Android Studio, Gradle, and other relevant development tools.
- Experience with RESTful APIs, MQTT, JSON, and integrating with backend services.
- Strong understanding of Git and version control best practices.
- Excellent problem-solving, analytical, and debugging skills.
- Ability to work independently and as part of a collaborative team in a fast-paced environment.
- Strong verbal and written communication skills.
- Awareness of iOS development concepts and lifecycle.
- Familiarity with Kotlin Multiplatform (KMP) concepts and potential applications.
Desired Experience:
- Experience with Android NDK and C/C++ development.
- Experience with security best practices in mobile application development.
- Familiarity with CI/CD pipelines and related tools (e.g., Jenkins, GitLab CI).
- Contributions to open-source projects or a strong portfolio of relevant work.
- Experience in an Agile/Scrum development environment.
- Knowledge of network protocols and debugging network traffic.
Our commitment
Verifone is committed to creating a diverse environment and is proud to be an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, gender, gender identity or expression, sexual orientation, national origin, genetics, disability, age, or veteran status. Verifone is also committed to compliance with all fair employment practices regarding citizenship and immigration status.