Position: Software Architect trainer
Company: Luxoft
Category: Lead
Experience required: 5y
English level: upper
Published: 2023-06-01T00:00:00+03:00

Conduct training sessions using existing Luxoft-developed materials for Luxoft employees on Architects and topics according to business needs.
• Conduct training sessions in a home location and other locations worldwide, for both Luxoft employees and external participants, onsite (in-class) and remotely (mainly).
• Conduct training sessions in English.
• Analyze and manage trainees' feedback. • Manage training development process.
• New trainers' assessment and attestation
Mandatory Skills Description:
• Experience implementing enterprise-grade software systems using one of the high-level programming languages and corresponding frameworks: Java, Scala, Python, Spring, Django, Quarkus, Hibernate, Akka, or their alternatives.
• Experience designing APIs and contracts (e.g., OpenAPI, AsyncAPI, etc.).
• Experience implementing RESTful API, Messaging and Queuing (e.g., RabbitMQ, Kafka, Pulsar) or alternatives.
• Experience with VMWare, Docker, Kubernetes or their alternatives.
• Experience designing distributed enterprise-grade software systems using Microservice Architecture (MSA).
• Experience designing software systems using UML, ArchiMate, or/and C4 Model.
• Strong knowledge of essential system quality attributes (i.e., availability, reliability, etc.).
• Strong knowledge of essential architectural patterns such as Object-Oriented Architecture (OOA), Component-Based Assembly Architecture (including DI and AOP), Layered Architecture, Domain-Driven Design (DDD), Event-Driven Architecture (EDA), and Microservice Architecture (MSA).
• Strong understanding of the SDLC phases (e.g., Analysis, Design, Coding, Testing, etc.) and models (e.g., Waterfall, V-Model, Agile, etc.).
• Strong understanding of the CI/CD practices and DevOps.
• Strong knowledge of key principles of Object-Oriented Design (OOD) (i.e., SOLID principles and Package Design Principles).
• Strong knowledge of essential Design Patterns from GoF and GRASP catalogs (i.e., Proxy, Adapter, Low Coupling, High Cohesion, etc.).
• Strong knowledge of key Stability Patterns (e.g., Circuit Braker, Rerty, etc.).
• Strong knowledge of ACID and CAP Theorem.
• Strong knowledge of distributed transaction mechanisms (e.g., 2PC, SAGA).
• Strong knowledge of CQRS and Event Sourcing (CQRS/ES).
• Strong knowledge of deployment strategies (e.g., Canary, Blue/Green Deployment, etc.).
• Strong knowledge of Virtualization, Containerization, and Container Orchestration.
• Strong understanding of infrastructure automation using Infrastructure-as-Code (IaC) approach.
Nice-to-Have Skills:
• Strong understanding of the Evolutionary Architecture approach (e.g., fitness functions).
• Strong knowledge of Hexagonal Architecture and Domain Hexagon.
• Experience architecture testing (e.g., using ArchUnit).
• Familiarity with Domain Storytelling and Event Storming modeling approaches.
• Familiarity with Contract-Driven Testing (e.g., using Pact)
• Familiarity with TOGAF, BIAN, and Open Agile Architecture Framework.
• Familiarity with Cloud Native Computing approach and CNCF Landscape.
Languages:
English: B2 Upper Intermediate