Jaman sekarang belajar teknologi mudahnya kebangetan.
Tinggal buka Google.com lalu pilih mau belajar apa keluar hasilnya, mau belajar
dari blog, ebook sampe website resminya udah berjejer rapih di halaman mbah
Google tapi sangking mudahnya ngebikin kita ketergantungan dan ‘bodoh’. Kok
bisa ? ya buat developer Google.com adalah malaikat dan stackoverflow adalah
sahabat sejati. Andaikan dua situs tersebut tidak bisa diakses karna satu
alasan misal dibanned oleh kemendikbud atau kominfo karna dianggap membodohi
bangsa Indonesia dijamin sebagian besar developer akan turun ke jalan lalu
berdemonstrasi layaknya supir taksi waktu ngedemo uber dan grab. Bisa dibilang
Kiamat Kecil oleh sebagian developer tapi tidak bagi developer yang punya
fondasi yang baik.
Jadi developer itu mudah jaman sekarang, referensi betebaran
alaihum gambreng, potongan kode dimana-mana, library2 yang bikin hidup lebih
enak selalu ada di github.com bahkan kalau susah ya dua situs tadi hadir
sebagai juru selamat. Pokoknya mah. Code once, Googling Anytime.
Dan kebanyakan developer memulai belajar dari framework
sebagai trend. Ya platform/framework teknologi menjadi nilai absolut bagi para
pemula untuk bermain-main dan mencoba bikin maha karya bernama perangkat lunak.
Tidak ada yang salah sik, tapi kebanyakan ketika disenggol sedikit dengan case
algoritma dasar atau struktur data dasar jeng-jeng.. langsung deh make Jurus
andalan G.O.O.G.L.I.N.G hehehehe.. ini juga gak salah, nyomot kode orang yang
dianggap solusi dari stackoverflow (biasanya berdasarkan rating dari jawaban)
lalu di tempel ke source code yang dipunya. Voilla, jurus kedua copy-paste
dikeluarkan. Masalah selesai? Bisa jadi tapi kemungkinan masalah baru muncul
lebih besar apalagi ketika harus dipertanggung jawabkan. Percayalah kode mu itu
mencerminkan dirimu. Tsah.
Gak ada yang salah dengan dua jurus diatas. Googling dengan
berharap ada jawaban di stackoverflow dan copy-paste snippet code tanpa
ditelaah terlebih dahulu. Kalau cuma mengejar sing penting gawean kelar ya gak
masalah. Namun… namun.. patut disayangkan kalau kita hanya mengandalkan dua
cara ini.
Saya selalu percaya kalau developer yang baik adalah
developer yang punya fondasi yang baik juga. Konteks baik biasanya berujung
pada kualitas selama akumulatif ‘baik’ sama dengan kompleksitas n log n ..
apasih.. ngawur. Fondasi yang baik itu seperti apa? Inti dari ngoding itu kan
translasi pola pikir menjadi perintah yang dimengerti oleh komputer. Nah
Algoritma dan Struktur Data punya peranan penting sebagai fondasi logical
thinking seorang developer. Ketika seorang developer sudah punya fondasi
algoritma dan struktur data yang bagus dijamin mau main ke bahasa manapun atau
platform mana pun akan terasa mudah.
Sebagai contoh, fondasi komunikasi antar manusia adalah
bahasa tubuh atau isyarat. Bahasa Indonesia, Bahasa Inggris, dan bahasa lainnya
hanya sebagai media. Ketika kita paham dasarnya seharusnya mempelajari semantik
dari bahasa tersebut akan lebih mudah dipelajari. Ini sama dengan kita
mempelajari bahasa pemrograman. Persamaan kedua tipe bahasa tersebut terletak
pada bagaimana kita membiasakan mempraktekannya. Syntax itu tidak perlu
dihafal, kita bukan lagi anak SD, SMP atau SMA yang metode belajarnya adalah
menghafal. Syntax itu dipahami dan dibiasakan untuk mempraktekannya. Semakin
kita sering praktek secara otomatis otak kita akan merekam ke dalam memori,
sama lah seperti kita yang secara tidak sadar hafal posisi tombol2 keyboard
komputer.
Nah selanjutnya, pendekatan belajar yang paling banyak saya
temui adalah pendekatan Top to The Bottom. Pelajari framework (top) lalu ke
bahasa terkait (bottom). Hmm ini juga gak salah kalau mau hasil instan. Tapi
alangkah baiknya kalau pendekatannya dibalik. Bottom to The Top. Jadi pelajari
bener2 dulu Bahasa Terkait baru pelajari frameworknya. Pengalaman saya paralel
menjadi solusi yang bagus tapi tetep memprioritaskan lebih pada Bahasanya.
Contoh, Belajar buat aplikasi Android. Seharusnya kita memprioritaskan dulu
Bahasa dan konsep pemrograman Object Oriented Programming-nya baru pelajari
framework-nya. Percaya deh seharusnya ini bakal ngebuat kita lebih mudah.
Nantinya gak bakal pusing sama kata2 ajaib macam interface, extends, bedain
class dan object dsb.
Ketika sudah memahami algoritma+struktur data, bahasa
pemrograman pilihan, konsep pemrograman dari bahasa tersebut sekarang saatnya kita
berbicara ke framework. Percayalah dokumentasi framework 95% lengkap ditambah
dukungan komunitas yang besar dan selalu memberikan solusi dimana saja dengan
satu pintu kemana saja bernama Google.com. Cuma, PR kita adalah mempelajari
lebih mendalam framework tersebut kalau bisa sedalam palung di laut. Tsahh. Tau
bagusnya dimana sampe jelek-jeleknya dimana. Dijamin ketika pemahaman framework
kita menyeluruh dijamin hidup lebih ntaph!
Gak ada kata terlambat dalam belajar asal kita mau dan
konsisten. Ya konsisten dengan dukungan kesabaran dalam menikmati proses
belajarnya. Jangan berharap hasil Instan karna gak bakal bertahan lama. Liat
aja mie instan kalau didiemin pasti udah gak enak (walaupun tetep dimakan sik
hehehe). Gue selalu inget kata-kata ini sebagai fans fanatik Manchester United
: Form is Temporary, Class is Permanent. Dan menurut gue itu berlaku juga buat
kita sebagai developer. Satu lagi, proses belajar yang enak itu adalah belajar
vertikal ke bawah. Lurus dan mendalam. Lebih baik menjadi sumur yang sedalam
palung dilaut dibandingkan menjadi danau yang luas tapi dangkal.
Selama Internet masih ada, selama laptop kesayangan kamu gak
jamuran dan selama air putih menjadi temen setia kita ngoding maka selama itu
pula harapan untuk memperbaiki kualitas diri tetep ada. Niat saja gak cukup,
tambahkan Konsistensi agar lebih Joss.
Saya juga gak jago2 amat dalam ngoding masih kalah sama
sahabat saya Anton atau Om Rendra Toro, tapi saya tetep mempertahankan semangat
belajar untuk jadi yang lebih baik. Yuk lah sama-sama belajar kalau Developer
Indonesia jago-jago pasti Indonesia akan lebih maju dari sekarang.
Tetap Semangat dalam Perdjoangan.
by : Sidiq Permana
Sign up here with your email
ConversionConversion EmoticonEmoticon