Jika mau jujur, pertanyaan di atas sangat sulit untuk dijawab. Pemrograman merupakan salah satu ilmu yang banyak diakui sangat sulit, dan katanya perlu10 tahun untuk belajar pemrograman(versibahasa 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) ataucompilermisalnya. Keseimbangan penguasaan teori dan praktek sangat penting untuk menjadiprogrammeryang baik. Mari kita lihat kiat-kiat agar dapat menjadiprogrammeryang 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 dankarya tulisadalah 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 melakukandebuggingdan 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 ditulismakin meningkatsetelah selesai menulis.
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, segeracoba untuk berkontribusidan 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. Filesubtitlekurang pas dengan suara? Daripada mengubah satu per satu waktu dalam subtitle, coba kembangkan program untuk melakukan hal ini.
Selalu ingat, Allah 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. - Gunakantoolsyang memiliki fiturplugin, dan kembangkanpluginsendiri. Hal ini berkaitan dengan saran sebelumnya. Selalu gunakantoolsyang memiliki fiturplugin. Tujuan utamanya apa? Supaya ketika kita menemukan masalah dengantoolstersebut (dan percayalahakanada masalah) kita dapat menyelesaikan masalahnya dengan mengembangkanpluginsendiri. Kembali lagi, Allah bisa karena biasa dst dst dst.
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!
0 komentar:
Posting Komentar