Our client is seeking a Senior Android Software Engineer to join their software product development team in Tipperary.
You should have a strong interest in technology, enjoy problem solving, be willing to take initiative and drive change. This is a demanding but rewarding position for someone with significant development expertise who can self-manage your projects and lead others.
In this role, we're looking for an experienced Android software engineer to help build, certify and operate complex payment systems. These systems allow our large fleet of smart payment terminals to process millions of transactions a day via our cloud infrastructure. You are pragmatic in balancing priorities and enjoy working in an iterative model where specifications are constantly changing. Our improvements and features are deployed every two weeks, and hotfixes may occur every few days.
* Adding new payments features to our existing products (such as dynamic currency conversion, offline payment support, Android Pay, Apple Pay, mobile wallets etc.)
* Designing and implementing Android applications and services that provide best in class payment flow experience for customers.
* Troubleshooting issues that may span across wide range of device types.
* Taking ownership of specific payment components
* Working with international certification teams and test organizations
* Work with product management to clarify and/or create specifications.
* Triaging bugs related to payment applications and related infrastructure
* Performing production support services as part of a regular on call rotation
* Strong application coding skills, Java/Android.
* UI development, optimal performance, adaptation to various screen sizes.
* Expertise in Android - understanding of the platform, experience with Android ROM is a plus
* Be up to date with the latest Android application development trends.
* Familiar with 3rd party libraries for Android.
* Familiar with databases and schema design.
* Comfort with self-managing multiple high priority projects and working with complex, distributed systems
* Ability to work under pressure to conform to external standards and meet strict deadlines
* Strong communication skills, teamwork, and attention to detail
* Strong debugging, problem-solving, and critical reasoning skills
* Bachelor's degree, or above, in computer science or other engineering discipline, or equivalent work experience
* Experience with server technologies, REST web services, SOA, Familiarity with databases and schema design (we use primarily MySQL)
* RXJava, functional programming, MVP/MVC design patterns.
* iOS and/or other previous mobile development experience.
* Test driven development methodology. UI Automator/Espresso.
* Embedded/MCU/ARM Cortex development, RTOS, C language experience.
* Previous experience in payments industry, specifically working with EMVco or exposure to PCI/PTS standards would be very helpful but is not required