01 Sep
|
Yash Technologies
|
Indore
01 Sep
Yash Technologies
Indore
Job Summary
Senior Backend Developer (Java / Spring / AWS)
Job Title: Senior Backend Developer - Java, Reactive Spring, AWS
Experience: 6+ years of hands-on backend engineering, including 3+ years building cloud-native, event-driven services on AWS.
Experience required: 7-10 years.
We are seeking an experienced Senior Backend Developer to build and scale the services behind our Dynamic Service Options (DSO) platform. You will work across two Java + Spring Boot (WebFlux) codebases:
- an authoring backend - the data-production side, where machine parts and service data are ingested from a cloud data warehouse, validated, enriched by a service-option engine, and published as datasets
- a delivery backend - the consumption side, which receives published datasets, applies dataset-level permissions, and serves the user-facing APIs behind the embeddable Dynamic Service
Options experience
- Both are fully reactive, event-driven systems on R2DBC/PostgreSQL, AWS Lambda, SQS and ECS Fargate, sharing a multi-module Gradle structure, OpenAPI-first APIs, Flyway-managed schemas, OpenTelemetry tracing and CloudFormation-driven deployments.
- The ideal candidate is fluent in non-blocking reactive programming with Project Reactor, comfortable owning a feature end-to-end (API async job database infrastructure dashboard), and holds a high bar for testing, observability and secure-by-default design.
Key Responsibilities
- Design, build and maintain reactive REST APIs using Spring Boot WebFlux, returning Mono/Flux end-to-end with no blocking calls anywhere in the request path.
- Develop and evolve event-driven background jobs running on AWS Lambda, triggered by SQS FIFO queues and EventBridge cron schedules, using a mediator/command-handler pattern with explicit concurrency control, retry policies and dead-letter queue handling.
- Model and query data in PostgreSQL (Aurora Serverless) using Spring Data R2DBC repositories and a type-safe jOOQ DSL for dynamic queries; leverage advanced Postgres features such as JSONB, ltree hierarchies, partitioning and appropriate GIN/GIST indexing.
- Author and review Flyway migrations (versioned and repeatable), keeping schema changes backward-compatible and validated in CI.
- Maintain a clean multi-module Gradle architecture - shared library, API service and Lambda worker - placing code in the correct module and avoiding cross-layer leakage.
- Design OpenAPI-first APIs: generated specs, standardized response envelopes and error models, spec linting in the pipeline, and consistent HTTP semantics
- Integrate with external systems - Snowflake (REST API with JWT key-pair auth and long-running query polling), internal product/entitlement services, and AWS services (S3, Secrets Manager, DynamoDB) via async SDK clients.
- Implement caching and performance strategies (Caffeine in-memory/Redis caches with TTLs, query tuning, parallel composition with Mono.zip) for high-volume ingestion and reporting workloads.
- Instrument services with OpenTelemetry / AWS Distro for OpenTelemetry (ADOT): custom spans, trace-context propagation across HTTP and SQS boundaries, structured logging, and RED metrics surfaced in CloudWatch Application Signals, X-Ray and Grafana dashboards.
- Write unit and integration tests with JUnit 5, Mockito and Reactor StepVerifier; keep coverage and quality gates green in SonarQube.
- Contribute to CI/CD: GitHub Actions build/test/scan workflows, multi-stage Docker builds, ECR image publishing, Lambda artifact packaging, and CloudFormation deployments across dev/QA/UAT/prod.
- Apply secure-by-default practices: OAuth2 resource-server token validation, role/entitlement-based authorization filters, least-privilege IAM, secrets in AWS Secrets Manager (never in code), and input validation at every boundary.
- Participate in code reviews, uphold documented coding standards, and mentor mid-level engineers on reactive patterns and cloud design.
Required Skills & Qualifications
Core Java & Frameworks
- Java 17+ (we run the latest LTS) - records, sealed types, streams and modern language features.
- Spring Boot in depth, including WebFlux and Spring Security (OAuth2 Resource Server).
- Project Reactor - Mono/Flux composition, error operators, backpressure and retries; no .block(), Thread.sleep() or blocking SDKs.
- Gradle multi-module builds, Lombok, Jackson.
Data
- PostgreSQL at a professional level - schema design, indexing and query plans.
- R2DBC or equivalent reactive data access, and jOOQ or comparable type-safe SQL tooling.
- Flyway or Liquibase migrations validated in CI.
Cloud & Messaging
- Hands-on AWS - Lambda, SQS (FIFO semantics, visibility timeouts, DLQs), EventBridge, S3, Secrets Manager, ECS Fargate, RDS/Aurora, CloudWatch, IAM.
- AWS SDK v2 async clients or Spring Cloud AWS.
- Infrastructure as Code - CloudFormation, or SAM/CDK/Terraform with willingness to work in CloudFormation.
APIs & Contracts
- OpenAPI 3, REST conventions, versioning, consistent error contracts and bean validation.
Quality & Delivery
- JUnit 5, Mockito, Spring Boot Test, Reactor Test - meaningful tests for both success and failure paths.
- Docker and Compose for local development.
- Git, pull-request workflow and GitHub Actions or equivalent CI/CD.
- SonarQube or similar static analysis, with coverage discipline.
Engineering Judgment
- Distributed-systems fluency - idempotency, at-least-once delivery, retries, timeouts, partial failure and eventual consistency.
- Solid analytical, debugging and communication skills; owns delivery end-to-end.
Disclaimer: This job posting has been aggregated from external source. Role details, content, and availability are subject to change. Applicants are advised to confirm the latest information directly on the company website before applying.
📌 Module Lead - Java (Indore)
🏢 Yash Technologies
📍 Indore