




Job Summary: We are seeking an ATM Java Developer to design, implement, and maintain ATM software, ensuring code quality and timely incident resolution. Key Highlights: 1. ATM software development and maintenance in Java 8 2. Design and implementation of banking transaction flows 3. Collaboration on UX redesign and incident resolution We are recruiting for this position to serve as our representative with a financial-sector company. ( 1) ATM Java Developer Requirements: University degree in Computer Engineering, Systems Engineering, Information Technology Engineering, Industrial Engineering, or related fields Minimum 3 years of advanced-level experience with Java 8. Strong command of design patterns and object-oriented programming principles (SOLID, clean code). Proficiency with Maven as a build and dependency management tool. Experience with Git and branch-based workflows, Pull Requests, and conflict resolution. Regular practice writing unit tests using JUnit and Mockito. Ability to read and interpret financial protocols (e.g., ISO 8583 or similar). Experience configuring and using Jenkins or other CI/CD tools. Familiarity with code quality tools: Checkstyle, PMD, or SonarQube. Analytical ability to debug and resolve issues in critical and/or legacy systems. Usage and understanding of Lombok annotations. Experience working with Scrum methodology and agile frameworks (sprints, estimation, backlog refinement). Prior experience in ATM software or banking self-service systems (Dynasty, JAM, JSI). · Responsibilities: Develop and maintain ATM software modules in Java 8, adhering to the project’s modular architecture. Design and implement end-to-end transaction flows: cash withdrawals, own and third-party transfers, card-present and cardless deposits, balance inquiries, instant loans, and cash advances. Construct and consume messages under the ISO 8583 protocol for communication with the transaction switch. Collaborate with the design team on technical specifications for UX redesign of touchscreens and keypad interfaces. Ensure code quality through unit testing with JUnit 5 and Mockito, and compliance with static analysis rules (Checkstyle, PMD, SpotBugs, SonarQube). Manage the software lifecycle using Maven, Jenkins pipelines (CI/CD), and Git, following the InnerSource model and semantic commit conventions. Document technical changes clearly and actively participate in code reviews via Pull Requests. Diagnose and resolve production incidents with urgency and analytical rigor. Participate in team Scrum ceremonies: daily stand-up, sprint planning, backlog refinement, review, and retrospective. Maintain a proactive attitude with continuous willingness to learn new technologies and propose product improvements. · Exclusive Benefits Working Hours: Monday to Friday Work Mode: On-site 100% coverage of EPS under Base Plan Full access to Udemy Career Path Program Ergonomic home office kit. -Requirements- Minimum Education: Technical 2 years of experience Keywords: developer, programmer
