Java Backend Engineering
Build a backend you can explain, test and operate. Work through API design, persistence and reliable service behavior.

- Start date
- To be announced
- Duration
- 6 months · 24 weeks
- Format
- Live online
Interest list only for now. Course enrollment is not open yet.
Start date and instructor will be announced before enrollment opens.
Who this is for
Learners with basic programming logic, aspiring backend developers and junior engineers who want stronger foundations.
From Java foundations to production-style systems
6 months, 24 weeks. Expand a month and week to explore topics, practical work and outcomes.
Proposed weekly commitment
Three live sessions of two hours each, plus 8-12 hours of independent practice: 14-18 hours per week. The proposed plan includes 144 live teaching hours across 24 weeks; exact session dates will be announced separately.
Before you start: Basic computer skills and introductory programming logic are required. Complete beginners should finish preparation before Week 1.
01Month 1 · Weeks 1-4Java engineering foundations
Write maintainable Java code, model business rules and solve problems independently.
Week 1Programming fundamentals and Java essentials
Java toolchain
- JDK, JRE and JVM
- Compilation and bytecode
- IDE setup and Git fundamentals
Language fundamentals
- Variables, primitives and operators
- Conditionals and loops
- Methods and arrays
Problem solving
- Computational thinking and decomposition
- Debugger breakpoints and variable inspection
- Stack traces and input validation
- Practical lab
- Build a command-line expense tracker with input validation and meaningful Git commits.
- Outcome
- Explain how a Java program runs and debug a small application independently.
Week 2Object-oriented programming and clean design
Object model
- Classes, objects and constructors
- Encapsulation and access modifiers
- Immutability, records and enums
Relationships and behavior
- Inheritance and polymorphism
- Abstraction and interfaces
- Composition versus inheritance
Design fundamentals
- SOLID principles
- UML class diagrams
- Business rules and object responsibilities
- Practical lab
- Model simulated bank accounts with explicit business rules and extensible account types.
- Outcome
- Assign responsibilities to classes and justify composition, interfaces and immutable values.
Week 3Collections, generics and modern Java
Collections
- List, Set, Map and Queue
- HashMap internals and equals/hashCode
- Comparable, Comparator and ordering
Types and failures
- Generics and type erasure
- Exceptions and error handling
- Optional and absent values
Data processing
- Lambdas and functional interfaces
- Stream API transformations and aggregation
- Date/Time API and file I/O
- Practical lab
- Implement customer search, transaction filtering and reports using synthetic financial records.
- Outcome
- Choose collections and use typed transformations to process application data.
Week 4Data structures, algorithms and craftsmanship
Data structures
- Arrays and linked lists
- Stacks, queues and hash tables
- Big O time and space complexity
Algorithms
- Binary search
- Sorting algorithms
- Recursion and problem decomposition
Development workflow
- Maven project structure and builds
- JUnit unit tests and debugging
- Clean code, refactoring and peer review
- Practical lab
- Analyze algorithmic complexity and refactor the Personal Finance CLI with focused unit tests.
- Outcome
- Compare algorithm costs and improve code structure without changing expected behavior.
Personal Finance CLI
Build a modular expense tracker with categories, transaction history, input validation and reports.
02Month 2 · Weeks 5-8Advanced Java and backend fundamentals
Investigate Java execution, concurrency, relational data and network communication.
Week 5JVM internals and memory management
Execution model
- Class loading and bytecode
- JVM runtime data areas
- JIT compilation
Memory model
- Stack, heap and object allocation
- References and garbage collection
- Java Memory Model fundamentals
Diagnostics
- Heap inspection and profiling
- GC log analysis
- Memory leak investigation
- Practical lab
- Inspect bytecode, heap usage and GC logs in an application with a deliberate memory leak.
- Outcome
- Connect runtime observations to object lifetimes and JVM memory behavior.
Week 6Multithreading and concurrency
Task execution
- Platform and virtual threads
- ExecutorService and task submission
- CompletableFuture composition
Shared state
- Synchronization, locks and volatile
- Atomic types and concurrent collections
- Happens-before and visibility
Concurrency failures
- Race conditions
- Deadlock diagnosis
- Thread safety and concurrent tests
- Practical lab
- Build a concurrent processor for simulated transactions and reproduce race conditions in tests.
- Outcome
- Protect shared state and explain the trade-offs of the chosen concurrency mechanism.
Week 7Relational databases and SQL engineering
Relational modeling
- PostgreSQL schemas and primary/foreign keys
- Normalization and relationships
- Joins, aggregations and subqueries
Query performance
- Indexes and B-tree fundamentals
- Query plans and slow queries
- Pagination strategies
Transactions
- ACID properties
- Isolation levels and anomalies
- Database locking and conflicts
- Practical lab
- Design a banking schema with synthetic data and investigate slow queries and concurrent updates.
- Outcome
- Explain schema, index and isolation choices using query plans and concurrency tests.
Week 8Networking, HTTP and API fundamentals
Network fundamentals
- TCP/IP and DNS
- TLS and secure transport
- HTTP/1.1, HTTP/2 and request lifecycle
API contracts
- REST principles and JSON
- Status codes and error responses
- Idempotency and API versioning
Backend tools
- Authentication concepts
- curl and Postman requests
- Linux CLI fundamentals
- Practical lab
- Design and document a REST API contract, including status codes and error responses.
- Outcome
- Trace an HTTP request and explain the contract exposed to API consumers.
Concurrent Transaction Engine
Build a thread-safe transaction simulation with PostgreSQL, isolation tests, performance analysis and structured errors.
03Month 3 · Weeks 9-12Spring Boot and API engineering
Implement and secure a Spring Boot service with PostgreSQL and explicit transaction boundaries.
Week 9Spring Framework and dependency injection
Spring container
- IoC and dependency injection
- Bean lifecycle and component scanning
- Java-based configuration
Spring Boot configuration
- Auto-configuration
- Profiles and externalized properties
- Typed configuration properties
Service structure
- Layered architecture
- Feature-based organization
- Actuator and health endpoints
- Practical lab
- Create a Spring Boot service with typed configuration and health endpoints.
- Outcome
- Explain bean wiring and organize a service around explicit application responsibilities.
Week 10REST API design and validation
Request handling
- Spring MVC and controllers
- DTOs and Jackson serialization
- Bean Validation
Response contracts
- Exception handling and Problem Details
- HTTP semantics and idempotent requests
- Pagination, sorting and filtering
API maintenance
- OpenAPI documentation
- API evolution and compatibility
- Validation and error contract review
- Practical lab
- Implement inventory and order endpoints with validation and accurate HTTP semantics.
- Outcome
- Expose a documented API with predictable validation, errors and collection responses.
Week 11Spring Data JPA and transactions
Persistence model
- JPA/Hibernate and entity states
- Persistence context and relationships
- Lazy/eager loading and N+1 queries
Queries and consistency
- JPQL and native queries
- Optimistic and pessimistic locking
- @Transactional and transaction boundaries
Database operations
- Connection pools
- Flyway and Liquibase migrations
- Query and concurrency diagnostics
- Practical lab
- Diagnose N+1 queries, concurrent update conflicts and incorrect transaction boundaries.
- Outcome
- Choose loading, locking and transaction boundaries for consistent persistence behavior.
Week 12Authentication and application security
Access control
- Spring Security and authentication/authorization
- Password hashing and RBAC
- Sessions and JWT
Identity protocols
- OAuth 2.0
- OpenID Connect and provider integration
- Access control tests
API protection
- CORS and CSRF
- Input validation and OWASP API Security risks
- Secret management
- Practical lab
- Secure endpoints, test role-based access and integrate with an OIDC provider using synthetic accounts.
- Outcome
- Distinguish identity from permissions and verify that unauthorized requests are rejected.
Secure Digital Wallet API
Implement synthetic user accounts, simulated balances, transfers, transaction history, RBAC, migrations and idempotency.
04Month 4 · Weeks 13-16Production engineering
Build services that can be tested, deployed, monitored and maintained with clear operational procedures.
Week 13Clean architecture and design patterns
Architecture boundaries
- SOLID in practice
- Separation of concerns and dependency direction
- Domain modeling
Application structures
- Modular monoliths
- Hexagonal architecture
- Business and infrastructure boundaries
Patterns and refactoring
- Strategy and Factory
- Adapter and Decorator
- Anti-patterns and incremental refactoring
- Practical lab
- Refactor a tightly coupled service into business and infrastructure components with explicit boundaries.
- Outcome
- Justify a design pattern through the dependency or behavior it simplifies.
Week 14Testing engineering
Test levels
- Unit, integration and contract tests
- Spring Boot integration tests
- Coverage versus test quality
Testing tools
- JUnit, Mockito and AssertJ
- Testcontainers with PostgreSQL
- WireMock for external dependencies
Reliable test suites
- Test data design
- Deterministic tests
- CI test pipelines
- Practical lab
- Build a deterministic test suite using PostgreSQL in Testcontainers and controlled external responses.
- Outcome
- Select test boundaries and verify failures as well as successful business flows.
Week 15Redis, caching and performance
Cache behavior
- Cache-aside and write-through
- TTL and invalidation
- Eviction policies and stale data
Redis use cases
- Redis data structures
- Distributed locking caveats
- Rate limiting
Performance investigation
- Connection pool tuning
- Load testing and p95/p99 latency
- Bottleneck analysis
- Practical lab
- Benchmark a cached endpoint against its uncached baseline, including stale-data and cache-failure cases.
- Outcome
- Measure whether caching helps and explain its consistency and failure trade-offs.
Week 16Docker, CI/CD and deployment
Runtime environment
- Linux processes and environment variables
- Docker images and multi-stage builds
- Compose and container networking
Delivery pipeline
- GitHub Actions build pipelines
- Deployment migrations and secrets
- Automated staging deployment
Operational checks
- Health checks
- Reverse proxies
- Rollback strategies
- Practical lab
- Containerize the service and deploy it to staging through an automated pipeline.
- Outcome
- Explain the build, migration, health-check and rollback steps of a release.
Production-Ready Order Management API
Deliver a documented, secured order service with PostgreSQL, Redis, tests, Docker, CI/CD and measured performance.
05Month 5 · Weeks 17-20Microservices and distributed systems
Choose service boundaries and investigate communication, consistency and failure recovery across services.
Week 17Microservices architecture and communication
Architecture choices
- Monolith, modular monolith and microservices
- Service boundaries and bounded contexts
- Deployment complexity
Communication
- API Gateway responsibilities
- Synchronous communication and REST clients
- Service discovery
Service ownership
- Database-per-service
- Service configuration
- Boundary and dependency trade-offs
- Practical lab
- Decompose an application domain into services and document the cost of each boundary.
- Outcome
- Justify when service separation is useful and when a modular monolith is sufficient.
Week 18Apache Kafka and event-driven systems
Kafka model
- Brokers, topics, partitions and offsets
- Consumer groups and ordering
- Replication and acknowledgments
Producer and consumer behavior
- Producer reliability and consumer commits
- Serialization and schemas
- Retries and dead-letter topics
Delivery correctness
- Idempotent consumers
- Transactional outbox
- Duplicate event handling
- Practical lab
- Implement asynchronous order events with retries, outbox and safe duplicate handling.
- Outcome
- Explain event ordering and recovery without assuming that consumers receive each event only once.
Week 19Distributed consistency and resilience
Failure handling
- Partial failures and timeouts
- Retries and exponential backoff
- Circuit breakers and bulkheads
Cross-service workflows
- Distributed transactions
- Saga choreography and orchestration
- Compensation and recovery
Consistency and tracking
- Eventual consistency
- Change data capture (CDC)
- Correlation IDs
- Practical lab
- Simulate a failed payment with test funds and implement recovery without duplicate simulated charges.
- Outcome
- Choose retry and compensation boundaries while accounting for partial completion.
Week 20Observability, reliability and operations
Telemetry
- Structured logging and correlation
- Metrics and distributed tracing
- OpenTelemetry, Prometheus and Grafana
Reliability signals
- SLI/SLO and alerting
- Saturation and latency
- Thread pools and JVM monitoring
Service lifecycle
- Graceful shutdown
- Readiness and liveness
- Incident diagnosis
- Practical lab
- Trace a failing distributed request and diagnose a simulated incident caused by load.
- Outcome
- Use logs, metrics and traces to connect a user-visible failure to its service-level cause.
Event-Driven E-Commerce Backend
Implement orders, inventory and notifications with Spring Boot, Kafka, PostgreSQL, outbox, idempotent consumers and tracing.
06Month 6 · Weeks 21-24Capstone, system design and career preparation
Integrate the course topics in a documented backend project and defend its engineering decisions.
Week 21System design and architecture planning
Requirements
- Functional and non-functional requirements
- Capacity estimates
- Delivery milestones
Design artifacts
- Architecture diagrams
- API contracts and data models
- Architectural decision records
Risk and trade-offs
- Consistency trade-offs
- Threat modeling
- RFC proposal review
- Practical lab
- Write an RFC-style proposal for the Digital Banking Platform using synthetic identities and simulated funds.
- Outcome
- Define project boundaries, risks and measurable requirements before implementation.
Week 22Capstone implementation sprint
Collaboration
- Git workflow and branch strategy
- Pull requests and code review
- Tickets and implementation milestones
Backend implementation
- Spring Boot modules and services
- PostgreSQL data ownership
- Redis and Kafka responsibilities
Business flows
- REST contracts and authentication
- Simulated wallet and transfer workflows
- Asynchronous notifications
- Practical lab
- Deliver the core end-to-end banking simulation flows through reviewed pull requests.
- Outcome
- Demonstrate an integrated workflow and explain data ownership across its components.
Week 23Hardening and deployment
Correctness and security
- Integration tests
- Security checks
- Failure injection and recovery
Performance validation
- Load test scenarios
- Performance optimization
- p95 latency under stated load
Release operations
- CI/CD and staging deployment
- Logs, metrics and traces
- Troubleshooting and runbooks
- Practical lab
- Demonstrate recovery from injected outages and report p95 latency for a documented workload.
- Outcome
- Support release readiness with test evidence, performance measurements and recovery instructions.
Week 24Engineering defense and career preparation
Project defense
- Final architecture review
- Live project demonstration
- Engineering trade-off discussion
Technical practice
- Debugging challenge
- Java, Spring and SQL interview questions
- System design discussion
Professional communication
- Technical explanation and documentation
- CV and GitHub portfolio review
- Individual learning and career roadmap
- Practical lab
- Present the completed project, reproduce a failure scenario and defend the major design decisions.
- Outcome
- Explain project strengths, remaining limitations and the next steps in your development.
Digital Banking Platform
Build an educational banking backend using synthetic identities and simulated funds, with wallets, transfers and asynchronous notifications.
Digital Banking Platform
Build an educational banking backend using synthetic identities and simulated funds, with wallets, transfers and asynchronous notifications.
- Use synthetic identities and simulated funds for all banking workflows.
- Implement authentication, role-based access and validated API contracts.
- Keep wallet transfers consistent with explicit transaction boundaries and idempotency.
- Deliver asynchronous notifications with outbox, retries and duplicate handling.
- Document service data ownership and justify Kafka, Redis and communication choices.
- Verify access control, concurrent transfers and failure recovery with automated tests.
- Deploy to staging through CI/CD and collect logs, metrics and traces.
- Present load-test results, recovery runbooks and documented architecture decisions.
Proposed assessment
- Weekly assignments and labs
- 20%
- Five practical projects
- 25%
- Knowledge assessments
- 15%
- Capstone and architecture defense
- 30%
- Code reviews and collaboration
- 10%
Proposed certificate criteria: at least 70% overall, a passing capstone, successful security and correctness tests, and participation in the architecture defense. Attendance may be tracked separately. Final rules will be announced when enrollment opens.
Engineering practice
- Engineering clinics: investigate bugs, slow SQL, race conditions, logs and architecture flaws.
- Architecture decision reviews: compare storage, messaging, communication and transaction choices.
- Team simulation: work with tickets, pull requests, reviews, releases, incidents and documentation.
By the end of the program
- Build maintainable Java and Spring Boot applications with explicit security boundaries.
- Design PostgreSQL schemas and investigate database performance.
- Implement automated tests, authentication, validation, caching and CI/CD.
- Build introductory distributed and event-driven workflows with Kafka.
- Investigate concurrency, reliability and performance problems with evidence.
- Deploy, monitor and troubleshoot backend services.
- Present a GitHub portfolio with documented projects and defensible technical decisions.
The program targets strong junior-level foundations and practical skills. It does not guarantee employment or a mid-level or senior role.
Planned format
Live online sessions and project practice