Untuk menjadi programmer yang baik tidaklah instan dan tidak mudah, karena semua butuh proses dan berikut ini saya mendapat artikel yang menurut saya bisa menjadi masukkan untuk menjadi programmer. Resep sukses belajar programming kuncinya adalah latihan dengan penuh perhatian: tidak hanya melakukannya lagi dan lagi, tapi menantang diri anda sendiri dengan suatu hal yang diluar kemampuan anda saat ini, mencobanya, menganalisa performa anda dan setelah itu, membetulkan kesalahan-kesalahan yang ada. Lalu ulangi lagi, dan lagi.
Resep Sukses Belajar Programming :
- Tertarik kepada programming, dan melakukannya karena itu mengasyikan. Pastikan bahwa itu akan tetap mengasyikan sehingga anda akan mau melakukannya untuk 10 tahun.
- Bicara kepada programmer-programmer lain; baca program-program lain. Hal ini lebih penting daripada sebuah buku atau kursus.
- Membuat program. Cara terbaik untuk belajar adalah learning by doing. Dalam bahasa teknis, “level kemampuan maksimal untuk individual dalam sebuah bidang tidak didapatkan secara otomatis hasil dari jumlah pengalaman, tapi level kemampuan bisa ditambahkan bahkan oleh individual yang berpengalaman sebagai hasil dari latihan dengan penuh perhatian untuk melakukan lebih.” (p. 366) dan “cara belajar paling efektif membutuhkan sebuah tugas yang telah direncanakan dengan tingkat kesulitan yang tepat untuk individual tertentu, saran yang informative, dan kesempatan untuk melakukan dan membetulkan kesalahan.” (p. 20 – 21) Buku “Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life” adalah sebuah referensi yang menarik untuk pandangan ini.
- Bila anda mau, gunakan empat tahun di kuliah (atau lebih di S2). Hal ini akan memberi anda akses untuk pekerjaan-pekerjaan yang membutuhkan sebuah gelar, dan hal ini juga akan memberi anda pengertian mendalam tentang bidang ini, tapi bila anda tidak menyukai sekolah, anda bisa (dengan cukup dedikasi) mendapatkan pengalaman yang mirip di pekerjaan. Bagaimanapun, belajar dari buku saja tidak akan cukup. “Pendidikan Computer Science tidak bisa membuat siapapun menjadi programmer lebih dari mempelajari kuas dan pigmen bisa membuat seseorang menjadi pelukis” kata Eric Raymond, penulis “The New Hacker’s Dictionary”. Salah satu programmer terbaik yang pernah saya dapatkan hanya memiliki gelar SMA; dia telah menghasilkan banyak software hebat, memiliki news group, dan mendapatkan cukup uang dari saham untuk membeli sebuah nightclub.
- Mengerjakan project bersama programmer-programmer lain. Jadilah programmer terbaik di dalam beberapa project; dan jadilah yg terburuk di project lainnya. Saat anda menjadi yang terbaik, anda mempunyai kesempatan mencoba kemampuan anda memimpin sebuah project, dan menginspirasi orang lain dengan visi anda. Saat anda menjadi yang terburuk, anda belajar apa yang dilakukan oleh para ahli, dan anda belajar apa yang mereka tidak suka lakukan (karena mereka membuat anda melakukannya untuk mereka).
- Mengerjakan project yg telah dikerjakan programmer-programmer lain. Ikutlah terlibat untuk mengerti sebuah program yang ditulis orang orang lain. Coba untuk mengerti dan membetulkannya saat programmer-programmer yg pembuatnya sedang tidak ada. Berpikirlah bagaimana membuat design program-program anda sehingga mudah untuk orang berikutnya yang akan memaintainnya.
- Pelajari paling sedikit setengah lusin bahasa pemrogramman. Pelajari satu bahasa yang mendukung abstraksi class (seperti Java atau C++), satu yang mendukung abstraksi fungsi (seperti Lisp atau ML), satu yang mendukung abstraksi syntaks (seperti Lisp), satu yang mendukung spesifikasi deklaratif (seperti template Prolog atau C++), satu yang mendukung coroutines (seperti Icon atau Scheme), dan satu yang mendukung parallelisme (seperti Sisal).
- Ingat bahwa terdapat kata “komputer” dalam “ilmu komputer”. Ketahuilah berapa lama dibutuhkan komputer anda untuk mengeksekusi sebuah instruksi, mengambil sebuah kata dari memori (dengan dan tanpa cache miss), membaca beberapa kata dari disk, dan mencari lokasi baru pada disk. (Jawabannya disini)
- Terlibatlah dalam usaha standarisasi sebuah bahasa. Boleh jadi dalam komite ANSI C++, atau lainnya. Apapun itu, anda akan belajar apa yang orang lain sukai dalam sebuah bahasa, seberapa dalam perasaan itu, dan mungkin sedikit tentang mengapa mereka memiliki perasaan tersebut.
- Miliki sebuah perasaan untuk lepas dari usaha standarisasi bahasa secepat mungkin.
http://djitz.com/djitzlosophy/belajar-programming-sendiri-dalam-sepuluh-tahun/