ARCH-01
Architect training series
Description
- Want to be a Java System Architect?
- Are you currently a Senior Developer, Lead Developer, Architect and looking to progress?
- Are you willing to put in the time?
- Do you want to learn about the latest technologies?
- Are you able to learn and work independently and in a team?
- Would you be part of a creative community?
The training series consists of thirteen professional days, which take place every few weeks. Each session has a pre-defined theme with a strict timetable. In addition, there will be round table discussions where participants can ask questions on the topic.
The topics will be accompanied by material (articles, books, videos) that has been compiled with great care. The material will also be processed by mentors.
You will also be given individual and group tasks to complete during the academy.
You will learn from mentors with decades of experience in the field.
You'll hear about the latest technologies in practice and feel free to ask questions.
You'll be part of a team of good professionals that will remain and even grow with additional participants after the academy. We will organise private meetups for this community .
You will also receive a certificate of successful completion.
Outline
- serving business needs in an agile environment
- Functional and non-functional business needs, Scrum/Kanban, DDD, BDD, Specification by Example, Lean startup, MVP mindset, Product vs. project mindset, Agile at scale: Nexus, Scrum@Scale, LeSS, SAFe
- Application Architectures
- Architecture description tools, C4 diagram, monolithic applications, layered architecture, hexagonal and clean architecture, CQRS, event sourcing, Java framework comparison
- Microservices
- 12 factor apps, microservice patterns, service registration and discovery, API gateway, circuit breakers, backend for frontend, distributed transaction management, saga, security, OAuth 2.0
- self-awareness, professional ethics, soft skills
- clean coder, creative crisis, burnout, mentoring
- Modularisation
- API design, modularisation patterns, modularisation tools
- Database management and persistent layer
- Relational databases, NoSQL databases, file storage, time series, free-text search, caching, graphs, document-based databases, business logic in database, auditing, ORM, transaction management, locking
- User interfaces, with a focus on web interfaces
- REST API, OpenAPI, API versioning, GraphQL, WebSocket, SSE, comparing web technologies, the present of JavaScript, JavaScript tools, comparing JavaScript frameworks
- Application Integration
- Communication modes, protocols, gRPC, Protocol Buffers, Avro, SOA, event driven architecture, JMS, Kafka, MQTT, AMQP, STOMP, enterprise integration patterns
- Testing
- TDD, BDD, E2E tests, contract testing, load testing, architecture testing
- DevOps
- Container runtimes, container orchestration, Docker, Kubernetes, infrastructure as code, Cloud, observability, metrics, logging, distributed tracing
- Continuous integration and delivery
- build tools, pipeline, artifact, code quality control, registries, feature switch, branching strategies, database schema modification, Canary Release, blue green deployment
- Building and scaling high speed business and technology organizations
- Measuring delivery performance, Conway's law, Team first approach, Dunbar number, Cognitive load, Team typology, Team interaction methods
Prerequisites
In order to ensure a uniform, high standard, participation in the academy requires an admission process. This consists of a written and an oral interview part, where we assess your professional and other competences (e.g. what experience you have, how you communicate, your ability to learn independently, etc.). We will give you a detailed feedback on this in any case.
general expectations:
- At least 5 years of experience in software development
- At least 5 years of experience in software development
- Good communication skills
- Ability to learn on your own
- Dedication
Professional expectations, thorough, practical knowledge of the following topics:
- Java SE, at least up to version 8
- Clean Code
- Design patterns
- Unit and integration testing
- Maven/Gradle build tools
- One of Java EE/Spring Framework/Spring Boot
- Relational database, JDBC, some ORM tool
- One of the SOAP/REST web services
If you are not qualified in one of these topics, you can attend one of our courses before the academy.