Job description
Responsibilities
Role Overview We are seeking a hands-on Lead Software Engineer (Java) to design and deliver scalable, secure, and high‑performance backend systems. This role emphasizes technical excellence, mentorship, driving projects to completion, and clear stakeholder communication.
Key Responsibilities
Architect and implement Java/Spring Boot microservices and RESTful APIs aligned to business and non-functional requirements. Quality Engineering: Establish and maintain a test strategy (unit, integration, performance), enforce code quality. Performance & Resilience: Profile JVM and databases, apply caching, implement resilience patterns (circuit breakers, retries, backoff).
Security & Compliance: Implement secure coding, OAuth2/JWT, input validation, encryption. Observability: Implement structured logs, metrics, and distributed tracing, define SLIs/SLOs, alerts, and meaningful dashboards. Technical Enablers: Contribute to shared libraries, templates, and reusable patterns, improve developer experience (DX).
Mentorship & Collaboration: Mentor engineers via pairing and reviews, communicate trade-offs and risks early to Product/Architecture/QA. Facilitate agile ceremonies : (stand‑ups, backlog refinement, sprint planning, demos, retros) with a focus on technical outcomes, risk surfacing, and sprint goal clarity. Refine stories into actionable technical tasks: ensure Definition of Ready/Done, unambiguous acceptance criteria, testability, and accurate story point estimation.
Qualifications
Must‑Have Skills (Java) Java / Java 8+ Deep OOP & SOLID principles. Streams API, Optional, functional interfaces, lambda expressions. Multithreading & Concurrency: thread pools, Future/CompletableFuture, synchronization, locks, concurrent collections. Java Memory Model: heap/stack fundamentals, Garbage Collection behavior and tuning.
Web Technologies Design & implement RESTful APIs (idempotency, pagination, robust error models). Rate limiting & API Gateway concepts, Swagger/OpenAPI documentation. Exposure to WebLogic/WebSphere (or embedded servers: Tomcat/Jetty). Spring Framework Spring Core (IoC/DI), Spring MVC, Spring Boot (auto-configuration, starter dependencies).
Spring Security (JWT, OAuth2), Spring Batch, Spring AOP. Architecture & Design Patterns Event-Driven Design (MQ messaging/queuing). Design patterns: Factory, Builder, Strategy, Template. Data & Tooling Strong SQL (DB2/MySQL): schema design, indexing, query tuning. Build & CI/CD: Maven/Gradle, Git, Jenkins/GitHub Actions.
Testing: JUnit 5, Mockito, Testcontainers performance testing (JMeter/Gatling). Observability: logs/metrics/traces (Dynatrace, ELK). Good to Have Messaging/eventing (Kafka/JMS) Containers (Docker) and orchestration basics (Kubernetes/ECS). DDD architecture Soft Skills Strong problem-solving, analytical thinking, and bias for action.
Plans, prioritizes, and communicates effectively across teams and time zones. Mentors teammates, provides clear, constructive feedback. Demonstrates ownership, raises the bar, and consistently exceeds day-to-day expectations. Identifies ambiguity/risks and proactively drives clarity and resolution with stakeholders. Role Overview We are seeking a hands-on Lead Software Engineer (Java) to design and deliver scalable, secure, and high‑performance backend systems.
This role emphasizes technical excellence, mentorship, driving projects to completion, and clear stakeholder communication.
Key Responsibilities
Architect and implement Java/Spring Boot microservices and RESTful APIs aligned to business and non-functional requirements. Quality Engineering: Establish and maintain a test strategy (unit, integration, performance), enforce code quality. Performance & Resilience: Profile JVM and databases, apply caching, implement resilience patterns (circuit breakers, retries, backoff).
Security & Compliance: Implement secure coding, OAuth2/JWT, input validation, encryption. Observability: Implement structured logs, metrics, and distributed tracing, define SLIs/SLOs, alerts, and meaningful dashboards. Technical Enablers: Contribute to shared libraries, templates, and reusable patterns, improve developer experience (DX).
Mentorship & Collaboration: Mentor engineers via pairing and reviews, communicate trade-offs and risks early to Product/Architecture/QA. Facilitate agile ceremonies : (stand‑ups, backlog refinement, sprint planning, demos, retros) with a focus on technical outcomes, risk surfacing, and sprint goal clarity. Refine stories into actionable technical tasks: ensure Definition of Ready/Done, unambiguous acceptance criteria, testability, and accurate story point estimation.
Must‑Have Skills (Java) Java / Java 8+ Deep OOP & SOLID principles. Streams API, Optional, functional interfaces, lambda expressions. Multithreading & Concurrency: thread pools, Future/CompletableFuture, synchronization, locks, concurrent collections. Java Memory Model: heap/stack fundamentals, Garbage Collection behavior and tuning.
Web Technologies Design & implement RESTful APIs (idempotency, pagination, robust error models). Rate limiting & API Gateway concepts, Swagger/OpenAPI documentation. Exposure to WebLogic/WebSphere (or embedded servers: Tomcat/Jetty). Spring Framework Spring Core (IoC/DI), Spring MVC, Spring Boot (auto-configuration, starter dependencies).
Spring Security (JWT, OAuth2), Spring Batch, Spring AOP. Architecture & Design Patterns Event-Driven Design (MQ messaging/queuing). Design patterns: Factory, Builder, Strategy, Template. Data & Tooling Strong SQL (DB2/MySQL): schema design, indexing, query tuning. Build & CI/CD: Maven/Gradle, Git, Jenkins/GitHub Actions.
Testing: JUnit 5, Mockito, Testcontainers performance testing (JMeter/Gatling). Observability: logs/metrics/traces (Dynatrace, ELK). Good to Have Messaging/eventing (Kafka/JMS) Containers (Docker) and orchestration basics (Kubernetes/ECS). DDD architecture Soft Skills Strong problem-solving, analytical thinking, and bias for action.
Plans, prioritizes, and communicates effectively across teams and time zones. Mentors teammates, provides clear, constructive feedback. Demonstrates ownership, raises the bar, and consistently exceeds day-to-day expectations. Identifies ambiguity/risks and proactively drives clarity and resolution with stakeholders.