Hai bro dan bro sist Blogs4rt sekalian, apa kabarnya sahabat Blogs4rt? Semoga semua dalam keadaan sehat wal-afiat yah:*
Lama gak update blog ini karena kebanyakan alasan bro sist wkwk masih tercantum jelas terakhir update itu 23/01/14 -_- Soalnya ane sibuk ngurus segala-galanya didunia real bro sist :( Terutama masalah pasangan, project dan hobby nih :(
Kali ini jinkan 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 WaktuSeorang '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 :pKarena 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
Cafelinux
Source: http://cafelinux.info/news/begini-cara-mengetahui-kamu-programmer-expert-atau-bukan
0 Response to "Begini Cara Mengetahui Kamu Programmer Expert Atau Bukan"
Post a Comment