Software Engineer Senior
Total System Services
Every day, Global Payments makes it possible for millions of people to move money between buyers and sellers using our payments solutions for credit, debit, prepaid and merchant services. Our worldwide team helps over 3 million companies, more than 1,300 financial institutions and over 600 million cardholders grow with confidence and achieve amazing results. We are driven by our passion for success and we are proud to deliver best-in-class payment technology and software solutions. Join our dynamic team and make your mark on the payments technology landscape of tomorrow.
Works throughout the software development life cycle and actively works to create, design, code, debug, maintain, test, implement and validate complex Android applications with a broad understanding of a variety of languages and architectures. Analyzes existing applications or formulate logic for new applications, procedures, flowcharting, coding and debugging programs. Creates, maintains and utilizes application and programming documents in the development of code. Recommends changes in development, maintenance and system standards. Creates appropriate deliverables and develops application implementation plans throughout the life cycle in an agile development environment.
Excels in ability to Communicate. This translates to writing code, documenting code, planning and designing tasks, relaying information to managers, team members & other teams, conveying information to clients, asking the right questions, and helping others on the team.
Candidates should be Self-motivated and Resourceful.
Demonstrates strong Critical Thinking skills and has a meticulous Attention to Detail.
Candidates should be a humble Team Player and take Pride in their Work.
Technical Competence: Full understanding of the business requirements, technical design and detailed implementation of the assigned applications and how they work within the enterprise architecture. Can work independently to solve technical issues and mentors other developers in best practices. Continuously advances technical skills and is current on the latest software development practices.
Functional Scope: Can own the requirements acceptance, design, work plan and delivery of a group of features. Communicates and collaborates effectively with team members and stakeholders throughout the development lifecycle.
Requirements: Works closely with the product owner and business analysts to review and provide feedback on requirements. Provides recommendation on Requirements Acceptance.
Design: Responsible for the technical design of a group of features by collaborating with other team members including developers, architects, testers and business analysts.
Work Plan: Responsible for the work breakdown of all features with subtasks that are reasonably sized and can work with other developers in the delivery of the planned work with high predictability.
Development Delivery: Responsible for the performance, security and reliability of all application development work. Responsible for daily updating the Remaining and Actual time for all assigned subtasks. Take initiative, pick up work and help the team deliver on what is needed.
Code Reviews: Responsible for 100% code review coverage by conducting code reviews from other developers on the team. Contribute to defining the coding standards and ensure they are maintained by the team.
Quality: Responsible for the Unit and Functional Tests of development work. Collaborate with QA in the review, creation and delivery of functional automation tests.
5+ years of experience working in the Android ecosystem.
Strong familiarity with modern mobile architecture patterns like MVC and MVVM.
Familiarity with Android jetpack libraries such as: navigation components, Material design, Room, annotations, arc.core (for testing LiveData).
Expert-level knowledge of the Android Java framework.
Expert-level knowledge of the native Android platform (experience with cross-platform development, like Xamarin, is nice to have though).
Experience implementing popular libraries, like Retrofit, OkHttp, Gson, Jetpack, Picasso, Zxing, RxJava, MPAndroidChart, Espresso, Robolectric.
Strong knowledge of the Kotlin language.
Strong familiarity with Secure Coding Practices, including build obfuscation and implementation of encryption utilities, like HTTPS, TLS, Android KeyChain API.
Experience implementing Encryption frameworks and working with common encryption utilities, like HTTPS, TLS, SHA-256, Android KeyChain API, Cipher Block Chaining.
Bonus: Technical prowess integrating with third-party devices, like Watches, Heart Monitors, Security Systems, Payment Terminals.
Bonus: Strong understanding of Client-Server full-stack architecture.
Bonus: Strong understanding of Publisher-Subscriber / Producer-Consumer messaging architecture.
Global Payments Inc. is an equal opportunity employer.
Global Payments provides equal employment opportunities to all employees and applicants for employment without regard to race, color, religion, sex (including pregnancy), national origin, ancestry, age, marital status, sexual orientation, gender identity or expression, disability, veteran status, genetic information or any other basis protected by law. Those applicants requiring reasonable accommodation to the application and/or interview process should notify a representative of the Human Resources Department.