Role:
Role Overview
API Lead / API Architect
The ideal candidate should have strong expertise in Java, Spring Boot, Spring WebFlux, Project Reactor, REST API design, and microservices architecture, along with experience designing scalable, secure, resilient APIs and large-file transfer solutions.
The candidate will work closely with customer architects, engineering teams, and system owners to define API contracts, establish integration standards, make architectural decisions, and ensure consistent implementation of API patterns across the Data Hub ecosystem.
Key Responsibilities
1. API Architecture and Design
- Own the end-to-end API architecture for the enterprise Data Hub.
- Define API service boundaries, interface contracts, data models, error-handling standards, and versioning strategies.
- Design reusable API patterns for inbound and outbound integrations across multiple partner and downstream systems.
- Establish API design principles, coding standards, documentation practices, and architecture governance.
- Maintain architecture diagrams, interface specifications, and Architecture Decision Records (ADRs).
2. API Development and Microservices
- Design and develop scalable RESTful APIs using Java, Spring Boot, Spring WebFlux, and Project Reactor.
- Lead the development of reactive, non-blocking services for high-throughput data exchange and file transfer.
- Design microservices using Spring Cloud and appropriate distributed-system patterns.
- Implement request validation, exception handling, serialization, authentication, authorization, and API-level security.
- Review code, guide developers, and ensure adherence to architecture and engineering standards.
3. API Contract Management
- Define and maintain OpenAPI/Swagger specifications and contract-first API development practices.
- Establish standards for resource naming, request/response payloads, HTTP status codes, error semantics, and backward compatibility.
- Coordinate API contract reviews with producers, consumers, customer architects, and system owners.
- Define API versioning, deprecation, and change-management strategies.
- Ensure API documentation remains accurate and accessible throughout the delivery lifecycle.
4. Large File Transfer and Data Integration
- Design reliable and scalable file-transfer APIs for handling large data payloads.
- Implement streaming request and response processing using Spring WebFlux and reactive programming.
- Define patterns for chunked uploads, resumable transfers, file downloads, and recovery from transfer failures.
- Design solutions using signed URLs, checksums, file integrity validation, and restart/retry mechanisms where appropriate.
- Determine when to use synchronous REST APIs, asynchronous messaging, or bulk file-based integration patterns.
- Address memory efficiency, network constraints, transfer reliability, and throughput optimization.
5. Resilience, Performance, and Scalability
- Design APIs to meet defined performance, latency, throughput, and availability targets.
- Implement reactive backpressure, timeout management, circuit breakers, retries, and rate limiting.
- Apply idempotency patterns to support safe retries and prevent duplicate processing.
- Define graceful degradation, fault isolation, and recovery strategies.
- Perform performance analysis, capacity planning, and troubleshooting for distributed API services.
6. Azure Cloud and Integration Architecture
- Design APIs for deployment and operation within Microsoft Azure.
- Work with relevant Azure services for API management, identity, messaging, storage, monitoring, and application hosting.
- Integrate APIs with enterprise data platforms, partner systems, downstream applications, and file-storage solutions.
- Establish secure connectivity, secrets management, observability, and operational monitoring.
- Collaborate with DevOps teams on CI/CD pipelines, automated testing, deployment strategies, and production readiness.
7. Technical Leadership and Stakeholder Management
- Act as the primary technical authority for API architecture and design decisions.
- Collaborate with customer architects, engineering teams, business stakeholders, and system owners.
- Translate business and integration requirements into technical designs and implementation plans.
- Manage interface dependencies, delivery sequencing, technical risks, and architectural trade-offs.
- Mentor developers, conduct design and code reviews, and ensure consistent implementation across teams.
Mandatory Technical Skills
- Strong hands-on experience in
Java, Spring Boot, and REST API development
. - Strong experience with
Spring WebFlux and Project Reactor
for reactive, non-blocking application development. - Excellent understanding of RESTful API design, HTTP protocols, API contracts, and microservices architecture.
- Experience with
Spring Cloud
and distributed-system design patterns. - Proficiency in OpenAPI/Swagger specifications and contract-first development.
- Experience with streaming APIs and large-file transfer patterns.
- Knowledge of API security, OAuth 2.0/OIDC, JWT, and enterprise authentication and authorization.
- Strong understanding of resilience patterns, retries, timeouts, circuit breakers, idempotency, and backpressure.
- Experience with Spring Data, Hibernate/JPA, and database integration.
- Experience with automated testing, code quality, debugging, and production troubleshooting.
Preferred Skills
- Experience designing and delivering APIs on Microsoft Azure.
- Familiarity with Azure API Management, Azure Blob Storage, Azure Event Hubs, Azure Service Bus, and Azure Monitor, as applicable to the solution.
- Experience with asynchronous messaging, event-driven architecture, and batch processing using Spring Batch.
- Knowledge of secure file exchange, pre-signed/signed URLs, checksums, and resumable file transfers.
- Experience with API gateways, distributed tracing, centralized logging, metrics, and observability.
- Familiarity with Docker, Kubernetes, CI/CD pipelines, and cloud-native deployment practices.
- Experience in enterprise data platforms, data integration, partner integrations, or high-volume data exchange.
Qualifications and Experience
- Bachelor's or Master's degree in Computer Science, Information Technology, or a related discipline.
- Typically 8–12 years of experience in Java backend development and enterprise application integration.
- Proven experience in API architecture, technical design, and hands-on development of Spring-based applications.
- Demonstrated ability to lead technical discussions, define reusable architecture patterns, and make documented design decisions.
- Strong communication and stakeholder-management skills, particularly in customer-facing architecture roles.
Key Deliverables
- End-to-end API architecture and design documentation.
- Standardized API contracts, OpenAPI specifications, and reusable interface patterns.
- Large-file transfer and streaming API design standards.
- Architecture Decision Records documenting key technical choices and trade-offs.
- API security, resilience, performance, and versioning standards.
- Technical guidance, design reviews, and architecture governance for API development teams.
Ideal Candidate Profile:
Recommended skills for recruitment and sourcing
For candidate screening, prioritize these skills in the following order:
- Core: Java, Spring Boot, Spring WebFlux, Project Reactor.
- API architecture: REST APIs, microservices, OpenAPI/Swagger, API versioning, contract-first design.
- Integration: Large-file streaming, asynchronous processing, messaging, Spring Cloud.
- Resilience: Backpressure, circuit breakers, retries, idempotency, rate limiting.
- Cloud: Microsoft Azure, Azure API Management, Azure Blob Storage.
- Supporting: Spring Data/JPA, Hibernate, Spring Batch, CI/CD, Docker, Kubernetes.