Saya telah mempelajari beberapa tech stack baru dalam dua tahun terakhir: beralih dari JavaScript dasar ke TypeScript + React, mempelajari NestJS untuk pekerjaan backend, belajar Docker dan Kubernetes untuk peran DevOps saya di Commsult, dan baru-baru ini menjadi produktif dengan API Anthropic untuk AI Gymbro. Setiap stack yang telah saya pelajari telah mengajarkan saya lebih banyak tentang cara belajar secara efisien.
Jebakan tutorial: menghabiskan berminggu-minggu pada kursus sebelum menulis kode nyata apa pun. Urutan yang berhasil untuk saya: 30 menit ikhtisar tingkat tinggi untuk memahami apa yang teknologi lakukan dan mengapa ada, kemudian segera bangun sesuatu yang kecil yang sebenarnya saya inginkan, kemudian baca dokumentasi dengan benar ketika saya menghadapi masalah spesifik yang tidak bisa saya selesaikan secara intuitif.
Proyek pembelajaran adalah keputusan pembelajaran terpenting. Kriteria proyek pembelajaran yang baik: cukup kecil untuk diselesaikan dalam 1-2 minggu, masalah yang benar-benar Anda pedulikan, memaksa Anda menggunakan fitur inti teknologi, dan dapat dideploy.
Saya membaca dokumentasi dalam urutan tertentu: Ikhtisar/Pengantar, Mulai Cepat, Konsep Inti, dan kemudian Referensi API hanya ketika saya membutuhkan fungsi tertentu. Kesalahan umum adalah membaca Referensi API tanpa terlebih dahulu membangun mental model dari Konsep Inti.
4-Week Tech Stack Learning Framework
WEEK 1: Orient and Deploy
──────────────────────────────────────────────────────
Day 1-2 → 30-min overview: what + why + who uses it
Day 3-4 → Build "Hello World" equivalent
Day 5-7 → Deploy it live (even to a free tier)
Goal: → Something running in production
WEEK 2: Add Core Feature
──────────────────────────────────────────────────────
Day 1-3 → Add the feature your project needs most
(auth, database, API calls, real-time...)
Day 4-5 → Read Core Concepts docs section
Day 6-7 → Fix everything you did wrong in days 1-3
Goal: → Understand the happy path deeply
WEEK 3: Break Things
──────────────────────────────────────────────────────
Day 1-3 → Deliberately hit edge cases:
What happens with null? With slow network?
With 1000 concurrent users?
Day 4-7 → Fix the breaks. Read error handling docs.
Goal: → Understand failure modes
WEEK 4: Build for Someone Else
──────────────────────────────────────────────────────
Day 1-5 → Build something a real person will use
Day 6-7 → Get 1 person to actually use it
Watch them get confused. Fix it.
Goal: → Production empathy
Spaced Repetition Rule:
If you Google the same thing twice → Add to AnkiCara tercepat yang saya temukan untuk membangun pemahaman nyata tentang teknologi baru adalah mencoba untuk memecahkannya — sengaja mendorongnya ke kasus tepi dan mode kegagalan. Setelah Anda memiliki contoh kerja dasar, tanyakan: apa yang terjadi jika saya melewatkan null di sini? Bagaimana jika jaringan lambat? Teknologi mengungkapkan desain sejati mereka melalui mode kegagalan.
AI telah mengubah proses pembelajaran secara signifikan. Penggunaan terbaik: debugging error spesifik dengan konteks penuh, memahami mengapa sesuatu bekerja (bukan hanya bagaimana), dan mendapatkan ringkasan 'jebakan umum' untuk konsep baru sebelum Anda menghadapinya. Penggunaan terburuk: meminta AI menghasilkan kode untuk proyek pembelajaran Anda.
Saya menggunakan Anki (aplikasi flashcard dengan algoritma pengulangan spasi) untuk: flag command-line yang saya gunakan jarang, pola sintaks Docker/Kubernetes YAML, pola tipe TypeScript lanjutan, dan konsep apa pun di mana saya terus Google hal yang sama. Aturan untuk menambahkan kartu: jika saya Google hal yang sama dua kali, itu masuk ke Anki.
# Anki card examples for technical learning
# Add these when you've Googled the same thing twice
# Card 1 (Docker)
Front: What does -v flag do in docker run?
Back: Mounts a volume: -v /host/path:/container/path
Or named volume: -v myvolume:/container/path
# Card 2 (TypeScript)
Front: How do you make all properties of a type optional?
Back: Partial<T> — e.g.: Partial<User>
Use when some fields might be undefined (patch requests)
# Card 3 (pgvector)
Front: Which operator does cosine similarity search in pgvector?
Back: <=> (1 - <=> = similarity score)
ORDER BY embedding <=> query_embedding LIMIT 10
# Card 4 (NestJS)
Front: Where do you inject a service in NestJS?
Back: In the constructor with @Inject() or constructor injection:
constructor(private readonly userService: UserService) {}
Module must export the service and import it in providers
# Rule: 5-10 minutes of Anki review per day during commute
# Result: After 3 months, "let me look that up" moments drop ~70%Minggu 1: Bangun ekuivalen 'Hello World' dan deploy. Minggu 2: Tambahkan fitur paling umum untuk kasus penggunaan Anda. Minggu 3: Temukan masalah yang sulit dan selesaikan dengan benar. Minggu 4: Bangun sesuatu untuk orang lain gunakan.
Tutorial paralysis: memulai 5 kursus YouTube dan seri tutorial berbeda tentang teknologi baru tanpa menyelesaikan satupun, dan setelah sebulan masih belum membangun apa pun. Perasaan belajar (menonton video, membaca tutorial) tidak sama dengan benar-benar belajar. Tes sederhana: bisakah Anda membangun sesuatu dalam teknologi tanpa melihat tutorial? Jika tidak, Anda belum mempelajarinya.
Tidak setiap teknologi layak dipelajari secara mendalam. Sinyal bahwa teknologi tidak layak dilanjutkan: setelah 2 minggu upaya nyata, Anda masih tidak bisa menjelaskan mengapa Anda akan menggunakannya dibandingkan alternatif yang ada yang Anda tahu. Sinyal bahwa Anda harus mendorong maju: Anda memahami mengapa teknologi ada dan memecahkan masalah nyata yang Anda miliki, tetapi Anda terjebak pada konsep tertentu.
Developer yang tetap mutakhir tidak membaca setiap posting blog teknologi baru dengan cepat. Mereka memiliki kebiasaan belajar mingguan: 1-2 jam pembelajaran terfokus pada satu bidang teknologi, diterapkan pada proyek atau eksperimen nyata. Saya memblokir 'waktu belajar' di kalender saya — Selasa dan Kamis malam, 19-21 — dan saya melindunginya.