13 Oktober 2015 - 04:04:02 - Read: 4599

Begini Cara Mengetahui Kamu Programmer Expert Atau Bukan

Hi hallo Expert Programmer, ijinkan blogger ini berkomentar tentang level skill kalian sebagai seorang Programmer. CMIIW.

Apa yang bisa dijadikan tolak ukur untuk mengetahui level seorang programmer? Hal ini sulit, karena programming adalah hal yang sangat kompleks. membahas tentang Programming, berarti kita membicarakan tentang Efisiensi, Keakuratan Logika, Efektifitas Tujuan, Keberlangsungan Aplikasi, Kompatibilitas Platform, Pemilihan Bahasa Pemrograman yang Tepat, Up To Date, dan Hal Teknis Non Programming.

Istilahnya keren-keren yak? hahaha. Aslinya mau dipakein bahasa inggris, cuma takut dikira ini istilah nyata. Karena istilah diatas hanya ada didalam blog ini ja :p

Yarp, mari kita bahas per point diatas.

Efisiensi.

Efisiensi Waktu
Seorang 'Programmer' pasti punya kilah khusus untuk client


"Ngoding itu butuh inspirasi, gak perlu buru-buru, client cukup rileks saja, yang penting program selesai sesuai dengan permintaan"


Dipecat kamu bro kalo cara kerja programmer kayak gini. Karena Client butuh program selesai secepatnya, dan perusahaan masih mempunyai beberapa project lainnya. Programmer Expert akan menyelesaikan setiap project secepatnya, karena waktu santainya adalah ketika program sudah tidak dikomplain client. Programmer Expert berpengalaman, tahu estimasi waktu dalam pengerjaan aplikasinya. Bahkan ketika terjadi hal-hal diluar skenario

"aplikasi yang Bapak butuhkan menarik untuk diimplementasikan, tapi ada beberapa kasus yang belum pernah saya temui. saya butuh tambahan waktu untuk riset dan menyelesaikannya sekitar satu bulan. saya janji, akan tepat waktu.."

abis itu commit dan bener2 satu bulan or kurang. jangan ngaret..

Efisiensi Kode

Selain waktu, efisiensi codingan juga merupakan hal yang perlu diperhatikan. Bagaimana membuat sebuah baris kode yang Clean dan mudah untuk di-debug. Karena Semakin mudah baris code di debug, semakin cepat pula seorang programmer bisa istirahat :p


Keakuratan Logika

Semakin sering program error ketika Run Time, semakin sering pula client mengeluh, dan semakin lama pula kita memiliki waktu luang, karena waktu kita tersita untuk memperbaiki program yang error. Kebanyakan program error bukan karena hal teknis, karena alur logika sudah error dari awal.

Kata siapa programmer yang sudah menggeluti dunia programming selama bertahun-tahun itu sudah pasti Expert? Dan hal ini bukan berarti juga label Expert bisa ditempelkan kepada programmer yang masih baru.

Karena semakin banyak seorang programmer menerima job, berarti semakin banyak pula masalah yang ditemuinya. Dan semakin banyak masalah yang ditemui, berbanding lurus dengan solusi yang dia temukan. Dan masing-masing metode solusi, dia buat untuk membantu meringkas berbagai macam metode solusi yang dia temukan tadi.

Bingung ya? CMS itu dibuat oleh seorang Expert Programmer. Dan digunakan oleh para Newbie Programmer. Ngerti kan? Itulah Solusi. :)


Efektifitas Tujuan

Selain waktu, program yang berjalan sesuai dengan keinginan client adalah alasan lain agar Programmer Expert memiliki waktu luang lebih panjang. Debugging di finalizing program itu wajar, tapi Recoding? Jangan sampe deh... :p


Keberlangsungan Aplikasi

Terkadang untuk menjaga keberlangsungan sebuah project jangka panjang, solusi terbaik adalah dengan menggunakan Framework. Atau membuat salah satunya :p

Karena dengan menyelesaikan Main Project, dan menyerahkan Submain Project kepada programmer lainnya, maka seorang Programmer Expert bakalan memiliki waktu luang yang lebih banyak.

Jadi kesimpulannya, Programmer Expert adalah Programmer yang paling banyak memiliki waktu luang.


"Loh, berarti gak perlu jago ngoding dong?"


Baca lagi deh diatas, ke-5 hal diatas tidak mungkin bisa dilakukan oleh Programmer Pemula sekaligus.


"Saya programmer mas, dan saya punya banyak waktu luang"


Waktu luang disini relatif dek,
Programmer A punya jam kerja 24 jam per hari. Waktu luangnya bisa sampe 16 jam per hari.
Programmer B punya jam kerja 8 jam per hari. Setiap hari dia update status sedang ngoding anytime, everywhere. Tiap hari menghabiskan waktunya didepan laptop, ngoding.

Jadi, mana yang lebih menikmati codingannya? :)
relative kan? :p

"Mas, ada tuh temen saya yang kalo ngerjain project tepat waktu, program jarang error, Client puas, udah ngerjain banyak project, dan juga pake framework. Berarti udah expert dong? Kok kriteria Programmer Expert umum banget??"

Yarp, kalo gitu kita lihat point terakhir

 

Up To Date

Jangan lupa, Programmer Expert selalu mengikuti perkembangan teknologi terbaru. Tidak hanya dari sisi fitur terbaru, tapi juga tentang patch-patch security ter-update.

 

Hal Teknis Non Programming

Kalo yang dimaksud dengan pertanyaan terakhir adalah tentang frontend sebuah website, maka semua itu sudah merupakan standard wajib untuk semua programmer. Tapi apakah hal-hal yang tidak berkaitan dengan programming juga wajib diketahui oleh programmer? Tidak. Bagi programmer, "ngerjain project tepat waktu, program jarang error, Client puas, udah ngerjain banyak project, dan juga pake framework" adalah kewajiban. Tapi memahami cara kerja server, paket data di jaringan, keamanan data, optimalisasi database, dan hal teknis lain diluar programming adalah hal-hal yang tidak wajib oleh "programmer".

Berbeda dengan Programmer Expert, hal-hal tambahan diatas adalah informasi penting yang wajib diketahui.

Se-teknis apa sih sampe programmer harus mengetahui tentang kapan harus menggunakan Client Side Management, misalnya ketika akan menyimpan data apakah cukup didalam "temporary variabel" saja, atau di "cookie", "cache browser/proxy" atau di "localStorage"? Atau jika di server side, apakah penyimpanan file harus dalam bentuk FILE, atau BLOB?

Atau se-teknis apa sih sampe seorang programmer harus beralih menggunakan bahasa pemrograman yang lain demi "Kompabilitas Platform" aplikasi yang dibuatnya? Kenapa harus menyediakan node khusus untuk jalur komunikasi data tanpa memberatkan web server? Kenapa sebagian pengolahan proses di backend harus menggunakan python / perl / ruby / C?? ketika semua proses di server bisa saja dilakukan oleh / cukup dengan menggunakan PHP / ASP saja?

Hal ini bukan berarti Programmer Expert adalah programmer yang menguasai semua bahasa pemrograman. Akan tetapi, Programmer Expert tahu kapan harus menggunakan bahasa pemrograman lain yang tidak benar-benar dikuasainya, (dan) tapi tidak merasa begitu kesulitan meng-'konvesi logika' alur programnya ke bahasa pemrograman lain tersebut.


Begitulah. Btw, semua kriteria diatas mohon di-CMIIW yak. Karena penulis bukanlah Programmer Expert. Just an Ordinary Programmer Wannabe :p

Kalo kamu gak setuju dengan kriteria diatas, (dan) atau punya kriteria sendiri tentang ciri Programmer Expert, tulis dikomentar yak :)

Thx To:

Peter Jack Kambey | Head of Executive PHP Indonesia Community

Adit Kaleumm

ArRay | ExploreCrew