Tingkatan atau level seorang programmer bisa dilihat dari skill yang dia miliki dalam menyelesaikan masalah pemrogramannya. Berikut ini, CodePolitan akan membahas tingkatan seorang programmer berdasarkan skill levelnya mengikuti Model Dreyfus. Model Dreyfus adalah model yang digunakan untuk mengelompokan level seseorang berdasarkan bagaimana ia mendapatkan skill kemahirannya melalui instruksi formal ataupun praktis. Pada model ini tingkatan atau skill seseorang dikelompokan menjadi 5, yaitu: Novice, Advance Beginner, Competent, Proficient, dan Expert.
1. Novice Programmer
Novice adalah tingkatan paling rendah programmer dalam skill-nya. Ini bisa dibilang merupakan level pemula. Yang masuk level ini adalah mereka yang baru mengenal pemrograman, masih bingung tentang pemrograman itu sendiri dan bagaimana cara memulainya.
Programmer yang skill-nya masih ada di level ini biasanya membutuhkan panduan secara mendetail jika mempelajari sesuatu atau mengikuti tutorial. Misalnya cara menulis kode PHP, harus dijelaskan tentang bagaimana menginstal web server terlebih dahulu, kemudian menggunakan code editor apa, dan bagaiamana cara menyimpan kode program. Biasanya pada tingkatan ini, programmer masih sangat kaku terhadap konteks. Dia bisa saja menyelesaikan satu program sederhana dengan mengikuti tutorial, tapi akan kesulitan jika harus memodifikasi program tersebut.
Saya rasa semua programmer pasti pernah berada di level ini, ya karena semua pasti butuh proses. Nggak ada ceritanya seseorang programmer langsung jago coding.
Novice adalah tingkatan paling rendah programmer dalam skill-nya. Ini bisa dibilang merupakan level pemula. Yang masuk level ini adalah mereka yang baru mengenal pemrograman, masih bingung tentang pemrograman itu sendiri dan bagaimana cara memulainya.
Programmer yang skill-nya masih ada di level ini biasanya membutuhkan panduan secara mendetail jika mempelajari sesuatu atau mengikuti tutorial. Misalnya cara menulis kode PHP, harus dijelaskan tentang bagaimana menginstal web server terlebih dahulu, kemudian menggunakan code editor apa, dan bagaiamana cara menyimpan kode program. Biasanya pada tingkatan ini, programmer masih sangat kaku terhadap konteks. Dia bisa saja menyelesaikan satu program sederhana dengan mengikuti tutorial, tapi akan kesulitan jika harus memodifikasi program tersebut.
Saya rasa semua programmer pasti pernah berada di level ini, ya karena semua pasti butuh proses. Nggak ada ceritanya seseorang programmer langsung jago coding.
2. Advance Beginner Programmer
Tingkatan selanjutnya adalah Advance Beginner
Programmer. Programmer yang berada di level ini sudah memiliki skill yang lebih
tinggi dari pada Novice Programmer. Karena sudah lebih banyak belajar,
programmer di tingkatan ini biasanya sudah mengerti tentang programming dan apa
yang ia lakukan dengan programming itu sendiri. Selain itu, programmer di level
ini sudah tidak terlalu kaku dengan konteks lagi, jika dia mempelajari sesuatu,
dia bisa memodifikasinya sesuai dengan kebutuhannya. Misalnya dia mempelajari
panduan untuk membuat sebuah aplikasi perpustakaan, dia sudah bisa menyesuaikan
mana yang dia butuhkan dan mana yang ia tidak dia butuhkan dari panduan
tersebut.
Hanya saja, kelemahan dari programmer di level Advance
Beginner ini adalah mereka tidak terlalu memahami konsep secara keseluruhan.
Ketika mempelajari sebuah framework atau tools, dia hanya mempelajari apa yang
dia butuhkan saja, dia tidak mengerti bagaimana framework atau tools itu
bekerja. Orientasi utamanya adalah menyelesaikan masalah yang ia hadapai, jika
beberapa fungsi saja sudah cukup untuk menyelesaikan masalahnya, maka dia hanya
akan tahu tentang fungsi-fungsi tersebut saja. Dia tidak terlalu tertarik untuk
memahami big picture bagaimana framework atau tools itu bekerja.
3. Competent Programmer
Level yang lebih tinggi selanjutnya adalah Competent
Programmer. Seorang yang berada di tingkatan ini biasanya sudah memiliki
pengalaman yang lumayan. Ciri utamanya adalah dia telah mampu melakukan
troubleshooting. Ia mampu menyelesaikan masalah yang bahkan belum ia temui
sebelumnya dari bekal pengalaman per-codingan-nya selama ini. Dalam belajar,
programmer di level ini sudah bisa mandiri dan mengeksplorasi sendiri. Kekuatan
utamanya adalah pengalaman.
4. Proficient Programmer
Naik level lagi. Level ini adalah level yang semakin
master, yaitu Proficient Programmer. Seorang programmer yang sudah sampai pada
tingkatan ini biasanya sudah cenderung melihat sesuatu secara keseluruhan.
Tidak lagi hanya mempelajari dan menerapkan satu fungsi saja asalkan masalahnya
terselesaikan, tetapi benar-benar ingin mengetahui bagaimana sesuatu itu
berjalan.
Karena pengetahuannya yang menyeluruh terhadap sesuatu
terkadang dia bahkan mampu memberitahukan dimana letak kesalahan sebuah kode,
bahkan tanpa menjalankan kode tersebut.
5. Expert Programmer
Tingkatan paling tinggi seorang programmer dilihat
dari skill-nya adalah seorang expert. Dari merekalah muncul karya-karya luar
biasa. Mereka tidak hanya mempelajari sebuah konsep secara keseluruhan dari
sebuah tools, mereka malahan menciptakan tools. Mereka membuat bahasa
pemrograman, mereka membuat library, mereka membuat framework, membuat IDE,
mereka membuat konsep-konsep baru yang bermanfaat untuk pemrograman, mereka
membuat buku. Dari merekalah kita belajar banyak hal.
Semua level di atas selalu bertahap. Sebelum menjadi
seorang expert, pasti mengalami menjadi proficient. Pun demikian sebelum di
sampe situ kita juga pasti pernah menjadi seorang pemula (Novice). Memang
begitu prosesnya. Tidak ada yang instan. Tapi mudah-mudahan dari apa yang saya
sampaikan di atas, kita bisa tahu dimana posisi kita saat ini, apakah kita ada
di level Expert, Proficient, Competent, Advance atau baru ada di tingkatan
Novice. Jika kita telah tahu posisi kita, maka selanjutnya kita bisa belajar
lebih banyak lagi sehingga skill kita terus meningkat. Seandainya di Indonesia
semakin banyak Expert Programmer, sepertinya akan menarik :D
Mari kita belajar kawan-kawan, mari tingkatkan
kemampuan kita :D
Semoga bermanfaat..
Sumber:







0 komentar:
Posting Komentar
coment