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.
Dalam penerapannya kepada tingkatan seorang programmer berdasarkan skill-nya, maka bisa dijelaskan sebagai berikut:
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.
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:
http://setikom.blogspot.com/2013/06/5-tingkatan-atau-level-seorang.html
http://rahmatawaludin.wordpress.com/2012/07/21/5-jenis-programmer-berdasarkan-skill-level/
http://en.wikipedia.org/wiki/Dreyfus_model_of_skill_acquisition
(Sumber Cover: http://jerseygeeks.blogspot.com)
Selasa, 23 September 2014
Tingkatan Seorang Programmer Berdasarkan Skill Level
Posted By: Eksplorasi Tanpa Batas - 11.38About Eksplorasi Tanpa Batas
"Seorang pelajar yang sudah jadi mahasiswa sekarang yang hobinya kalo gak Makan atau tidur ya palingan depan Komputer sambil ngodingin apa aja sampai ngode sama searching-searching info terbaru tapi yang pasti dishare dia diblog ini biar semuanya pada tau, kalau gak di depan komputer pasti dia lagi sibuk ngurusin -Teman TS
Langganan:
Posting Komentar (Atom)
SOCIALIZE IT →