Design, develop, and maintain high-performance, modular, and scalable Java applications using Spring Boot 3.4.x.
Architect and implement cloud-native solutions, ensuring best practices for distributed systems, reliability, maintainability, and observability.
Integrate observability into applications, including metrics collection, distributed tracing, structured logging, and proactive monitoring.
Collaborate with cross-functional teams to deliver robust RESTful APIs and microservices.
Optimize application performance, memory usage, and reliability.
Lead and mentor junior engineers, performing code reviews and setting engineering best practices.
Integrate and utilize AI coding assistants (such as GitHub Copilot or similar tools) to accelerate development and improve code quality.
Contribute to the evolution of our architecture and technology stack with a focus on modern Java, modularization, cloud technologies, and observability.
Ensure security, compliance, and observability of all deployed services.
Participate in Agile development processes, including planning, estimation, and retrospectives.
Requirements
Bachelor’s or Master’s degree in Computer Science, Software Engineering, or related field, or equivalent practical experience.
5+ years of hands-on experience in Java development (Java 11+ required, Java 21 preferred).
Expert knowledge of Spring Boot (3.x preferred), Spring Cloud, and related frameworks.
Proven experience designing and building cloud-native applications (AWS, Azure, GCP, or similar).
Strong understanding of RESTful API design, microservices architecture, and distributed systems.
Experience integrating observability stacks (OpenTelemetry, Micrometer, Prometheus, Grafana, etc.) for monitoring, logging, and tracing.
Experience with containerization (Docker, Kubernetes) and CI/CD pipelines.
Demonstrated proficiency using AI coding assistants (e.g., GitHub Copilot, Amazon CodeWhisperer, Tabnine) in daily development workflows.
Solid grasp of software engineering best practices (modular code design, testing, version control, code review).
Excellent problem-solving, analytical, and communication skills.
Preferred Skills:
Experience with reactive programming, asynchronous processing, and modern Java concurrency features.
Deep familiarity with distributed tracing, log aggregation, and alerting systems.
Knowledge of security best practices for cloud applications.
Contributions to open-source projects or technical communities.