Java Software Engineer

Avows Info Solutions Private Limited — Indonesia · Posted ~7 hours ago

Mid Full-time

Skills

Java Spring Framework microservices SQL software design patterns Spring Microservices Kafka Docker Kubernetes

🔓 Log in to save this job, tailor your resume & track your apply process — 7 days free, no card needed.

Log in to add to target list

Summary ✨ AI‑Generated

A backend engineering role requiring strong Java expertise, experience with enterprise application development, distributed systems, databases, and modern deployment practices.

Highlights

Technical role with broad exposure to modern backend engineering, architecture patterns, DevOps practices, and performance optimization.

Description

Minimum Requirements:Fluent in English communication, both verbal and written.Experienced in Java programming.Experience in analyzing and enhancing legacy code is an advantage.Good understanding of microservices architecture and concepts.Strong knowledge of software design patterns and design principles.Familiar with various design pattern groups, including GoF, EIP, Java EE, and Microservices patterns.Experience in JVM and concurrency troubleshooting, as well as JVM performance tuning.Good knowledge of:Spring Framework, its core principles, and various Spring modules.ORM and SQL mappers.Relational and/or non-relational databases.Knowledge of messaging systems such as JMS, Kafka, RabbitMQ, or Redis.Strong foundation in Linux and scripting, with exposure to containerization technologies such as Docker and Kubernetes.Strong experience with development and DevOps tools, including:Version Control Systems (Git/SVN).CI/CD tools (Jenkins, TeamCity, GitLab CI).Configuration management tools (Ansible, Chef, or Puppet).Distributed logging and monitoring tools (ELK or Splunk). Job Description: Develop, enhance, and maintain backend applications and services using Java and the Spring Framework.Design and implement scalable and high-performance applications based on microservices architecture and software design principles.Analyze, troubleshoot, and enhance existing or legacy code to improve system performance, maintainability, and reliability.Apply appropriate software design patterns and best practices in application development and system design.Perform JVM and concurrency troubleshooting, performance analysis, and JVM tuning to optimize application performance.Develop and maintain database integration using ORM frameworks, SQL mappers, and relational/non-relational databases.Design and implement asynchronous and event-driven integrations using messaging systems such as Kafka, RabbitMQ, JMS, or Redis.Develop and maintain applications within Linux environments, including scripting and system troubleshooting.Support application deployment and containerization using technologies such as Docker and Kubernetes.Manage source code, CI/CD pipelines, and automated build and deployment processes using tools such as Git, Jenkins, TeamCity, or GitLab CI.Support configuration management and infrastructure automation using tools such as Ansible, Chef, or Puppet.Monitor, analyze, and troubleshoot distributed applications using logging and monitoring tools such as ELK or Splunk.Collaborate with cross-functional teams to design technical solutions, resolve complex issues, and continuously improve system architecture and application performance.