💪 Skills & Learning
Learn by doing. Build things. Solve problems. Never stop growing.
🎯 Skills Development Map
🔥 Primary Focus: Go (Golang)
Why Go is Priority #1: Cloud-native world runs on Go. K8s, Docker, Terraform, FRP - all Go. Master this = unlock everything.
Learning Path
Study Checklist
Phase 1: Basics (DONE ✅)
- [x] Syntax and basic types
- [x] Functions and methods
- [x] Structs and interfaces
- [x] Error handling
- [x] Packages and modules
Phase 2: Concurrency (IN PROGRESS 🔄)
- [ ] Goroutines fundamentals
- [ ] Channels - buffered and unbuffered
- [ ] Select statement
- [ ] Sync package (Mutex, WaitGroup, Once)
- [ ] Context for cancellation
- [ ] Common concurrency patterns
- [ ] Race condition detection
Phase 3: Networking & HTTP
- [ ] HTTP servers with net/http
- [ ] HTTP clients and APIs
- [ ] TCP and UDP with net package
- [ ] WebSockets
- [ ] Middleware patterns
- [ ] Routing libraries (gorilla/mux, chi)
Phase 4: gRPC & Protocol Buffers
- [ ] Protocol Buffers basics
- [ ] gRPC server setup
- [ ] gRPC client implementation
- [ ] Streaming (unary, server, client, bidirectional)
- [ ] gRPC error handling
- [ ] Interceptors and middleware
Phase 5: Testing & Quality
- [ ] Unit testing with testing package
- [ ] Table-driven tests
- [ ] Mocking and interfaces
- [ ] Benchmarking
- [ ] Code coverage
- [ ] Integration testing
Phase 6: Advanced Topics
- [ ] Reflection
- [ ] Generics (Go 1.18+)
- [ ] CGO for C interop
- [ ] Unsafe package
- [ ] Memory management deep dive
- [ ] Performance profiling (pprof)
Practice Projects
| Project | Focus | Status |
|---|---|---|
| CLI Tool (e.g., file organizer) | Basics, file I/O | 📝 Planned |
| REST API Server | HTTP, JSON, routing | 📝 Planned |
| TCP Chat Server | Networking, goroutines | 📝 Planned |
| gRPC Microservice | gRPC, protobuf | 📝 Planned |
| Kubernetes Operator | Advanced, K8s client-go | 📝 Future |
| FRP Contribution | Real-world code | 🔥 Priority |
Resources
Books:
- "The Go Programming Language" (Donovan & Kernighan)
- "Concurrency in Go" (Katherine Cox-Buday)
- "Learning Go" (Jon Bodner)
Online:
Practice:
- FRP codebase (reading real production code)
- LeetCode in Go (daily practice)
The FRP Advantage
Every hour on FRP open source = Go practice with real-world code. This is the fastest path to Go mastery.
🧮 LeetCode - Interview Preparation
Target: 300 total problems (100 easy, 150 medium, 50 hard) - Be ready for any 1L+ job interview
Current Progress
| Difficulty | Solved | Target | Progress |
|---|---|---|---|
| Easy | 0 | 100 | ░░░░░░░░░░ 0% |
| Medium | 0 | 150 | ░░░░░░░░░░ 0% |
| Hard | 0 | 50 | ░░░░░░░░░░ 0% |
| Total | 0 | 300 | ░░░░░░░░░░ 0% |
Study Path - Ordered by Priority
Topic Breakdown
| # | Topic | Easy | Medium | Hard | Total |
|---|---|---|---|---|---|
| 1 | Arrays, Hashing | 15 | 12 | 3 | 30 |
| 2 | Two Pointers | 8 | 6 | 1 | 15 |
| 3 | Sliding Window | 5 | 8 | 2 | 15 |
| 4 | Stack, Queue | 8 | 10 | 2 | 20 |
| 5 | Binary Search | 8 | 6 | 1 | 15 |
| 6 | Linked Lists | 10 | 8 | 2 | 20 |
| 7 | Trees | 12 | 15 | 3 | 30 |
| 8 | Trie | 3 | 5 | 2 | 10 |
| 9 | Heap/Priority Queue | 5 | 8 | 2 | 15 |
| 10 | Backtracking | 3 | 10 | 2 | 15 |
| 11 | Graphs | 5 | 15 | 5 | 25 |
| 12 | Dynamic Programming | 8 | 22 | 10 | 40 |
| 13 | Greedy | 5 | 8 | 2 | 15 |
| 14 | Intervals | 3 | 6 | 1 | 10 |
| 15 | Math, Geometry | 8 | 6 | 1 | 15 |
| 16 | Bit Manipulation | 5 | 4 | 1 | 10 |
| TOTAL | 100 | 150 | 50 | 300 |
Daily Practice Rules
- One problem minimum per day - No zero days
- Do in Go - Double benefit (Go practice + DSA)
- Time yourself - Simulate interview pressure
- Don't give up too fast - Try for 30 min before looking at solution
- Understand solution fully - Don't just copy code
- Revisit hard ones - Come back after a week
Study Resources
- NeetCode 150 - Curated problem list
- Blind 75 - Essential problems
- LeetCode Patterns - Pattern recognition
🏆 Codeforces - Competitive Programming
Goal: Rating 1400+ (Specialist rank) - Proves strong problem-solving under pressure
Current Status
| Metric | Current | Target |
|---|---|---|
| Rating | Unrated | 1400+ (Specialist) |
| Contests Participated | 0 | 50+ |
| Problems Solved | 0 | 200+ |
Weekly Plan
- 2 contests per week (Div 2 or Div 3)
- Upsolve after contest - Solve problems you couldn't finish
- Study editorials - Learn optimal solutions
- Practice daily - Problem of the day
Contest Schedule
Codeforces runs contests almost daily. Pick 2 per week that fit your schedule.
Resources
- Codeforces Problemset
- CSES Problem Set - Topic-wise practice
- CP Algorithms - Algorithm reference
Competitive Programming Benefits
- Pattern recognition speed
- Implementation speed
- Debugging under pressure
- Mathematical thinking
- Great for interviews
Plus it's genuinely fun when you solve a tough problem.
🎓 GATE Preparation (CSE)
Target: Qualify GATE for IIT/IISc Masters option + Deep CS fundamentals
Subject Breakdown
Study Plan (Starts Q3 2026)
Phase 1: Foundation (Jul-Aug 2026)
- [ ] DSA revision (overlaps with LeetCode)
- [ ] Discrete Mathematics
- [ ] Digital Logic basics
Phase 2: Core CS (Sep-Nov 2026)
- [ ] Operating Systems
- [ ] DBMS
- [ ] Computer Networks
- [ ] Computer Organization
Phase 3: Theory (Dec 2026 - Jan 2027)
- [ ] Theory of Computation
- [ ] Compiler Design
- [ ] Formal Languages
Phase 4: Practice (Jan-Feb 2027)
- [ ] Previous year papers (10+ years)
- [ ] Mock tests (weekly)
- [ ] Weak area revision
Exam: February 2027
Resources
- GATE Overflow - Best resource for GATE prep
- Previous year papers with solutions
- GO Classes - Video lectures
- Standard textbooks per subject
🖥️ System-Level Learning
C Language
Why C: Understand how computers actually work. Foundation for everything.
- [ ] Pointers and pointer arithmetic
- [ ] Memory management (malloc, free)
- [ ] Data structures in C (linked lists, trees)
- [ ] File I/O
- [ ] System calls
- [ ] Build: Custom shell, malloc implementation
RISC-V Architecture
Why RISC-V: Modern, open ISA. Best way to learn computer architecture.
- [ ] ISA fundamentals (instructions, registers, memory model)
- [ ] Pipeline design (5-stage classic pipeline)
- [ ] Cache architecture
- [ ] Virtual memory
- [ ] Build: RISC-V simulator or simple processor in Verilog
Resource: "Computer Organization and Design: RISC-V Edition"
🌐 Networking Deep Dive
The fun stuff. No pressure, pure curiosity.
Topics to Explore
TCP/IP Deep Dive
- Three-way handshake details
- Congestion control algorithms
- TCP state machine
DNS Internals
- Resolution process
- Record types
- DNSSEC
Routing Protocols
- BGP, OSPF, RIP
- How internet routing works
Network Security
- TLS/SSL handshake
- Certificate chains
- Firewalls and NAT
CCNA Topics (when it feels right)
- Cisco networking fundamentals
- Switching and routing
- Network automation
Practice
Home Lab Experiments
- Set up VLANs
- Configure firewalls
- Play with routing
- Capture and analyze packets (Wireshark)
Networking Projects
- Build VPN from scratch
- Implement simple protocol in Go
- Network monitoring tool
🐧 Linux Internals
More fun stuff. How does Linux actually work?
Topics
Kernel Basics
- System calls
- Kernel modules
- /proc and /sys filesystems
Process Management
- Process creation (fork, exec)
- Scheduling
- IPC mechanisms
Memory Management
- Virtual memory
- Page tables
- Memory allocation
File Systems
- VFS layer
- ext4, btrfs internals
- Inode structure
Networking Stack
- Netfilter/iptables
- Network namespaces
- eBPF
Resources
- Linux Kernel Development - Robert Love
- Linux Device Drivers - Free online
- The Linux Programming Interface - TLPI
📅 Weekly Learning Schedule
| Day | Morning (1hr) | Evening (2hr) |
|---|---|---|
| Mon | 1 LeetCode | Go deep dive (concurrency) |
| Tue | 1 LeetCode | AZ-104 study OR Go project |
| Wed | 1 LeetCode | System Design reading |
| Thu | 1 LeetCode + Codeforces | FRP contribution work |
| Fri | 1 LeetCode | Go project OR Networking fun |
| Sat | Codeforces contest | Longer project work (FRP/Scalr) |
| Sun | Review week + 1 LeetCode | Linux/Networking fun OR GATE (later) |
Flexibility: If a topic is clicking, follow the energy. If stuck, switch contexts.
📊 Progress Tracking
Monthly Skill Metrics
| Month | LeetCode | Go Projects | Codeforces | Hours Studied |
|---|---|---|---|---|
| Jan 2026 | 0 | 0 | 0 | 0 |
| Feb 2026 | ||||
| Mar 2026 |
Skill Levels (Self-Assessment)
| Skill | Jan 2026 | Jun 2026 | Dec 2026 |
|---|---|---|---|
| Go | Beginner | ||
| DSA | Beginner | ||
| System Design | Beginner | ||
| Networking | Intermediate | ||
| Linux | Intermediate |
✅ 2026 Skill Goals
By End of 2026:
- [ ] Go: Proficient enough to contribute regularly to FRP
- [ ] LeetCode: 300 problems solved, comfortable in interviews
- [ ] Codeforces: Rating 1400+ (Specialist)
- [ ] GATE: Prepared enough to attempt 2027 exam confidently
- [ ] Certifications: AZ-104 + Terraform + 1-2 more
- [ ] System Design: Can design medium-complexity systems
- [ ] Portfolio: 5+ shipped projects
The Real Goal
Skills aren't about collecting badges. They're about:
- Solving real problems (at work, in open source, for users)
- Building things that work (projects, systems, tools)
- Opening opportunities (better jobs, freelancing, recognition)
- Having fun (the joy of understanding how things work)
Learn what excites you. Build what interests you. The career follows.