Inilah Tingkatan Level Programmer
Tingkatan atau level seorang programmer bisa dilihat dari skill yang beliau miliki dalam menuntaskan duduk masalah pemrogramannya. Berikut ini, Tekno Virtual akan membahas tingkatan seorang programmer menurut skill levelnya mengikuti Model Dreyfus. Model Dreyfus yaitu model yang dipakai untuk mengelompokan level seseorang menurut bagaimana ia mendapat skill kemahirannya melalui arahan 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 menurut skill-nya, maka bisa dijelaskan sebagai berikut:
1. Novice Programmer
Novice yaitu tingkatan paling rendah programmer dalam skill-nya. Ini bisa dibilang merupakan level pemula. Yang masuk level ini yaitu mereka yang gres mengenal pemrograman, masih gundah perihal pemrograman itu sendiri dan bagaimana cara memulainya.
Programmer yang skill-nya masih ada di level ini biasanya membutuhkan panduan secara mendetail jikalau mempelajari sesuatu atau mengikuti tutorial. Misalnya cara menulis kode PHP, harus dijelaskan perihal bagaimana menginstal web server terlebih dahulu, kemudian memakai code editor apa, dan bagaiamana cara menyimpan kode program. Biasanya pada tingkatan ini, programmer masih sangat kaku terhadap konteks. Dia bisa saja menuntaskan satu aktivitas sederhana dengan mengikuti tutorial, tapi akan kesulitan jikalau harus memodifikasi aktivitas tersebut.
Saya rasa semua programmer niscaya pernah berada di level ini, ya alasannya semua niscaya butuh proses. Nggak ada ceritanya seseorang programmer pribadi andal coding.
2. Advance Beginner Programmer
Tingkatan selanjutnya yaitu Advance Beginner Programmer. Programmer yang berada di level ini sudah mempunyai skill yang lebih tinggi dari pada Novice Programmer. Karena sudah lebih banyak belajar, programmer di tingkatan ini biasanya sudah mengerti perihal programming dan apa yang ia lakukan dengan programming itu sendiri. Selain itu, programmer di level ini sudah tidak terlalu kaku dengan konteks lagi, jikalau beliau mempelajari sesuatu, beliau bisa memodifikasinya sesuai dengan kebutuhannya. Misalnya beliau mempelajari panduan untuk membuat sebuah aplikasi perpustakaan, beliau sudah bisa menyesuaikan mana yang beliau butuhkan dan mana yang ia tidak beliau butuhkan dari panduan tersebut.
Hanya saja, kelemahan dari programmer di level Advance Beginner ini yaitu mereka tidak terlalu memahami konsep secara keseluruhan. Ketika mempelajari sebuah framework atau tools, beliau hanya mempelajari apa yang beliau butuhkan saja, beliau tidak mengerti bagaimana framework atau tools itu bekerja. Orientasi utamanya yaitu menuntaskan duduk masalah yang ia hadapai, jikalau beberapa fungsi saja sudah cukup untuk menuntaskan masalahnya, maka beliau hanya akan tahu perihal 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 yaitu Competent Programmer. Seorang yang berada di tingkatan ini biasanya sudah mempunyai pengalaman yang lumayan. Ciri utamanya yaitu beliau telah bisa melaksanakan troubleshooting. Ia bisa menuntaskan duduk masalah yang bahkan belum ia temui sebelumnya dari bekal pengalaman per-codingan-nya selama ini. Dalam belajar, programmer di level ini sudah bisa dapat bangun diatas kaki sendiri dan mengeksplorasi sendiri. Kekuatan utamanya yaitu pengalaman.
4. Proficient Programmer
Naik level lagi. Level ini yaitu level yang semakin master, yaitu Proficient Programmer. Seorang programmer yang sudah hingga 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 beliau bahkan bisa memberitahukan dimana letak kesalahan sebuah kode, bahkan tanpa menjalankan kode tersebut.
5. Expert Programmer
Tingkatan paling tinggi seorang programmer dilihat dari skill-nya yaitu seorang expert. Dari merekalah muncul karya-karya luar biasa. Mereka tidak hanya mempelajari sebuah konsep secara keseluruhan dari sebuah tools, mereka malahan membuat tools. Mereka membuat bahasa pemrograman, mereka membuat library, mereka membuat framework, membuat IDE, mereka membuat konsep-konsep gres yang bermanfaat untuk pemrograman, mereka membuat buku. Dari merekalah kita mencar ilmu banyak hal.
Semua level di atas selalu bertahap. Sebelum menjadi seorang expert, niscaya mengalami menjadi proficient. Pun demikian sebelum di sampe situ kita juga niscaya 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 ketika ini, apakah kita ada di level Expert, Proficient, Competent, Advance atau gres ada di tingkatan Novice. Jika kita telah tahu posisi kita, maka selanjutnya kita bisa mencar ilmu lebih banyak lagi sehingga skill kita terus meningkat.
Dalam penerapannya kepada tingkatan seorang programmer menurut skill-nya, maka bisa dijelaskan sebagai berikut:
1. Novice Programmer
Novice yaitu tingkatan paling rendah programmer dalam skill-nya. Ini bisa dibilang merupakan level pemula. Yang masuk level ini yaitu mereka yang gres mengenal pemrograman, masih gundah perihal pemrograman itu sendiri dan bagaimana cara memulainya.
Programmer yang skill-nya masih ada di level ini biasanya membutuhkan panduan secara mendetail jikalau mempelajari sesuatu atau mengikuti tutorial. Misalnya cara menulis kode PHP, harus dijelaskan perihal bagaimana menginstal web server terlebih dahulu, kemudian memakai code editor apa, dan bagaiamana cara menyimpan kode program. Biasanya pada tingkatan ini, programmer masih sangat kaku terhadap konteks. Dia bisa saja menuntaskan satu aktivitas sederhana dengan mengikuti tutorial, tapi akan kesulitan jikalau harus memodifikasi aktivitas tersebut.
Saya rasa semua programmer niscaya pernah berada di level ini, ya alasannya semua niscaya butuh proses. Nggak ada ceritanya seseorang programmer pribadi andal coding.
2. Advance Beginner Programmer
Tingkatan selanjutnya yaitu Advance Beginner Programmer. Programmer yang berada di level ini sudah mempunyai skill yang lebih tinggi dari pada Novice Programmer. Karena sudah lebih banyak belajar, programmer di tingkatan ini biasanya sudah mengerti perihal programming dan apa yang ia lakukan dengan programming itu sendiri. Selain itu, programmer di level ini sudah tidak terlalu kaku dengan konteks lagi, jikalau beliau mempelajari sesuatu, beliau bisa memodifikasinya sesuai dengan kebutuhannya. Misalnya beliau mempelajari panduan untuk membuat sebuah aplikasi perpustakaan, beliau sudah bisa menyesuaikan mana yang beliau butuhkan dan mana yang ia tidak beliau butuhkan dari panduan tersebut.
Hanya saja, kelemahan dari programmer di level Advance Beginner ini yaitu mereka tidak terlalu memahami konsep secara keseluruhan. Ketika mempelajari sebuah framework atau tools, beliau hanya mempelajari apa yang beliau butuhkan saja, beliau tidak mengerti bagaimana framework atau tools itu bekerja. Orientasi utamanya yaitu menuntaskan duduk masalah yang ia hadapai, jikalau beberapa fungsi saja sudah cukup untuk menuntaskan masalahnya, maka beliau hanya akan tahu perihal 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 yaitu Competent Programmer. Seorang yang berada di tingkatan ini biasanya sudah mempunyai pengalaman yang lumayan. Ciri utamanya yaitu beliau telah bisa melaksanakan troubleshooting. Ia bisa menuntaskan duduk masalah yang bahkan belum ia temui sebelumnya dari bekal pengalaman per-codingan-nya selama ini. Dalam belajar, programmer di level ini sudah bisa dapat bangun diatas kaki sendiri dan mengeksplorasi sendiri. Kekuatan utamanya yaitu pengalaman.
4. Proficient Programmer
Naik level lagi. Level ini yaitu level yang semakin master, yaitu Proficient Programmer. Seorang programmer yang sudah hingga 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 beliau bahkan bisa memberitahukan dimana letak kesalahan sebuah kode, bahkan tanpa menjalankan kode tersebut.
5. Expert Programmer
Tingkatan paling tinggi seorang programmer dilihat dari skill-nya yaitu seorang expert. Dari merekalah muncul karya-karya luar biasa. Mereka tidak hanya mempelajari sebuah konsep secara keseluruhan dari sebuah tools, mereka malahan membuat tools. Mereka membuat bahasa pemrograman, mereka membuat library, mereka membuat framework, membuat IDE, mereka membuat konsep-konsep gres yang bermanfaat untuk pemrograman, mereka membuat buku. Dari merekalah kita mencar ilmu banyak hal.
Semua level di atas selalu bertahap. Sebelum menjadi seorang expert, niscaya mengalami menjadi proficient. Pun demikian sebelum di sampe situ kita juga niscaya 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 ketika ini, apakah kita ada di level Expert, Proficient, Competent, Advance atau gres ada di tingkatan Novice. Jika kita telah tahu posisi kita, maka selanjutnya kita bisa mencar ilmu lebih banyak lagi sehingga skill kita terus meningkat.