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

A Senior Software Engineer to join our team in Bangalore, focusing on the development of robust and efficient Android system services. The ideal candidate will have strong expertise in Kotlin for service architecture and C++ with JNI for native modules and performance-critical operations. This role involves creating services that run on top of the Android framework, interacting with system resources, and potentially providing APIs for other applications. This position emphasizes deep knowledge of Android system-level programming without the need for AOSP source code modification. Awareness of Kotlin Multiplatform (KMP) is a plus. No UI development experience is required.

What you’ll do:

  • Design, develop, and maintain high-performance, reliable Android system services using Kotlin and C++/JNI.
  • Implement and optimize native code modules using C++ and integrate them with Kotlin-based services via the Java Native Interface (JNI).
  • Develop services that interact with various Android framework APIs and manage system resources effectively (e.g., background processing, power management, connectivity).
  • Create well-defined APIs for the services developed, enabling communication with other applications or components.
  • Focus on the stability, security, and efficiency of the system services, ensuring they meet stringent performance criteria.
  • Write clean, maintainable, and well-documented code in both Kotlin and C++.
  • Develop comprehensive unit tests and participate in integration testing for the services and native components.
  • Debug and troubleshoot complex issues within the services, JNI layer, and interactions with the Android framework.
  • Collaborate with other engineers, product managers, and QA teams to define requirements, design solutions, and deliver high-quality software.
  • Participate in code reviews to ensure adherence to coding standards and best practices.
  • Stay updated with the latest advancements in Android system development, Kotlin, C++, JNI, and related technologies

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 software development experience with a strong focus on Android.
  • Proven expertise in developing Android system services using Kotlin.
  • Strong proficiency in C++ and extensive hands-on experience with the Java Native Interface (JNI) for Android.
  • In-depth understanding of Android OS fundamentals, application lifecycle, services, inter-process communication (IPC), and system-level APIs.
  • Experience with the Android NDK (Native Development Kit).
  • Solid grasp of software design patterns applicable to system services and native development.
  • Proficiency in using Android Studio, Gradle, and debugging tools for both Java/Kotlin and native C++ code.
  • Experience with multithreading, concurrency, and performance optimization in an Android context.
  • Strong problem-solving, analytical, and debugging capabilities.
  • Excellent communication and teamwork skills.
  • Ability to work independently and manage priorities in an agile environment.

Desired Experience:

  • Familiarity with Kotlin Multiplatform (KMP) concepts and its potential applications.
  • Experience with Android security mechanisms and best practices for developing secure services.
  • Knowledge of network protocols and communication.
  • Experience with CI/CD pipelines for Android development.

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.

Read Full Description
Confirmed 6 hours ago. Posted a day ago.

Discover Similar Jobs

Suggested Articles