about the role:
we are looking for an experienced senior android developer to design, develop, and maintain high-performance point-of-sale (pos) terminal solutions. the ideal candidate will have expertise in java, a strong grasp of kotlin concepts, and a background in developing secure and scalable payment applications. this role involves leading development efforts, mentoring junior developers, and ensuring best practices in mobile application architecture.
responsibilities:
- design, develop, test, automate and maintain payment applications on android based pos devices using java.
- implement kotlin concepts to support modern android development practices and future system upgrades.
- apply concepts of domain engineering to maximize reusability among a family of android pos devices.
- collaborate with cross-functional teams to define, design, and deliver new applications/features.
- write clean, scalable, and efficient code while following best coding practices.
- optimize application performance, memory usage, and battery efficiency.
- ensure high-quality ui/ux implementation in collaboration with designers.
- debug and resolve software defects, ensuring application stability.
- implement and maintain mvvm/mvp architecture and dependency injection frameworks like dagger/hilt.
- integrate restful apis, third-party services, and networking components into mobile applications.
- stay updated with the latest android trends, frameworks, and best practices.
- mentor and guide junior developers in coding, design, and development methodologies.
- participate in code reviews, sprint planning, and agile development processes.
qualifications and required skills:
- 5 - 8 years of experience in android development.
- strong proficiency in java with a solid understanding of kotlin concepts
- strong knowledge of architectural patterns such as mvvm, mvp, or clean architecture
- experience with modularization, dependency injection (e.g., dagger or hilt), and reactive programming (e.g., rxjava, coroutines/flows).
- proficiency in git, ci/cd pipelines, and agile methodologies.
- strong knowledge of networking concepts, including tcp/ip, http, https, web sockets, and ssl/tls.
- experience integrating secure authentication mechanisms, such as oauth, jwt, and token-based authentication.
- strong debugging and performance optimization skills.
- knowledge of unit testing and automation testing frameworks (junit, espresso, mockito).
- excellent problem-solving, analytical, and communication skills.
- knowledge of software quality metrics and mechanisms to implement and monitor them.
- knowledge of patterns for software architecture and design.
- strong knowledge of object-oriented concepts and software components.
preferred skills:
- experience working with payment applications on pos devices (ingenico, verifone, pax etc).
- experience in emv, nfc, and iso 8583 protocols for secure transactions.
- experience with cryptographic security concepts like dukpt, aes, rsa, and hmac.
- familiarity with security best practices in mobile app development.
- knowledge of jetpack compose for modern ui development.
- knowledge of c++ development will be a bonus.