Java Software Engineer
Summary
Develops and maintains Java-based software systems using Spring Boot, MariaDB, and RESTful APIs, with a focus on performance tuning and code quality.
Job opportunity for Java Software Engineer at Pt First Wap International in Kota Jakarta Barat, DKI Jakarta, Indonesia.
Kualifikasi
GENERAL FUNCTION:
Under supervision of the Team Leader or Development Department Manager, researches, designs and implements Java code following Software Development Life Cycle (SDLC) development model.
Responsibilities
- Implement computer software systems using Java code following software requirements specification as set up by the Development Department Manager or direct supervisor, this includes:
- Research the technology used for the implementation
- Analyze the specifications for the implementation
- Estimate production time for the implementation
- Design of the code implementation
- Write unit tests for the implementation
- Write the (Java) code, following 1rstWAP's Java coding guidelines
- Maintaining proper documentation of the code
- Set up and maintain system (code) performance tests and execute code refactoring for existing code
- Perform thorough code reviews of other programmers
- Testing the implementation in a local environment, also checking logs and the user interface for flaws
- Providing training for department personnel and others on IT development issues related to his development scope and/or technical skills.
- If needed, provide technical support for installations done at the client
- Use our project management tool to report progress
- Find, analyze, and fix reported bugs in our systems
- If needed, participate in internal meetings, workshops and presentations
- Demonstrate a proactive mindset by identifying technical debt and taking ownership of initiatives to modernize and improve the codebase beyond the initial requirements
- Conduct ongoing research on emerging technologies to ensure the company utilizes the most efficient and modern tools available
Job Requirements
- You hold a bachelor degree in Computer Science or IT discipline
- You have at least 2 years of working experience in this sector (fresh graduates are occasionally welcome too!)
- Strong application development programming knowledge using Java (at least Java 21 with readiness for Java 25)
- Experienced with frameworks such as Spring Boot
- Experienced working in Linux environment
- Experienced working with Git
- Strong knowledge of MariaDB
- Experience with RESTful programming and API documentation using OpenAPI (Swagger)
- Experienced in writing unit tests using JUnit or other unit tests tools
- Strong skills in performance troubleshooting including identifying bottlenecks in Java applications using tools such as JConsole, VisualVM, etc
- Solid understanding of asynchronous communication patterns and event-driven architecture
- Familiar working with Intelij IDEA
- Preferred: experienced with Redmine
- Preferred: experienced with Docker/Podman
- Preferred: experienced with RabbitMQ, Redis
- Preferred: proficiency in shell/bash scripting for task automation
- Ability to communicate with English effectively, both orally and in writing