Programmer merupakan orang yang sangat penting sekli dalam dunia komputer. Karena jika tanpa adanya programmer maka komputer yang kita gunakan pada saat ini tidak akan dapat berfungsi seperti pada saat ini. Programmer juga terdapat tingkatannya mulai dari yang paling rendah yang disebut Novice Programmer hingga tingkatan paling tinggi yaitu Expert programmer. Setiap Pogrammer pastinya pernah mengalami masa-masa Novice Programmer sebelum sampai ke tingkatan yang lebih tinggi. Berikut ini saya akan membahas tingkatan programmer mulai dari yang paling rendah hingga ke mahir.
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.
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
http://www.codepolitan.com/tingkatan-seorang-programmer-berdasarkan-skill-level/