Job Description
Software Developer (Java)
Business Unit/Function: Added Value Payment Solutions
Reports to: Product Development Manager
Location: Kuala Lumpur - Malaysia
Job type: Permanent
Workload: 100%
Nature and aim of the position
As a Software Developer, your primary responsibilities will be to develop applications, and to coordinate with the rest of the team working on different layers of the infrastructure. Therefore, a commitment to collaborative problem solving and quality product is essential.
You will be working as part of the product development SCRUM team (an UoV – Unit of Value).
Main duties and responsibilities
- Design, build, and maintain efficient, reusable, and reliable code
- Analyse specifications, match these to existing environments and recommend changes
- Ensure the best possible performance, quality, and responsiveness of applications
- Identify bottlenecks and bugs, and devise solutions to these problems
- Help maintain code quality, organization, and automatization
- Work as part of a product development SCRUM team
Reporting and collaboration
- The holder of the position reports to a Product Development Manager.
- The holder of the position manages and works daily with UoV team
- The holder of the position collaborates with the other developers, QA testers and Business Units
Key competencies
- Minimum 5+ years of hands-on experience and proficient in Java 8 and above, with a good knowledge of its ecosystems
- Hands-on experience within agile software development methodologies (ideally Scrum) in a multi-division processing company (Jira, Confluence)
- Payment industries experience a strong plus (credit card, merchant processing, banking, financial services etc)
- Excellent understanding of current Java based framework, tools (Intellij or eclipse) and technologies.
- Strong Spring framework knowledge - Spring Boot, Spring Integration Framework, Spring MVC, Spring security, etc
- Excellent understanding of OOP concepts and principles.
- In-dept experience designing API’s (SOAP/REST) and implementing services based on it
- Experience with Testing and CI: TDD, BDD, Jenkins, unit testing/functional/Integration testing
- Strong understanding of Software Design patterns and Enterprise Design pattern
- Strong MS SQL or Oracle DB skills.
- Familiar in one of the source code version controls – BitBucket, Gitlab, Github
- Prior usage and experience in one or more of the following technologies: RabbitMQ, Kafka, Reactjs
- Understanding microservices design principles behind a scalable application
- Strong attention to detail
- Excellent troubleshooting skills
- Knowledge in ISO8583 and ISO20022 will be a plus.
Preferable skills and competencies
- Demonstrates a strong customer orientation - actively seeks innovative ways to improve processes, products, and user experience
- Proven ability to quickly learn new applications, processes, and procedures
- Excellent verbal and written communication skills
- Ability to effectively collaborate with others to reach mutually agreeable outcomes
- Ability to work independently as well as with a team.
- Possess a "can do" attitude and positive outlook, minimizing negative behaviours
- Ability to communicate effectively in a multicultural, multinational environment and mobilize cross-functional high-performance teams
- Knowledge of credit/debit card transaction processing, including online/offline transaction processing and back-end clearing/settlement, is essential
- Fluent in English
Education and qualifications
- Computer Science or Engineering degree or relevant work experience
- Solid understanding of Agile (SCRUM) development processes
Experience
- 5+ years of experience in a similar software development position
- Experience in payment/finance industry will be an added advantage