Education:
- Minimum of a Diploma (D3) in Information Technology
Experience:
- Junior: Fresh graduates are welcome. Must have completed a final project, internship, or training related to programming.
- Middle: Minimum 3 years of experience as a Programmer or in an equivalent role in a similar industry.
- Senior: Minimum 5 years of experience as a Programmer or in an equivalent role with significant responsibilities and project ownership.
Industry Knowledge:
- Familiarity with general banking workflows or prior IT experience in the banking industry is preferred.
Core Competencies:
- Proficient in one or more programming languages.
- Strong analytical and debugging skills.
- Ability to read and understand existing codebases.
- Capable of designing system logic using flowcharts and diagrams.
- Senior level: Demonstrated leadership, technical decision-making, and strong problem-solving abilities.
Technical Skillset:
- Programming Languages: Java
- Frameworks & Libraries: Spring Boot, Spring
- Web Services & API: SOAP, REST
- Java Platforms & Application Servers: Jakarta EE, JBoss, WebLogic
- Containerization & Architecture: Docker, OpenShift (OCP), Kubernetes, Microservices, Circuit Breaker Patterns, State Management
- Data Management & Databases: JDBC, JPA, SQL and NoSQL databases: MySQL, PostgreSQL, MS SQL Server, Oracle, DB2
- AI & Automation: Generative AI (Gen AI)
- Messaging & Switching: Kafka, SmartVista (Switching)
- Version Control: Git, GitLab
- Testing & Monitoring Tools: Jest, Mocha, Jasmine, PyTest, JUnit, Xdebug, Postman, New Relic
- Caching: Redis
- UI/UX & Design: Figma
- Development Methodologies: Full understanding of Software Development Life Cycle (SDLC)
Responsibilities:
- Understand and implement requirement of business users
- Develop, testing, analyse and manage Java Web Application and supporting tools
- Design database if needed for development
- Coordinate with project team to achieve project performance target
- Ensure software run smoothly by user
- Monitor and maintain system stabilization in Production every day.
- Coordinate with other IT teams in handling problems in Production.
- Conduct investigations, analyze the root of the problem and recommend solutions to problems that occur in Production.
- Make improvements and improve performance on managed applications.
- Carry out routine maintenance on managed applications (weekly maintenance, monthly maintenance).