Back

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.”