Programming?

Apa yang saya senangi? Banyak. Mendengarkan musik, membaca, menulis, sesekali bernyanyi.

Tapi di luar itu semua, ada satu hal yang ketika melakukannya, ada adrenalin yang terpacu, ada nafas yang memburu, ada rasa ingin tahu yang butuh terpuaskan ketika melakukan suatu aktivitas yang disebut programming. Entah itu pada kegiatan-kegiatan competitive programming atau pada kegiatan programming yang normal.

Duduk, lalu memahami domain masalah, lalu berpikir langkah-langkah yang obvious untuk menyelesaikan masalah tersebut, lalu melakukan optimasi-optimasi, lalu menuangkannya ke dalam baris-baris kode. Terkadang, layar komputer tetap kosong selama bermenit-menit hingga berjam-jam sebelum akhirnya setelah selesai berpikir, ada excitement yang luar biasa; inilah momen yang saya pernah tuliskan di LINE sebagai “momen ketika kita mengetahui kita sudah membuat algoritma yang elegan”.

Saya pernah berdiskusi — nyaris berdebat — dengan Pak Dewa Gede Parta mengenai istilah programming ini. Beliau mengungkapkan kegusarannya terhadap “mayoritas anak JTK yang mendewakan coding di atas programming”. Mendewakan implementasi ketimbang fundamental thinking mengenai mengapa implementasinya harus “berwujud” demikian.

Dan saya sepakat dengan kegusaran serta pendapat beliau. Programming haruslah menjadi basis atas coding. Coding adalah “pengungkapan” teknis dari programming. Sehingga orang-orang yang mampu ber-programming akan memiliki pola pikir yang platform-agnostic (terbebas dari platform) dan language-agnostic (terbebas dari kungkungan bahasa pemrograman). Orang-orang yang ber-programming tidak masalah mengerjakan proyek A dengan C++, lalu beralih ke C# pada proyek B, Java pada proyek C, dan PHP pada proyek D.

Tidak hanya itu, orang-orang yang ber-programming ini nantinya tidak perlu menguasai teknis dari bahasa yang digunakan. Mereka — orang-orang yang disebut sebagai programmer ini — akan menjadi problem solver. Melakukan solving atas problem yang dihadapi. Deliverable berupa program jadi tidak harus juga dihasilkan oleh programmer. Programmer bisa mendiskusikan dan mendisposisikan pengerjaannya kepada para coder — mereka yang melakukan coding.

Bahkan, kalau kita mau membuka mata dan pikiran, maka hampir setiap hari kita ber-programming di organisasi. Seorang ketua panitia, ketua divisi, ketua departemen, atau ketua himpunan pasti pernah melakukan programming terhadap unit yang dipimpinnya. Berdiam diri, berpikir lamat-lamat, sebelum akhirnya menemukan “aha”-moment, dan kemudian mendiskusikan dan mendisposisikannya ke jajaran di bawahnya.

Hanya saja, “guru dan orang tua kita tidak pernah bilang kalau itu programming”. 🙂

Cipageran, 4 Juli 2015, pukul 08.15. Dibuat kilat untuk memenuhi penugasan pada acara SORTING HIMAKOM 2015.

Comments

comments powered by Disqus