About This Role
This expert-level role focuses on leading the architecture, design, development, and optimization of enterprise-scale backend applications and distributed systems. The position involves deep hands-on development expertise combined with strong architecture, troubleshooting, performance optimization, and technical leadership capabilities, with a focus on building secure, scalable, highly available, and high-performance backend platforms.
Responsibilities
- Design, develop, and maintain high-performance and scalable backend applications using Java 17/21+ and Spring Boot 3.x
- Architect enterprise-scale microservices and distributed systems with a focus on scalability, resilience, availability, and performance
- Analyze and resolve complex integration issues involving REST, SOAP, APIs, WSDL, XML, and system-to-system communication
- Design and implement integration patterns for enterprise applications and backend services
- Profile and optimize Java applications, including JVM performance, memory management, Garbage Collection (G1GC/ZGC), concurrency, and caching
- Design event-driven architectures using Apache Kafka, RabbitMQ, AWS Kinesis, or similar technologies
- Apply architecture patterns including CQRS, Event Sourcing, and Transactional Outbox where appropriate
- Design and implement secure application architectures using Spring Security, OAuth 2.0, OpenID Connect (OIDC), and centralized secrets management
- Develop applications and services using Spring Cloud, Spring Data, JPA/Hibernate, and Spring WebFlux
- Design and optimize solutions using relational databases such as PostgreSQL and MySQL
- Design and optimize solutions using NoSQL and caching technologies such as MongoDB, Cassandra, and Redis
- Optimize complex queries, database connection pooling, data-access performance, and database scalability
- Manage Java application dependencies, libraries, configurations, version upgrades, and application packaging
- Design reusable development components, frameworks, libraries, and custom Spring Boot starters
- Establish coding standards, engineering best practices, architecture guidelines, and reusable design patterns
- Conduct architecture reviews, technical design reviews, and code reviews
- Troubleshoot complex application, integration, performance, and production issues
- Make architecture recommendations covering monolithic vs. microservices and synchronous vs. asynchronous integration approaches
- Provide technical guidance and mentorship to mid-level and senior backend engineers
- Work closely with architecture, infrastructure, security, product, and business teams throughout solution design and delivery
- Communicate architecture decisions, technical risks, recommendations, and trade-offs to senior technical and non-technical stakeholders