Providing active hands-on architectural guidance and leadership through the entire lifecycle of backend products and services
Designing backend architectures using Java, Spring Boot, and related technologies in alignment with scalability, maintainability, performance, and security goals
Defining and evolving domain structures, bounded contexts, service decomposition strategies, and modular architecture approaches including modular monolith and microservices where appropriate
Collaborating closely with other architects, engineering managers, and development teams across the organization in architecting and delivering robust backend solutions
Structuring and delivering technical documentation for HLDs, architecture decision records, solution designs, analysis inputs, API contracts, sequence diagrams, and backend design artifacts, and establishing standard practices for co-workers to adapt easily
Investigating and assessing emerging technologies, backend frameworks, and architectural patterns to determine the best approach for product and platform needs
Defining non-functional requirements from availability, scalability, security, observability, extensibility, and operational support perspectives, and designing backend solutions to meet those requirements
Supporting teams in troubleshooting system-level backend, integration, performance, data consistency, and production issues
Designing and guiding API-first, event-driven, and asynchronous integration patterns between internal and external systems
Driving architectural decisions for distributed systems including resilience, retries, idempotency, fault tolerance, transaction boundaries, caching, and messaging patterns
Reviewing and improving service boundaries, backend code structure, data access patterns, deployment architecture, and technical debt areas
Developing and leading proof-of-concept projects for backend frameworks, platform capabilities, and architectural improvements
Driving discussions with senior co-workers regarding trade-offs, best practices, project delivery risks, and backend modernization strategies
Cross-training peers and mentoring teammates on software design principles, backend architecture patterns, and engineering standards
Conducting code reviews and design reviews, and providing feedback to team members with a focus on backend quality attributes and architectural sustainability
Assisting in technical audits and ensuring audit recommendations are implemented in line with secure software development and platform standards
BSc/MSc degree in Computer Engineering, Software Engineering, or a related field
8+ years of experience in backend software development, with strong hands-on experience in Java and Spring Boot
3+ years of experience in design and implementation of complex distributed backend systems and software architectures
2+ years of experience in a similar position guiding a cross-functional project or product team
Strong experience in backend service design, API architecture including REST, GraphQL, and gRPC, service-to-service communication, and integration patterns
Strong knowledge of software architecture patterns such as layered architecture, hexagonal architecture, clean architecture, modular monoliths, and microservices
Experience with domain-driven design, domain modeling, and designing systems across different domain structures and business capabilities
Experience with containerization and orchestration frameworks such as Docker and/or Kubernetes
Working knowledge of application and system availability, scalability, observability, and distributed data platforms
Expertise in backend performance optimization, transaction management, concurrency handling, and scalable system design
Experience with relational database design, SQL optimization, and data consistency patterns, with additional familiarity in non-relational and NoSQL databases
Experience with messaging and streaming technologies such as Kafka, RabbitMQ, or similar platforms
Expert-level understanding of CI/CD principles, knowledge of various tools, and strong focus on engineering quality gates and delivery practices
Knowledge of cloud services, especially AWS and related AWS services
Strong understanding of secure backend development practices including authentication, authorization, secure communication, and secrets/configuration management
Strong unit testing, integration testing, debugging, and root cause analysis skills
Prior experience with SCRUM/Agile methodologies