Bedanya Programmer Otodidak dengan Lulusan Informatika - Pernahkah
anda punya rekan yang bisa pemrograman komputer tapi tidak berlatar belakang
informatika/sejenisnya? Saya punya. Mulai dari programmer yang copy paste
source code sampai dengan yang mampu bikin class sendiri juga ada. Disisi lain
saya juga memiliki teman dengan latar belakang informatika namun kemampuan
codingnya sama seperti rekan saya yang otodidak, bahkan ada yang mengaku
lulusan informatika namun tidak mampu melakukan coding program.
Saya punya teman, pintar, logic programmingnya oke,
menguasai lebih dari satu bahasa pemrograman selain itu proses codingnya juga
cepat. Kalo disuruh misalnya “Gue butuh program bla.. bla.. bla.., elo bisa
buat?” dia langsung jawab “Bisa!”. Tapi, giliran disuruh bikin ER
Diagram ataupun DFD dia bingung harus mulai darimana.
Lalu timbul pertanyaan saya, kenapa masih ada lulusan
informatika bisa dikalahkan oleh orang-orang otodidak dalam pemrograman?
sebegitu mudahkah menjadi seorang programmer? apakah hanya dengan mengetahui
logika pemrograman dan syntax-nya maka sudah menjadi seorang programmer? Lalu
apa yang membedakan programmer lulusan teknik informatika dan yang otodidak?
Berdasarkan pengalaman saya bertemu dengan programmer
otodidak, hampir sebagian besar mengerti pemrograman namun tidak diawali dengan
belajar teori-teori dasar pemrograman. Biasanya hal itu akan dipelajari sambil
berjalan seiring dengan mencoba beberapa baris kode. Sedangkan dalam dunia
pendidikan, AFAIK, sebelum coding diharuskan mengerti terlebih dahulu
teori-teori dasar seperti misalnya DFD, ER Diagram, bit, Byte dan lain
sebagainya, baru nanti akan melangkah ke pemrogramannya.
Jika anda programmer terlepas apapun latar belakangnya tentu
pernah mengalami hal-hal seperti dibawah ini :
- Penggunaan beberapa fungsi-fungsi sejenis yang terkadang membingungkan dalam penggunaannya. Seperti misalnya kapan harus menggunakan str_replace dan kapan menggunakan ereg_replace atau kenapa harus strstr daripada preg_match() dalam PHP?
- Jika berhubungan dengan field-field database pernahkah penentuan type field berdasarkan alasan yang jelas? Seperti misalnya kenapa harus bigint daripada int atau langsung comot yang paling besar? *mysql style*
- Kenapa harus ADO daripada DAO untuk melakukan koneksi ke database *Lha, masih pake VB 6.0?
Jujur, untuk hal-hal seperti itu kadang saya harus buka buku
lagi, ya maklumlah namanya juga programmer pemula dan otodidak pula *ngeles*.
Berkaca dari contoh kasus diatas, lalu apa yang seharusnya
membedakan antara programmer otodidak dan programmer berlatar belakang
informatika?
Menurut saya yang memiliki latar belakang informatika harus
bisa mengungguli yang otodidak dengan menguasai teori-teori dasar ini.
Kemampuan seperti menyusun ER Diagram, DFD, bit, Byte, alokasi memori dan
hal-hal lainnya harus bisa dikuasai oleh yang berlatar belakang informatika.
Bahkan akan lebih bagus jika programmer berlatar belakang informatika mampu
menguasai itu semua namun dapat menjelaskannya dengan bahasa yang mudah
dimengerti oleh orang lain. Bukan tidak mungkin programmer otodidak akan
mempelajari hal seperti itu mengingat resources pemrograman sangat banyak
beredar di internet. Ini tantangan yang akan dialami oleh lulusan informatika
khususnya para programmer.