Programmer: Mengetik Baris Kode untuk Berkomunikasi dengan Komputer

“Pekerjaanmu apa? Kerjaannya ngapain?” merupakan pertanyaan yang sering saya dengar dan seharusnya bisa dengan mudah dijawab, tapi entah kenapa saya cukup bingung untuk menjelaskannya. Terutama untuk menjelaskan ke orang yang cukup awam di teknologi software development.

Sebagai programmer pekerjaan saya mengetik. Yes, kalian nggak salah baca, mengetik. Tujuannya? Berkomunikasi ke mesin, bisa berupa komputer, smartphone, smart tv, smartwatch, dan lain sebagainya. Apa yang diketik? Apakah sebuah kata-kata? Sebuah kalimat? Bisa dibilang sejenis itu. Sama seperti ketika kita berkomunikasi ke sesama manusia, kita menggunakan beberapa bahasa, yang setiap bahasa memiliki aturan dan kamus katanya masing-masing.

Tapi, apakah programmer tugasnya hanya mengetik seperti itu? Let me tell you some point of view selain “mengetik” dan “berkomunikasi dengan komputer”.

Menjadi Tech Support

Kenapa kita berkomunikasi dengan komputer? Ya, kita memintanya membantu menyelesaikan suatu masalah, masalah dari client. Di mana kadang client sendiri belum benar-benar tahu apa masalah yang sedang ia hadapi. Sama seperti psikolog, kita perlu menggali informasi dari client untuk mengetahui masalah apa yang dihadapi, bagaimana keinginan client, dan kita sebagai orang yang bisa berkomunikasi dengan komputer, juga memberikan dan menjelaskan beberapa point di mana komputer bisa membantu masalah client dari sisi tech.

Menjadi User & QA

Ketika kita sudah membuat program, jika penggunaannya sesuai dengan ekspektasi kita seharusnya program akan berjalan dengan lancar, bukan? Namun, ketika user masih awam dengan program buatan kita, belum tentu mereka akan menggunakannya sesuai dengan ekspektasi kita. Nah, di sini kita perlu memiliki POV menggunakan program sebagai user.

Berbagai kemungkinan user akan menggunakan program harus kita definisikan dengan jelas, dengan begitu kita bisa memutuskan apa yang perlu dilakukan, bila memang menimbulkan issue bisa kita perbaiki program kita, bila memang harus ada limitasi bisa kita dokumentasikan. Dari use case itu bisa menjadi QA dengan memastikannya sudah fixed atau didokumentasikan, sehingga ketika QA menemukan hal tersebut, sudah ada jawaban/solusinya. Sebagai seorang programmer, kita perlu memiliki POV user dan QA, mengapa? Karena kita perlu memiliki empati ke user/ QA kita agar kita dapat memahami apa yang mereka butuhkan dan inginkan.

Menjadi Detektif

Kalian pernah melaporkan bug atau issue di suatu program? di sinilah programmer harus memposisikan diri sebagai detektif, dari ribuan sampai jutaan baris tulisan (code), programmer perlu mencari baris mana yang menimbulkan issue atau bug tersebut, bagaimana caranya? Bisa dengan memasang garis polisi, mengisolasi kemungkinan baris group/lokasi terjadinya issue. Kemudian membuat reka ulang kejadian, reproduce the issue untuk melihat bagaimana behaviour program digunakan sehingga bisa muncul issue tersebut, lalu menemukan issuenya.

Melihat Bagaimana Kode-Kode akan Terbentuk

Saat kita membuat program, menulis baris demi baris kode sampai terbentuk programnya. Sama seperti membangun rumah, menyusun satu persatu batu bata, keramik, dan juga genteng. Bagaimana jika aslinya rumah yang hanya dibangun untuk 1 lantai, akan dijadikan 2-3 lantai? Tinggal menambah bangunan di lantai 2 dan 3? Tidak semudah itu. Kekuatan pondasi dan bentuk awal yg kemungkinan perlu diubah juga menjadi pertimbangan. Nah, di program juga berlaku hal yang sama, kita perlu membuat program dengan melihat kemungkinan di masa depan mengenai bagian mana yang nantinya akan diubah, tapi perubahannya itu tidak banyak mengganggu pondasi & bentuk awal bangunan atau pemrograman.

Menjadi Orang Aneh

Ya, kalau ini sepertinya nggak perlu dijelaskan, dari keempat point di atas, saat dipraktikkan dan dibicarakan dengan bahasa asli (tanpa menggunakan perumpamaan) bagi orang awam, akan terlihat sebagai orang yang aneh. Dan tidak sedikit juga yang sering bilang seperti ini hahaha, apakah Anda juga pernah merasakannya?

Baca Juga

Pada dasarnya, menjadi seorang programmer tidak hanya perlu mahir dalam coding, namun perlu juga memiliki kemampuan lainnya seperti komunikasi antar tim, pemecahan masalah, bisa menempatkan diri dari berbagai point of view, dan kemampuan non teknikal lainnya.

Ingin mengetahui lebih lanjut terkait terkait sharing-sharing MPeople lainnya? Kunjungi blog kami di sini!

Exza Alviansyah - Backend Developer