Coba Anda pikirkan, semua pekerjaan pasti harus dilakukan secara berulang-ulang. Biologis melakukan eksperimen dengan tikus yang diberikan obat bius secara berulang-ulang. Dokter harus memeriksa pasien mereka secara terus menerus. Arsitek menggambar rencana mereka dalam semua perspektif secara manual dan melakukan pembangunan model secara manual juga untuk setiap pekerjaan baru.
Melihat lebih lanjut, sales memberikan pembicaraan yang sama berulang kali ke customer yang berbeda, penata rambut pada prakteknya melakukan hal yang sama setiap hari, penjaga toko menangani barang jualan yang sama untuk customer dalam cara yang sama.
Setiap orang melakukan hal yang sama untuk pekerjaannya secara berulang kali setiap harinya.
Untuk Programmer, Pengulangan Ditinggalkan
Kapanpun kami melakukan pekerjaan secara berulang, kami mencoba untuk memikirkan sebuah cara untuk mengotomatiskan proses. Kapanpun Anda mencari kode yang melakukan hal yang sama, Anda mencari library. Kapanpun Anda memulai proyek dengan dasar yang serupa, Anda mencari boilerplate atau template.
Kehidupan programmer bertujuan untuk mengeliminasi pengulangan, menghilangkan alur kerja manual untuk membuatnya menjadi lebih mudah bagi setiap orang. Bahkan kami mempunyai prinsip DRY (Don't Repeat Yourself) yang menyatakan lebih baik membuat suatu abstraksi yang sulit daripada membuat kode serupa 2 kali.
Oleh karena itulah proyek software yang baik sangatlah membingungkan dengan kedalaman yang tidak terlihat, karena dibuat berdasar pada abstraksi di atas tingkat abstraksi lain, tetapi hal ini membuat kode menjadi lebih pendek.
Di sisi lain, kemalasan telah membuktikan dirinya sebagai pendorong kemajuan pengetahuan dan teknologi dalam sejarah. Lebih mudah menggunakan roda daripada membawa barang, lebih mudah menggunakan kapal daripada berenang, lebih mudah menggunakan bom besar daripada menggunakan puluhan bom kecil.
Mungkin ini membuktikan bahwa bukan hanya programmer yang malas, tetapi engineer yang malas dan mereka berperan besar dalam sejarah kemajuan pengetahuan dan teknologi. Walaupun pada titik ini, programmer terlihat lebih jelas "kemalasannya".
Perbandingan
perbandingan antara jurusan arsitek denan jurusan ilmu komputer. Kebanayakan kehidupan jurusan arsitek dipenuhi dengan melakukan tugas-tugasnya lebih berat dari jurusan imu komputer.
Sebagai contoh, seorang jurusan arsitek akan memiliki tugas dimana ia harus merekatkan potongan-potongan model menjadi satu, menggambar ulang objek dalam beberapa perspektif di autocad, menggambar ulang hal yang sama dalam software pemodelan 3 dimensi yang lain, lalu memasukkannya ke dalam photoshop untuk memperindahnya. Ia harus melakukan hal ini lebih lama dari waktu yang dihabiskannya di kelas.
Bahkan menjadi lebih baik di bidangnya ini tidak akan mempercepat proses ini, hanya mengetahui shortcutyang baru.
Secara kontras, jurusan ilmu komputer yang memiliki tugas dapat mengerjakan tugasnya di kelas, dan tugas paling beratpun dapat diselesaikan hanya dalam waktu 1 minggu atau paling lama 2 minggu. Bahkan jika ia sudah ahli di bidangnya, ia hanya memerlukan waktu beberapa jam untuk menyelesaikan tugas tersebut.
Jika seseorang yang berjurusan ilmu komputer sudah ahli di bidangnya ia tidak menjadi lebih cepat dalam mengetik, tapi ia akan menghasilkan logika pemograman yang lebih ringkas (singkat) dan cepat untuk dikerjakan, lebih reusable dan seterusnya. Di sinilah dikatakan programming adalah sebuah seni.
Bahkan lebih mengagetkan, seorang programmer yang benar-benar ahli akan menghasilkan sebuah alat atau tool yang memudahkan pekerjaannya ini. Seperti untuk tugas web contohnya, ia akan membuat template dasar yang hanya tinggal dipanggil saja untuk melakukan sesuatu.
Apakah Ini Disebut Kerja Keras?
Jadi apakah ini kerja keras? Kerja keras ini merupakan suatu hal yang relatif, dapat dikatakan iya dan tidak.
Dalam pembahasan iya, programmer ini tentunya sudah bekerja keras pada pembelajaran untuk pengalaman dalam pemogramannya ini dan ia sekarang tinggal memetik hasil dari pembelajarannya ini dengan menghasilkan sebuah cara yang mempermudahnya.
Dalam pembahasan tidak, programmer tidak bekerja keras dibandingkan dengan pekerjaan lain karena ia hanya perlu mengambil kode pemograman lain yang mungkin sudah ada di Internet dan menggunakannya, tanpa perlu membuat dari dasar. Tapi mari kita lihat apa yang dikatakan Swizec Teller:
Bekerja keras jusru akan memberikan efek negatif ke programmer, karena programmer akan meninggalkan "seni" dari programming itu (optimisasi kode), dan melakukannya secara cepat. Saya tidak tahu apakah orang malas tertarik untuk menjadi programmer atau sebaliknya pemograman membuat orang menjadi malas.
0 komentar:
Post a Comment