Back
- Home
- Blog
-
Learning How to Learn
Learning How to Learn
July 4, 2022 (Reposted on March 22, 2023)
Berikut ini adalah persembahan dari saya, sebuah tulisan yang
teramat bias. Ditulis karena banyaknya permintaan akan hal ini
dan juga untuk menjawab pertanyaan dari banyak orang dan juga
saya sendiri:
“Bagaimana sih caranya kamu belajar, ric?”
Selamat membaca!
Purpose
Dari awal saya belajar, saya selalu punya tujuan. Kalo ditanya
enakan jadi BE/FE/Mobile/DS/dll saya biasanya akan balikin lagi ke
penanya. Tujuannya apa?
Tujuan itu bisa apa aja, contoh:
- Mau bikin aplikasi Android
- Mau bikin sosial media
- Mau bikin startup sendiri
- Mau dapet kerja
- Mau deploy model ML
- Mau belajar aja, eksplorasi sebanyak-banyaknya
- dll
Jadi pastikan ketika kamu mulai untuk belajar sesuatu, kamu tahu
tujuannya apa, supaya kamu juga purpose-driven dalam
menjalaninya. Misalnya ketika kamu sedang putus asa,
burn-out, atau yang lainnya,
you remember why you started.
Focus on one
Saya sangat menyarankan kamu untuk fokus di 1 bidang saja. Semakin
sempit semakin bagus, ini supaya kamu bisa fokus dalam mempelajar
bidang tersebut, jadi tidak melebar kemana-mana, yang
dikhawatirkan nanti malah menghambat proses belajarmu.
Tapi kalau tujuan awalnya adalah eksplorasi sebanyak-banyaknya, ya
tidak masalah. Lanjutkan dulu eksplorasinya. Tapi pesan yang ingin
saya sampaikan adalah pada akhirnya kamu harus memilih untuk fokus
ke 1 hal dan mendalaminya. Karena hampir tidak mungkin untuk
mempelajari semuanya.
Setelah kamu merasa sudah cukup ahli di bidang tersebut, baru deh
kamu bisa eksplor ke hal-hal yang lain untuk menambah pengetahuan
kamu. Terutama di bidang-bidang yang sekiranya berhubungan atau
berkaitan dengan bidang yang kamu dalami sekarang. Tapi kalau
tidak berhubungan juga tidak masalah.
Basic Fundamental
“Jangan langsung terjun ke framework, pahami fundamental-nya
dulu.”
Kalimat yang sering saya dengar ketika sedang mempelajari sebuah
teknologi tertentu, apalagi kalau teknologi tersebut termasuk baru
dan canggih. Intinya adalah kamu perlu untuk menguasai
fundamentalnya terlebih dahulu.
Kalau mau belajar Laravel, kuasai PHP-nya dulu.
Kalau mau belajar React, kuasai ES6-nya dulu
Kalau mau belajar DS/ML/AI coba kuatin Math dan Statistics-nya
dulu
Begitu juga dengan hal yang lain
Saya sangat setuju dengan pernyataan itu. Karena kalau kamu tidak
menguasai fundamentalnya, kamu hanya akan menyusahkan dirimu
sendiri nantinya. Kalau konteksnya belajar mungkin tidak masalah
kalau kamu punya banyak waktu. Tapi kalau sudah ke proyek asli,
itu pasti sangat berat. Kamu akan kembali ke dasar fundamentalnya
dulu, dimana itu nanti akan memakan waktu lagi untuk
mempelajarinya.
Meskipun sebenarnya tidak ada jaminan bahwa kamu tidak akan
kembali lagi ke dasar lagi, untuk sekadar refreshing atau
review
materi. Mungkin saja sudah ada yang berubah, ya kan?
Cobalah mulai mengeluh, bertanya, dan berjalan keluar
Ketika kamu ketemu error atau jalan buntu yang tidak kunjung
selesai untuk diperbaikim cobalah mulai mengeluh, bertanya, dan
berjalan keluar. Saya tau rasanya belajar pemrograman, dan saya
pernah di titik dimana rasanya sulit sekali memahami alur dan cara
kerja pemrograman. Dari nyari error, bug fixing,
program tidak berjalan sesuai ekspektasi, sampai kebawa mimpi
pernah saya alami.
Ketiga hal tadi yang saya sebut itulah yang saya lakukan ketika
menghadapi error yang tidak kunjung selesai. Rekor terlama
saya 2 minggu menghadapi error ketika bereksperimen dengan
object detection.
Entah kenapa setiap kali saya sudah mengeluh, tiba-tiba muncul
solusinya. Atau ini cuma berlaku di saya saja yaa? Baik itu
sekadar sambat di twitter, misuh, atau yang lainnya.
Bertanya juga ke diri sendiri juga sering saya lakukan. Seperti
konsep yang sering kita dengar, kalau bingung yaa tanya. Karena
dari situ nanti biasanya akan muncul jawaban atas
kemungkinan-kemungkinan yang mungkin belum dan bisa kita coba.
Jangan lupa juga untuk coba jalan keluar, entah keluar kamar,
keluar rumah, atau keluar kota. Barangkali situasi mumet yang
sedang kamu alami sekarang ini yang membuat kamu sulit berpikir
jernih😃
Exposure Learning
Salah satu cara belajar yang paling mudah namun cukup berpengaruh
ke saya sendiri, dengan cara membiarkan diri kita terekspos atau
terpapar materi-materi tentang hal yang sedang kita pelajari.
Misalnya saya sedang mendalami dunia IoT, tentunya ada
beragam istilah dan best practice dalam mengembangkan
sebuah project IoT. Dengan seringnya saya terpapar
materi-materi tentang IoT di sosial media, saya secara
perlahan mengerti istilah-istilah seperti protocol HTTPS,
MQTT, komunikasi serial, dll.
Caranya cukup mudah:
-
Follow akun-akun yang berbagi informasi tentang hal yang sedang
kita pelajari. Bisa di
Instagram, YouTube, Twitter, Medium, Linkedin, dll.
Semakin banyak semakin bagus, semakin kita cepat memahami karena
akan selalu direcall di ingatan kita.
-
Ikut acara-acara yang berhubungan, misalnya webinar,
workshop, ataupun yang lainnya.
Saya yakin secara perlahan kamu jadi tahu konsep-konsep yang ada
di bidang yang sedang kamu pelajari.
PBL
Practice Makes Perfect
Itulah kutipan yang sering kita dengar dan memang benar adanya
bahwa dengan sering latihan kita akan menjadi terbiasa dalam
melakukan sesuatu yang sedang kita dalami. Konsep
Project based learning (PBL) yang sering saya gaungkan
benar-benar saya lakukan. Saya berpikir bahwa semakin sering saya
ngoding itu semakin bagus. Saya jadi punya pandangan yang luas,
dan jadi sering berhadapan dengan case-case unik yang saya temui
yang kemungkinan saya bisa saja bertemu case itu lagi.
Tapi di saat waktu itu datang, saya menghadapinya dengan
pengalaman. Jadi saran saya cobalah belajar dengan membuat proyek.
Dalam konteks bidang IT, proyek ini bisa berbagai macam bentuknya.
Kalau di UI/UX coba buat UX study case atau
design system, kalau di Frontend coba ke
frontendmentor.io, kalau di Backend coba ke
freecodecamp.org/learn
yang bagian Backend. Untuk bidang data coba ke
kaggle.com,
dst. Proyek sekecil apapun, kalau kasusnya unik, itu bisa jadi 1
portfolio yang mahal bagi temen-temen semua, percayalah. Apalagi
kalau belum banyak yang pernah membuatnya.
Jangan lupa untuk selalu melakukan dokumentasi dari setiap proyek
yang pernah kamu buat, karena suatu saat nanti kamu menemukan
case
yang sama, kamu bisa balik lagi ke dokumentasi proyek yang sudah
pernah dibuat. Mungkin kalau untuk para developer kita
terbiasa dengan GitHub yaa, kalau
designer mungkin bisa coba Dribble/Behance.
Teaching = 2x Learning
Percaya atau tidak, dengan mengajarkan ilmu yang kita punya kepada
orang lain, kita sendiri sebenarnya juga ikutan belajar. Bagaimana
tidak, ketika kita diajukan pertanyaan misalnya, ada rasa dimana
kita sebagai pengajar dituntut untuk bisa menjawab pertanyaan
tesebut. Tapi jangan langsung ciut dengar kalimat tadi, apalagi
kalau kamu belum pernah atau baru mau mulai ngajarin orang lain.
Dari mengajar ini nanti akan ada 2 pendekatan:
-
Kamu jadi lebih mempersiapkan materi yang akan disampaikan.
-
Kamu belajar lagi setelah mendapatkan pertanyaan yang mungkin
belum terjawab, atau sudah kamu jawab tapi ingin kamu lengkapi
lagi.
Dua pendekatan ini sama-sama punya process learning yang tentunya
akan mempercepat kamu sendiri dalam belajar.
Mungkin awal-awal kamu akan merasa canggung, energi terkuras
habis, apalagi kalau sehabis memberikan materi kepada orang
banyak. Tapi tidak apa-apa, lama-lama kamu akan terbiasa. Kamu
akan menemukan sendiri ‘cara mengajarmu’ secara perlahan. Mungkin
kamu lebih banyak prakteknya, atau diimbangi dengan teori, atau
kamu buat dalam bentuk games & quiz, menjelaskan
dengan perumpamaan yang lebih mudah dimengerti, atau yang lainnya.
Ada Banyak cara.
Jadi, jangan takut buat mulai ngajarin orang lain yaa, terutama ke
mereka yang butuh bantuan. Coba ingat-ingat lagi pas kamu baru
mulai belajar, siapa yang bantuin kamu pas lagi ngestuck?
Kalau engga ada mereka, mungkin belum tentu kamu bisa sampai di
titik yang sekarang ini.
*HAHAHA, jangan serius-serius. Tadi itu saya lagi ngomong ke
diri saya sendiri 😄
Invest your time in something for the future
Setelah kamu bisa fokus dalam 1 bidang yang kamu sukai, saya
sarankan untuk coba investasikan waktu kamu untuk belajar hal-hal
yang belum banyak dipakai oleh orang lain tapi bisa jadi itu
adalah masa depan. Karena teknologi berkembang dengan sangat pesat
setiap harinya, tidak ada salahnya untuk coba mempelajarinya.
Konteksnya adalah konsep teknologi, tools atau
framework, dll.
Contohnya saya jabarkan seperti dibawah ini:
-
Frontend: Webpack, Micro frontend, Web3, Serverless, Headless
CMS
-
Backend: Socket.io, Deno, Micro services, Web3, Solidity
-
Mobile: React Native, Flutter, Kotlin Multiplatform, KTOR,
NativeScript
- Database: GraphQL, Neo4j
-
Machine Learning: JAX, TFX, TinyML, Distributed Learning,
Federated Learning
- Cloud Computing: K8S, Ansible, Terraform, Node-red
-
UI/UX: Gamification, Micro Interaction, UI/UX Design in
AI/ML, 3D Illustration
Baik, sekarang kita sudah di penghujung tulisan ini. Mungkin
segitu dulu saja yang bisa saya bagikan tentang bagaimana sih
caranya saya belajar. Jika ada saran atau pertanyaan, silahkan DM
ke twitter saya yaa. Terima kasih sudah membaca!
Eric Julianto
Research Analyst at Braincore
“He, who has a why to live for, can bear with almost any
how.”