Perlukah “kuliah” (mengambil pendidikan formal di universitas) untuk bisa memprogram?. Jawaban singkatnya: perlu jika Anda ingin menjadi programmer yang baik (kecuali Anda orang jenius yang rajin belajar).
Sebelum memulai argumen saya, saya perlu memberitahu bahwa perbedaan antara programmer yang baik dan programmer yang buruk sangat besar. Dalam suatu riset yang membandingkan programmer terbaik dan programmer terburuk dalam suatu perusahaan, programmer yang terbaik dibanding programmer terburuk dapat membuat program 20 kali lebih cepat, dapat mendebug 25 kali lebih cepat, membuat program yang 5 kali lebih kecil yang berjalan 10 kali lebih cepat (buku Code Complete halaman 548).
Ketika kakek saya membuat rumah, dia tidak membutuhkan arsitek. Ketika bapak saya membuat rumah kami yang pertama, dia juga tidak membutuhkan arsitek. Bagi yang berpikiran sangat sempit, mungkin dia akan segera berpikir: sekolah arsitek itu tidak perlu, anak STM saja sudah cukup. Beberapa tukang bangunan yang cuma lulusan SD pun bisa membangun rumah sederhana di perkampungan.
Coba lihat berapa jumlah rumah di Indonesia yang dibangun tanpa arsitek. Sebagian juga berpikir arsitek itu tidak perlu, mereka bahkan tidak tahu harga pasir termurah di desa ini di mana. Anda yang berpikiran waras tentunya akan segera melihat, bahwa membuat gedung tinggi, apalagi pencakar langit, tidak bisa dilakukan orang yang tidak memiliki pendidikan arsitektur.
Membuat program komputer sederhana, dan aplikasi bisnis untuk sebuah perusahaan kecil bisa dilakukan tanpa perlu kuliah. Kebanyakan aplikasi bisnis hanyalah menerjemahkan ke logika bisnis ke dalam program sederhana yang sudah difasilitasi dengan aneka library. Tapi jika Anda berpikir membuat aplikasi bisnis yang besar hanya sekedar membuat form dan report Anda salah besar. Bagaimana Anda bisa membuat sistem yang bisa menangani ratusan ribu transaksi per detik?