Menyadari bahwa Menciptakan Sesuatu itu Lebih Penting
Kebiasaan Lama
Dulu aku ketika belajar materi pemrograman itu harus dari tutorial video dan harus rasanya menonton video itu dari awal hingga selesai (sambil menonton vidoe aku ikut ngetik di IDE ku sendiri). Setelah selesai biasanya aku akan membuat projek sendiri yang tidak diberikan di tutorial itu. Hal ini sebenarnya berguna dan bermanfaat, tetapi menurutku caraku ini tidak efisien karena kita di suguhkan pada sebuah tutorial yang udah disusun rapi oleh pembuat tutorial sehingga rasanya ketika kita mengikuti tutorial itu tidak / jarang sekali menemukan error atau bug. Selain itu, kadang juga pembahasannya itu tidak selengkap dan sesuai dengan sumber aslinya, sehingga jika kita ingin mendapatkan pengetahuan lebih dalam terkait apa yang ingin kita pelajari maka belajar dari tutorial yang bukan dari sumber aslinya bisa dibilang kurang disarankan.
Kebiasaanku ini terus aku lakukan hingga akhir-akhir ini, dan aku merasa seperti meskipun aku telah belajar pemrograman, misalnya Javascript dari awal hingga akhir melalui tutorial video yang aku ikuti maka selang beberapa hari aku mencoba membuka IDE maka aku tidak tahu apa yang harus aku lakukan dan seperti bingung mau melakukan apa. Ternyata yang aku alami selama ini adalah Tutorial Hell, yaitu keadaan dimana kita merasa paham dengan yg udah dipelajari tapi jika di suruh membuat program maka tidak bisa dan hal ini juga bisa terjadi karena kita hanya mengikuti tutorial dan ingin cepat selesai dan tanpa memahami apa yang kita pelajari. Selain itu, hal yang aku lakukan itu ternyata Just in Case Learning, yaitu belajar materi sebelum aku benar-benar memerlukannya sehingga sebenarnya semua yang kita pelajari itu ternyata tidak selalu diperlukan oleh otak kita sehingga otak akan membuang informasi-informasi yang tidak diperlukan atau hal ini disebut sebagai Adaptive Forgetting. Oleh karena hal itu, maka otak kita sebenarnya tidak mampu untuk mengingat berbagai hal sebanyak itu sehingga cara paling efisien belajar pemrograman bukanlah menghafal apa yang udah dipelajari, bukan juga menonton semua materi dari awal hingga akhir, tapi menurutku yaitu kita cukup belajar dasarnya aja dari sumber aslinya jika ingin mendapatkan pemahaman yang lebih dalam lalu memahami hal ini dan anggaplah hal itu adalah hal yang penting sehingga otak akan merasa perlu mengingat informasi ini.
Menyadari Sesuatu
Aku mulai menyadari hal itu akhir-akhir ini, di mana aku melakukan review di beberapa sumber informasi bahwa belajar pemrograman itu tidak harus dari awal hingga akhir tapi cukup ambil dasarnya aja dan jika perlu informasi-informasi lain terkait bahasa pemrograman yang kita pelajari itu maka barulah kita merujuk ke informasi-informasi yang kita perlukan di waktu itu atau istilahnya yaitu Just in Time Learning karena dengan begitu kita akan lebih diuntungkan soalnya apa yang kita pelajari itu benar-benar hal yang kita perlukan untuk menyelesaikan masalah yang kita hadapi dan biasanya di keadaan seperti ini itu ilmu yang kita pelajari akan lebih melekat di otak karena pengetahuan yang kita dapat langsung diterapkan.
Aku juga menyadari dari para penggemar open source project, mereka adalah orang-orang keren menurutku karena mereka lebih aktif membuat projek-projek dari bahasa pemrograman yang mereka telah pelajari dibandingkan mengikuti tutorial-tutorial pemrogaman karena buktinya repository mereka dipenuhi oleh projek-projek bukan hasil dari hasil tutorial-tutorial yang ada di internet ya meskipun ini juga bagus tapi mereka seperti ingin membuat hal yang belum pernah ada dan hal itu membuatku kagum. Oleh karena itu, daripada aku menghabiskan waktu belajar hal-hal yang ternyata sebenarnya tidak aku perlukan maka mulai saat ini dan kedepannya aku akan belajar sesuatu hal yang benar-benar aku perlukan.
Mencoba Meluruskan Fokus
Untuk melakukan hal ini, aku perlu mulai fokus menjadi pembuat dibanding pengkonsumsi sehingga hal ini mendorongku untuk membangun atau membuat suatu projek. Baru-baru ini aku telah berusaha membuat beberapa projek sambil belajar juga beberapa hal, yaitu aku membuat projek as-scramble dan henkei yang keduanya adalah projek yang berhubungan dengan frontend dan merupakan projek package / kumpulan reusable kode yang aku upload ke npm sehingga bisa digunakan oleh orang-orang di seluruh dunia. Jika kalian penasaran, kalian bisa cek repositori berikut:
Dari situ aku mulai belajar banyak dan pastinya belajar ke pengetahuan yang benar-benar aku perlukan di waktu itu. Contohnya aja, di projek as-scramble adalah projek untukku mendalami hal animasi dengan memanfaatkan API Native web browser bernama requestAnimationFrame yang mana projek itu aku buat ketika aku penasaran dengan animasi sramble yaitu keadaan dimana sebuah huruf atau kata itu saling acak mengacak dan menyatu menjadi satu, dari situ aku berpikir ingin membuat animasi package yg ringan, zero dependency, dan user yang menggunakan package ini bisa menggunakan template animasi ataupun custom sehingga aku menciptakan projek ini.
Selanjutnya untuk projek henkei aku belajar tentang bagaimana sebuah huruf bisa saling bertransformasi menjadi huruf atau angka atau kata selanjutnya yang mana di sini aku menggabungkan berbagai package untuk menciptakan efek itu yaitu React, Framer Motion, Opentype.js, Flubber, dan Polygon Clipping. Sehingga dari kombinasi itu terciptalah projek henkei.
Cara Mendapatkan Ide Projek
Kemudian, biasanya aku mendapatkan ide untuk menciptakan sebuah projek yaitu mencari tahu terlebih dahulu apa yang sebenarnya projek yang ingin aku buat sehingga dari situ aku tinggal mencari referensi solusi yang bisa digunakan untuk menyelesaikan masalah itu. Yang paling mudah untuk mencari ide yaitu dengan mencari ketertarikan kita di bidang apa lalu kita bisa mencoba membuat projek dari situ. Selain itu, bisa juga dengan membuat projek untuk menyelesaikan masalah yang biasanya kamu hadapi atau sebenarnya solusi untuk masalah yang kamu hadapi itu sebenarnya sudah tersedia tetapi menurutmu solusi itu kurang efisien dan kamu mempunyai ide yang lebih efisien maka kamu bisa mulai membuat projek dari situ.
Penutup
Blog ini hanya untuk menyampaikan kesadaran yang aku sadari baru-baru ini dan sebagian besar yang aku tulis hanya opini sehingga kamu bisa dan boleh untuk tidak setuju karena setiap individu memiliki pandangan yang berbeda. Kemudian, aku juga harap semoga aku bisa beneran konsisten dalam fokusku terus membuat projek dan memberi manfaat kepada orang-orang lewat projekku.
Berharap bisa memberi insight. Cheers!