Jakarta, Jakarta, Indonesia
Java Engineer
Job Description:
Qualifications:
- Proficiency in Java programming.
- Strong knowledge of the Spring Framework, particularly Spring Boot for building microservices.
- Understand the principles and best practices of microservices architecture.
- Experience in designing and developing microservices.
- Be adept at creating RESTful APIs using Spring Boot.
- Familiarity with containerization technologies like Docker.
- Experience with container orchestration platforms such as Kubernetes.
- Knowledge of various database systems, both relational and NoSQL.
- Expertise in data modeling for microservices.
- Understanding of API gateways
- Familiarity with service discovery tools like Eureka or Consul.
- Experience with message brokers like Apache Kafka or RabbitMQ.
- Knowledge of event-driven architecture patterns.
- Proficiency in securing microservices, including authentication and authorization.
- Knowledge of OAuth, JWT, and SSL/TLS.
- Experience with Continuous Integration and Continuous Deployment (CI/CD) pipelines.
- Familiarity with tools like Jenkins, Travis CI, or GitLab CI/CD.
- Unit testing, integration testing, and end-to-end testing using tools like JUnit and Postman.
- Basic knowledge of DevOps practices, including infrastructure as code (IaC).
- Understanding of cloud platforms like AWS, Azure, or Google Cloud.
- Proficiency with monitoring tools like Prometheus, Grafana, or ELK stack (Elasticsearch, Logstash, Kibana).
- Experience in application performance monitoring.
- Strong documentation skills for maintaining code and system documentation.
- Familiarity with version control systems like Git.
- Strong problem-solving skills.
- Good communication and collaboration skills for working in a team.
- An understanding of agile methodologies.
- Depending on the industry you work in, domain-specific knowledge can be crucial. For example, financial services, healthcare, e-commerce, etc.
- Knowledge of techniques for optimizing the performance and scalability of microservices.
- Implementing mechanisms to make microservices fault-tolerant and resilient.
- Keeping up-to-date with security best practices to protect microservices against vulnerabilities.
- The field of microservices is constantly evolving. A willingness to learn and adapt to new technologies and best practices is crucial.
- Bachelor's degree in Computer Science or a related field.
- 5+ years of professional experience in Java software development.
- Strong problem-solving and debugging skills.
- Excellent communication and collaboration skills.
- Self-motivated, proactive, and a team player.