From Zero Java Knowledge β†’ Full Understanding of EPIC’s HOTW System


πŸ“š How to Read This Guide

This guide is split into 5 layers. Read them in order. Don’t skip.

LAYER 1 β†’ Java_Basics.md
          "What is Java? What is a class? What is a method?"

LAYER 2 β†’ Java_Intermediate.md
          "Exceptions, Generics, Streams, Lambdas, Enums"

LAYER 3 β†’ Libraries_And_Annotations.md
          "Lombok magic, Jackson JSON, AWS SDK"

LAYER 4 β†’ HotwHelper_Deep_Dive.md
          "What does each file do, line by line"

LAYER 5 β†’ Full_System_Flow.md
          "How it all connects β€” the big picture"

πŸ—‚οΈ Files in HotwHelper (What You Are Learning)

File Type Purpose
TableConstants.java Constants Column name strings for tables
AtomicHOTWRequestModel.java Data Model Input for atomic HOTW request
CreateHotwRunDetailsInput.java Data Model Input to create a HOTW run record
HOTWHelperModel.java Data Model Result object with all HOTW output
HotwAllDetails.java Data Model Fleet details + hardware order data
HotwExecutionAllDetailsInput.java Data Model Full execution details (ASG, overrides, fulfillment)
OrderDetails.java Data Model Per-fleet ordering details
PreferredASG.java Data Model Preferred Auto Scaling Group record
DescaleRecommendationWithClb.java Data Model Descaling recommendation per ASG
EPICBackendHotwApiCallsCommon.java API Client Calls EPIC backend HOTW APIs
HardwareOrdersUtil.java Utility Builds HOTW details, calculates hardware orders
TableUtil.java Utility Builds markdown tables for SIM tickets
HotwUpscalingHelper.java Core Logic Main upscaling workflow orchestrator
DescaleHostRecommendationHelper.java Core Logic Post-event descaling recommendation

πŸ’‘ What is HOTW in 1 Minute?

HOTW = Head of the Week

Every week before a peak event (like Prime Day), an automated system:

  1. Looks at each fleet’s traffic projections
  2. Calculates how many servers (hosts) are needed
  3. Places capacity orders (SPCO) to get more hardware
  4. Creates SIM tickets to track the ordering
  5. Sends email notifications to service owners
  6. After the event, recommends which servers to descale (remove)

The HotwHelper package contains all the helper code for this process.


β†’ Start with Layer 1: Java Basics