Home
News

Tingkatan Keahlian Programmer

Pernah mendengar tentang Model Dreyfus? Ini merupakan model yang digunakan untuk mengukur tingkatan skill seseorang berdasarkan darimana ia mendapatkan skill-nya baik dari teori maupun praktik.

Singkatnya, Model Dreyfus mengelompokkan tingkatan skill menjadi 5 bagian, yaitu Novice, Advance Beginner, Competent, Proficient, dan Expert. Untuk lebih jelasnya, berikut gambaran tiap-tiap levelnya:

Novice Programmer

Disebut juga sebagai Programmer pemula. Pada tahap ini, si Programmer baru saja mengenal suatu bahasa pemrograman. Semua Programmer andal saat ini tentunya pernah berada pada tahap ini untuk pertama kali masuk ke dunia IT, di mana mereka masih sangat memerlukan panduan maupun tutorial secara rinci untuk memulai sesuatu seperti menulis kode, menginstal web server, hingga code editor apa yang harus digunakan. Kebanyakan Novice Programmer ingin menyelesaikan masalah secara instan, tanpa ingin belajar lebih jauh dalam mencari solusi permasalahan tersebut.

Advance Beginner Programmer

Bisa dikatakan pada tingkatan ini, seorang Advance Beginner Programmer sedikit lebih besar kemampuannya dari Novice Programmer. Walaupun belum memahami gambaran inti dari sebuah konsep, namun pada tahap ini meraka sudah mengerti bagaimana sebuah tools seperti bahasa pemrograman, framework dan API berjalan. Kelemahan dari Advance Beginner Programmer yaitu mereka hanya mempelajari apa yang mereka butuhkan saja untuk menyelesaikan masalah.

Competent Programmer

Pada tahap ini, seorang Programmer sudah mampu melakukan troubleshooting. Selain itu, ia juga mampu mengaplikasikan saran yang diberikan oleh seorang Expert Programmer dalam memecahkan masalah. Kecepatan kerja seorang Competent Programmer dapat diukur dari berapa banyak masalah yang ia solved dan hasilnya dapat dilihat dari jumlah pekerjaan serta pengalamannya mengerjakan project.

Proficient Programmer

Proficient Programmer kurang tertarik dengan penjelasan tutorial yang lambat atau bertele-tele. Mereka lebih memerlukan inti (big picture) dari sebuah tutorial itu. Bagi mereka, bagaimana framework dapat bekerja merupakan suatu keharusan dibandingkan dengan hanya memahami fungsi dari framework tersebut. Salah satu kelebihan Proficient Programmer adalah mampu belajar tanpa mempraktikkannya. Contoh: Proficient Programmer dapat mengerti bagaimana cara kerja sebuah framework hanya dari melihat cara seseorang menyelesaikan project dengan menggunakan framework tersebut.

Expert Programmer

Expert Programmer di sini merupakan mereka yang ahli di bidang pemrograman hingga mampu menciptakan bahasa pemrograman, framework, membuat IDE hingga mengajarkan kita akan konsep-konsep baru. Expert Programmer tidak perlu membuang banyak waktu memikirkan solusi untuk memecahkan masalah, karena mereka mampu memberikan solusi berdasarkan “feeling”. Mengapa demikian? Karena para Expert Programmer memiliki segudang pengalaman di dunia pemrograman, bahkan mereka berhasil melahirkan karya-karya besar termasuk menulis buku yang dijadikan referensi sekolah Programming.

Semua tingkatan di atas dikelompokkan secara berurutan dan saling berhubungan. Dengan kata lain, tidak ada Expert Programmer instan tanpa melalui level-level di bawahnya. Melihat dari tingkatan tersebut, di level yang manakah kira-kira kamu saat ini?

Source: https://computerscience.id/