Saturday, August 7, 2010

Pekerjaan Programmer Adalah Bermimpi

Tulisan di bawah adalah terjemahan saya dari artikel di sini. . Saya sendiri lebih suka membaca versi bahasa inggris, lebih "beremosi."



Pekerjaan programmer adalah BERMIMPI.

Rasanya, hal itu terdengar konyol dan tak mungkin kan?

Bila anda ingin melihat dan memahami dengan jelas tentang apa yang dilakukan oleh programmer, maka anda harus menjadi dia, setidaknya berada dalam posisinya. Sederhana saja, bayangkan bahwa programmer sedang TIDUR ketika ia sedang BEKERJA.

Hasil kerja programmer adalah impian, angan dalam tidur yang nyenyak, fantasi. Semua itu ditulis dalam bahasa khusus untuk perangkat elektronik yang mengabadikan eksistensi impian-impiannya selama programmer sedang tidak tidur atau sedang memimpikan hal yang lain.

Anda mungkin tergoda untuk berpikir bahwa yang dilakukan programmer hanyalah suatu tugas rutin, menulis suatu program, dan dengan itu masalah terpecahkan. Sebenarnya tidak, dan bukan begitu cara kerjanya.

Ambil saja contoh sebuah lorong sesat. Seorang programmer bertugas untuk membuat algoritma untuk menemukan jalan keluar dari sebuah lorong sesat. Ketika programmer mengerjakannya, ia bukanlah Tangan Tuhan yang menunjukkan jalan kepada gadis kecil yang tersesat di dalamnya. Ia bukan pula gadis itu, dan bukan pula dinding labirin yang berliku. Untuk menyelesaikan tugas itu ia HARUS MENJADI labirin, dindingnya, gadis yang tersesat, dan segala hal yang ada di dalamnya. Ini bukan hanya formalitas kata-kata, programmer benar-benar TIDUR dan MEMIMPIKAN itu semua dalam pikirannya.

Ketika anda melihat seorang programmer bekerja, maka secara efektif anda sedang melihat orang yang sedang bermimpi dalam tidurnya yang lelap. Omong-omong, apakah anda mudah tidur?

Bagi banyak orang, proses memulai tidur adalah proses yang sangat serius. Sebagian memerlukan hal-hal khusus untuk bisa tidur. Sebagian orang dapat melakukan dengan cepat, sebagian lagi melakukannya dengan sangat lambat. Sebagian lagi bahkan susah tidur ketika mereka benar-benar membutuhkannya, sehingga mereka minum pil tidur, atau membuat minuman khusus. Intinya, jumlah orang yang bisa memulai tidurnya dengan mudah sangatlah sedikit.

Hal yang sama berlaku pula untuk programmer. Proses memulai bekerja bagi mereka kira-kira seperti proses yang dijalani oleh orang lain untuk tidur. Mereka tidak dapat begitu saja memulai pekerjaannya, layaknya sebagian besar orang yang tak bisa serta merta berkata "tidur!" dan langsung tertidur. Tidak ada pula resep umum yang bisa digunakan oleh programmer untuk mempercepat proses itu, seperti halnya tidak ada cara umum yang dapat dilakukan oleh semua orang untuk bisa cepat tidur.

Beberapa orang menghitung domba ketika akan tidur. Ada pula yang harus menonton televisi terlebih dahulu agar bisa mengantuk. Beberapa yang lain tak dapat melakukannya tanpa membaca terlebih dahulu. Ada berbagai macam bentuk dan aktifitas lain seperti menghitung, mengalihkan perhatian, atau bahkan cara-cara aneh lainnya untuk bisa memulai tidur. Bagi programmer, itu semua kira-kira setara dengan proses yang mereka butuhkan untuk mulai bekerja.

Dalam situasi seperti itu, apa yang harus dilakukan? Bagaimana kita berurusan dengan tukang tidur profesional seperti itu? Mungkin itulah pertanyaan anda.

Begini. Anggap saja anda BUKAN programmer, dan baik secara langsung atau tidak, anda ingin memperoleh hasil yang produktif dari seorang programmer. Dalam hal ini anda memiliki ketertarikan (dan kepentingan) untuk mengerti bagaimana cara mengatur programmer anda secara efektif, sehingga ia bisa menghasilkan produk dengan kualitas sebaik mungkin.

Bayangkan bahwa anda mengendalikan SEGALA HAL, dan semua itu tergantung pada kualitas tidur anda. Hidup anda, hidup anak-anak anda, karir, warisan, dan sebagainya. Lebih dari itu, nyawa orang-orang di pesawat terbang, uang mereka di bank, karir mereka, dan segala rahasia kecil yang mereka miliki. Itu SEMUA tergantung pada senyenyak apa tidur anda. Tidak hanya tidur semalam, tetapi SETIAP TIDUR pada SETIAP MALAM. Setiap anda akan tidur, anda akan teringat bahwa semua itu bergantung pada senyenyak apa anda tidur malam ini.

Bagaimana? Terbayang? Secara tekstual, begitulah programmer.

Bagi anda, mungkin anda hanya mengajukan sebuah pertanyaan sederhana. Hanya menanyakan "Sekarang jam berapa?" Hanya itu.

Bagimana kalau saya bertanya "jam berapa" kepada anda pada jam 3 pagi? Ah, tak masalah kan? Hanya sebuah pertanyaan sederhana. Saya hanya bertanya. Anda tinggal menjawab, dan silakan teruskan tidur anda. Bukan masalah. Hanya sekali saja saya bertanya, dan itu tidak sulit untuk dijawab. Pertanyaan itu kira-kira semudah pertanyaan "Sudah baca email?" Tak perlu khawatir, tak perlu risau. Anda tinggal menjawab "sudah" atau "belum", dan silakan lanjutkan tidur anda.

Bagaimana? Mudah dibayangkan?

Apakah anda ingat bahwa SEMUA HAL masih sangat tergantung pada senyenyak apa tidur anda? Itu masih berlaku. Tidak ada yang mengubah kondisi itu. Bila tidur anda tidak nyenyak, maka orang-orang akan mati, dan saya masih saja menanyakan pertanyaan yang singkat dan sederhana itu ketika anda tidur.

Bagimana? Apakah anda masih merasa nyaman dengan tidur anda?

Bagaimana kalau anda coba tidur dan sesekali diselingi dengan menonton televisi, SAMBIL sedikit mendengarkan radio, SAMBIL sesekali memeriksa email yang masuk, SAMBIL sesekali membantu saya membawa belanjaan dari toko. Bisakah anda melakukannya?

Dapatkah anda melakukannya setiap hari, lima hari dalam seminggu, 48 minggu dalam setahun?

Bila anda memang menginginkan kehidupan seperti itu, datanglah ke perusahaan kami. Silakan melamar pekerjaan, dan kami jamin bahwa keinginan anda akan terkabul.

Ya, tentu saja tidak semua seperti itu. Ada beberapa orang yang dapat tidur dengan cepat kapan pun mereka mau. Saya kenal beberapa sopir yang bisa tidur manakala ada sedikit kesempatan muncul, persis seperti mainan yang menggunakan baterai yang dapat dinyalakan dan dimatikan kapan pun kita mau. Mungkin anda pernah harus membangunkan sopir ketika lampu hijau traffic light sudah menyala, dan kendaraan lain mulai membunyikan klaksonnya karena mobil anda tak kunjung bergerak.

Programmer pun begitu. Ada juga programmer yang bisa memulai bekerja kapan pun mereka mau. Sisi negatif yang muncul bila anda bisa tidur semudah dan sesingkat itu adalah anda takkan banyak bermimpi. Anda mungkin akan sedikit bermimpi, akan tetapi cepat pula anda lupakan. Beberapa saat kemudian anda takkan ingat mimpi itu. Begitu pula dalam dunia pemrograman.

Banyak sekali program yang dihasilkan oleh programmer yang "tidur singkat", namun bukan karena mereka memang menginginkannya. Hal itu terjadi karena mayoritas orang yang bekerja dengan para programmer tak membiarkan mereka tidur senyenyak itu. Banyak sekali hal-hal yang "menjengkelkan" yang terjadi di industri software yang membuat banyak programmer terjaga; Terjaga ketika sebenarnya mereka butuh tidur untuk menyelesaikan pekerjaannya. Itulah mengapa banyak sekali program berkualitas buruk yang dapat kita temukan dengan mudah di mana-mana.

Saya sendiri tidak dapat bekerja di dalam lingkungan yang saya gambarkan di atas. Saya perlu melakukan "ritual khusus" agar saya dapat mulai bekerja. Anda tidak dapat tidur tanpa sedikit membaca novel, dan saya tak bisa produktif tanpa membaca sedikit jurnal di internet, membaca sedikit berita, dan memandangi monitor tanpa tujuan yang jelas. Bila saya mengganggu proses anda dalam memulai tidur, maka anda harus mengulanginya dari awal lagi. Saya pun begitu. Bila saya terganggu, maka saya harus mengulang itu semua dari awal lagi. Anda takkan bisa tidur dengan baik sambil mengerjakan hal yang lain. Anda hanya bisa melakukan satu hal pada satu waktu. Hal yang sama berlaku pula untuk saya ketika saya akan memulai perkerjaan saya. Kadangkala, tanpa ada sebab yang jelas, anda tak dapat tidur hingga dini hari. Selimut sudah tak karuan, bantal terserak entah ke mana. Itu pun terjadi pada saya. Terkadang saya sama sekali tidak dapat bekerja tanpa penyebab yang jelas.

Semoga analogi di atas bisa anda terima walaupun anda tidak pernah memiliki pengalaman menjadi programmer. Saya berharap dengan makin banyaknya orang yang memahami analogi sederhana antara pekerjaan programmer dengan bermimpi, mereka bisa mengambil langkah tepat untuk berhubungan dengan programmer. Mungkin ini juga membantu banyak orang memahami dari mana asal program-program yang baik, dan mengapa ada banyak sekali program dengan kualitas yang sangat memprihatinkan.

Anda mau program yang baik?

Apa anda ingin agar suami anda yang kebetulan bekerja sebagai programmer bisa sukses dan kaya?

Apa anda ingin pegawai anda bisa mencapai yang terbaik seperti yang anda harapkan?

Ini ada resep sederhana untuk anda (walau dalam bahasa jawa):

OJO NGGUGAH PROGRAMMER SERING-SERING CUK!!

http://sokam.or.id/bg/log/485

0 comments: