Pertanyaan di atas paling sering ditanyakan oleh teman-teman saya
yang baru mulai belajar pemrograman. Dari mahasiswa semester awal sampai
ke profesional yang baru mengenal pemrograman semuanya bertanya hal
yang sama. Bukan itu saja, di awal-awal mengenal pemrograman, saya juga
selalu menanyakan hal yang sama. Pada tulisan kali ini, saya akan
mencoba untuk berbagi tips untuk menjadi programmer yang lebih baik.
Jika mau jujur, pertanyaan di atas sangat sulit untuk dijawab.
Pemrograman merupakan salah satu ilmu yang banyak diakui sangat sulit,
dan katanya perlu 10 tahun untuk belajar pemrograman (versi bahasa Indonesia).
Tetapi tentunya tidak mungkin kita harus berlatih 10 tahun dulu untuk
mulai mengembangkan perangkat lunak. Selain tidak praktis karena memakan
terlalu banyak waktu, kita tidak hanya harus menguasai dasar-dasar
teori, tetapi juga memiliki pengalaman membangun program yang sangat
banyak untuk dapat mahir dalam pemrograman.
Menguasai berbagai teori pemrograman tanpa pernah membangun perangkat
lunak akan membuat kita tidak mampu menuliskan kode program yang baik (maintainable, extensible,
dll). Memiliki banyak pengalaman mengembangkan program tanpa teori juga
tidak baik. Kita menjadi sulit mengembangkan aplikasi dengan algoritma
kompleks yang memerlukan dasar matematis kuat seperti AI (Artificial Intelligence) atau compiler misalnya. Keseimbangan penguasaan teori dan praktek sangat penting untuk menjadi programmer yang baik. Mari kita lihat kiat-kiat agar dapat menjadi programmer yang lebih baik, dari sisi teori maupun praktek.
Meningkatkan Kemampuan Teoritis
Beberapa tips untuk meningkatkan kemampuan teori ilmu komputer yang telah saya coba dan sukses:
- Kuasai bahasa inggris. Hampir semua buku,
artikel, jurnal, dan video
tutorial terbaik untuk bidang pemrograman dibuat dalam bahasa Inggris.
Pengembangan bahasa pemrograman baru serta dokumentasinya juga biasanya
ada dalam bahasa inggris. Jika ingin belajar dari yang terbaik,
penguasaan bahasa inggris tidak dapat dihindari.
Sayangnya, hal ini pula yang paling sering dikeluhkan oleh teman-teman saya yang ingin belajar. “Tidak ada sumber berbahasa Indonesia,” kata mereka. Bahkan sebenarnya alasan saya mulai menulis blog dan karya tulis adalah untuk membantu teman-teman yang belum bisa berbahasa Inggris. Tetapi saya juga sadar bahwa itu saja tidak cukup. Lebih baik lagi kalau kita langsung bisa berbahasa Inggris, agar tidak perlu lagi menunggu terjemahan bahasa Indonesia yang belum tentu benar untuk belajar. - Belajar teori sambil praktek. Setiap kali membaca sebuah jurnal atau buku teks, saya hampir selalu tidak dapat mengerti apa yang saya baca secara langsung. Penyebabnya banyak, mulai dari tidak mengerti teorema matematis yang digunakan sampai tidak dapat membayangkan bagaimana membuat kode dari apa yang dideskripsikan dalam jurnal. Salah satu cara paling efektif untuk dapat mengerti tulisan-tulisan seperti ini adalah dengan membaca tulisan sambil mencoba untuk mengimplementasikan apa yang dibaca. Terkadang kita akan tetap bingung ketika mengimplementasikan kode, bahkan ketika kode sudah jalan dan menghasilkan keluaran yang benar. Ketika hal ini terjadi, biasanya saya akan melakukan debugging dan menjalankan program langkah demi langkah sampai akhirnya saya mengerti konsep inti dari tulisan.
- Cari teman diskusi dan berbagi. Belajar sambil
berbagi sangat efektif.
Seringkali ketika mempelajari atau membaca sesuatu, ada banyak hal yang
kita lewatkan. Berbagi dan berdiksui dengan orang lain membantu kita
dalam melihat hal-hal yang terlewatkan itu. Mungkin saja teman kita
bertanya tentang hal yang kita lewatkan. Atau bisa juga kita bertanya ke
teman, dan mereka membantu menjelaskan hal yang tidak kita mengerti.
Secara umum orang yang mengajar dan diajarkan biasanya selalu
mendapatkan pelajaran baru.
Jika belum menemukan orang dengan minat yang sama dalam dunia nyata, kita juga dapat memulai dari mencari komunitas online. Alternatif lain lagi adalah dengan menjadi penulis. Setiap kali menulis saya selalu melakukan banyak riset, dan akhirnya pengetahuan akan bidang yang ditulis makin meningkat setelah selesai menulis.
Ketiga tips di atas, jika dilakukan dengan konsisten
akan sangat membantu dalam meningkatkan kemampuan pemrograman kita.
Tentunya tidak secara instan meningkat, tetapi setidaknya untuk penulis
hal ini sudah sangat membantu dalam mengembangkan kemampuan membangun
aplikasi.
Meningkatkan Kemampuan Praktek
Sekarang, untuk peningkatan kemampuan praktek:
- Ikut terlibat dalam proyek Open source. Katanya
belajar dengan
orang-orang yang terbaik di bidangnya adalah cara untuk menjadi pintar
yang paling cepat. Pada zaman dulu, belajar dengan orang yang paling
ahli sulit dicapai karena terkadang orang-orang terbaik berada sangat
jauh dari kita. Untungnya, Internet telah mengikis sebagian besar
permasalahan ini. Jarak sudah tidak lagi menjadi masalah karena Internet
memungkinkan kita untuk berkomunikasi dengan mudah tanpa perlu
memikirkan jarak.
Untuk ilmu komputer dan pemrograman, Internet banyak dimanfaatkan untuk saling berbagi kode program. Kode program yang bebas kita sebarkan, gunakan, ubah, dan pelajari ini dapat menjadi bahan pembelajaran yang sangat baik. Apalagi jika kita ikut berkontribusi. Ibaratnya kita mendapatkan pengalaman bekerja sama dengan para pengembang dari seluruh dunia, dan seringkali pengembang-pengembang ini adalah pengembang yang sangat ahli. Jika belum pernah berkontribusi pada proyek open source, segera coba untuk berkontribusi dan lihat bagaimana kemampuan anda akan berkembang pesat! - Selesaikan masalah dengan program. Istilah bahasa Inggrisnya,
scratch your own itch. Setiap kali kita menemukan permasalahan
otomasi ketika menggunakan komputer, coba untuk menyelesaikan masalah
tersebut dengan mengembangkan program sederhana. Diminta untuk
menggabungkan banyak dokumen word? Coba kembangkan program untuk
melakukan hal itu. File subtitle kurang pas dengan suara? Daripada mengubah satu per satu waktu dalam subtitle, coba kembangkan program untuk melakukan hal ini.
Selalu ingat, Alah bisa karena biasa. Semakin banyak kita mengembangkan program-program sederhana untuk menyelesaikan masalah kita maka semakin mahir lah kita dalam mengembangkan program. Semakin banyak pengalaman mengembangkan program sederhana maka semakin siap kita untuk mengembangkan program besar. - Gunakan tools yang memiliki fitur plugin, dan kembangkan plugin sendiri. Hal ini berkaitan dengan saran sebelumnya. Selalu gunakan tools yang memiliki fitur plugin. Tujuan utamanya apa? Supaya ketika kita menemukan masalah dengan tools tersebut (dan percayalah akan ada masalah) kita dapat menyelesaikan masalahnya dengan mengembangkan plugin sendiri. Kembali lagi, Alah bisa karena biasa dst dst dst.
Meningkatkan kemampuan praktek agak sedikit lebih sulit dibandingkan
dengan mengembangkan kemampuan teoritis. Ketika mempraktekkan, kita
seringkali merasa frustasi karena tidak tahu mau mulai dari mana.
Saran dari penulis, selalu mulai dari hal kecil. Jika belum percaya
diri untuk berkontribusi dalam proyek open source, coba biasakan diri
untuk membuat program-program sederhana terlebih dahulu.
Penutup
Kemampuan pemrograman merupakan kemampuan yang harus dikembangkan
bertahun-tahun. Seorang programmer yang handal tidak dapat dilahirkan
dalam satu atau dua tahun. Karenanya, sikap mental yang pantang menyerah
dan gigih sangat penting. Selama mengembangkan kemampuan, kita akan
menemui sangat banyak kegagalan. Dari kegagalan itulah kita dapat
belajar banyak. Jika ingin lebih berkembang, bagi kegagalan tersebut
kepada orang-orang dalam bentuk tulisan. Ketika menulis dan menjelaskan
kegagalan, kita kemudian dapat merenungkan dan belajar dari kegagalan
tersebut.
Singkatnya, perbanyak membaca dan berbagi, kemudian coba untuk selalu
mengembangkan program untuk menyelesaikan masalah. Jangan menyerah
ketika gagal berkali-kali. Dengan melakukan hal ini terus-menerus selama
beberapa tahun, kita akan dapat berbalik dan melihat bagaimana
kemampuan kita telah berkembang pesat. Semoga membantu, dan selamat
berjuang!
Tidak ada komentar:
Posting Komentar