Job Overview

Title:

Senior Android Developer

Description:

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.

Salary:

$588529-$1401077 Annual

Company:

Verifone

Location:

Bangalore, Karnataka, India