Senior Software Engineer (Android)
Every day, Clover devices handle the core credit card and point-of-sale processing for hundreds of thousands of merchants. Behind the scenes, we operate a cloud platform providing processing, storage and collaboration for merchants, application developers, service providers and our merchants' customers. Our devices and platform form the backbone of millions of payment interactions between merchants and their customers daily.
To support all of this, we have a team of engineers dedicated to ensuring our systems remain operational, safe and secure. Our systems not only process payments, but help merchants run their businesses with inventory management solutions, customer loyalty rewards and other applications that are tailored to their industry. Right now, as we are looking to dive into new markets and expand our breadth of product, and we need Android Application Engineers to grow and improve our product in order to reach company goals.
At Clover, our team is broken down into product-focused squads. Each squad comes with its own unique set of responsibilities and contains engineers from all parts of the stack. These squads range in focus; for instance, the Clover App Market Squad strives to give merchants the ability to tailor Clover devices to their personal needs, while the Payments Squad focuses more on core payment functionality. The Clover App Market currently boasts over 220 applications from 3rd party developers. We have one squad dedicated to supporting 3rd parties development on our platform and another squad supporting App Market functionality and ease of use for merchants. Our Payments Squad builds and maintains our core infrastructure and applications which support over 5400 transactions a minute. The Payments Squad focuses on EMV, NFC, and swipe transactions, while another squad, Point of Sale and Reporting, touches more on data analysis, so merchants can gain valuable insights to their businesses.
Our Android Application Engineers are tasked with improving/expanding our platform and product. They work closely with the Product Team and Design Team. Our engineers are pragmatic in balancing priorities and enjoy working in an iterative model where application features are released every other week.
On a daily basis, you will spend 10% of your time reviewing designs of new features, 50% of your time developing features, 30% of your time investigating/reproducing/resolving bugs, and about 10% of your time creating tests and helpful documentation. We are interested in hiring flexible engineers who are not afraid to be involved in product discussions and balance their work on several projects.
Own one, or more, of the Clover applications; add new features, resolve bugs, and refactor/ improve code base
Identify technical requirements in product meetings and assist the business team with realistic project planning and feature development; translate product requirements into functional, maintainable, extensible software that is in-line with company objectives
Implement new Clover applications as needed; take ownership of the new product from development through deployment and production monitoring
Collaborate with Server Application Engineers to determine the best way to maintain low response times as new features are designed
Work with QA to develop test plans/strategies
Strong Java and Android skills
Experience with Android Jetpack and Android architectural best practices
Familiarity with one or more SQL/RDBMS systems
Superior problem-solving skills and debugging capabilities
Flexible and self driven with a collaborative approach to problem solving
Nice to have:
Experience with a cloud platform: AWS, Google Cloud, etc.
Comfortability writing unit, integration, and instrumentation tests
Exposure to RESTful APIs
Experience with Android Bound Services and Android Open Source Project