Back to Notes

Phase 1: The Foundation (Months 1-2)

Goal: Master Go syntax, understand idiomatic Go, and grasp core Data Structures.

Month 1: Go Syntax & Basic Logic

  • Go Focus:

    • Week 1: Setup (Completed!), "Hello World", Variables, Constants, and Basic Types (int, string, bool).
    • Week 2: Control Structures (if/else, switch, for loops - note that Go only has for!).
    • Week 3: Functions, Multiple Return Values, and Named Return Values.
    • Week 4: Pointers (Crucial!) and proper memory understanding (Stack vs. Heap basics).
  • DSA Focus:

    • Big O Notation (Time & Space Complexity). ✅ 2026-01-27
    • Arrays and Strings (Fixed size vs. Dynamic). ✅ 2026-01-27

Month 2: Collections & Data Modeling

  • Go Focus:

    • Week 5: Slices (Underlying arrays, len, cap) & Maps.
    • Week 6: Structs and Methods (Go’s version of Classes).
    • Week 7: Interfaces (The most important abstraction in Go) & Type Assertions.
    • Week 8: Error Handling ( idiomatic if err != nil) & Panics/Recover.
  • DSA Focus:

    • Hash Maps (Theory vs. Go map implementation).
    • Linked Lists (Singly & Doubly).

Phase 2: The Core & Concurrency (Months 3-4)

Goal: Unlock Go's "superpower" (Concurrency) and build working backend systems.

Month 3: Concurrency & Algorithms

  • Go Focus:

    • Week 9: Goroutines (Lightweight threads).
    • Week 10: Channels (Unbuffered vs. Buffered) & The select statement.
    • Week 11: WaitGroups & Mutexes (Sync package).
    • Week 12: Context Package (Managing cancellation and timeouts).
  • DSA Focus:

    • Recursion.
    • Sorting (Merge Sort, Quick Sort) & Searching (Binary Search).

Month 4: Web Development & IO

  • Go Focus:

    • Week 13: The net/http package (Building a simple server).
    • Week 14: JSON Handling (Marshalling/Unmarshalling).
    • Week 15: File I/O (Reading/Writing files) & Buffers.
    • Week 16: Testing (testing package, Table Driven Tests).
  • DSA Focus:

    • Stacks & Queues.
    • Trees (Binary Search Trees).

Phase 3: Systems & Architecture (Months 5-6)

Goal: Build scalable systems and prepare for interviews.

Month 5: System Design & Databases

  • System Design:

    • Week 17: Client-Server Architecture & HTTP Methods.
    • Week 18: Databases in Go (SQL with database/sql, Drivers).
    • Week 19: Scalability Basics (Vertical vs. Horizontal, Load Balancers).
    • Week 20: Caching (Redis basics).
  • DSA Focus:

    • Graphs (BFS/DFS).
    • Heaps/Priority Queues.

Month 6: Capstone Project & Advanced Topics

  • Application:

    • Week 21-22: Capstone Project: Build a RESTful API (e.g., a Task Manager or URL Shortener) using a framework like Gin or Fiber, connected to a DB.
    • Week 23: Dockerizing your Go application.
    • Week 24: Profiling & Performance Tuning (pprof).
  • Interview Prep:

    • Mock Interviews & LeetCode Grind (Go-specific).