jadi programmer, kenapa…

—untuk rekan-rekan yang sedang memikirkan cita-cita sebagai programmer

___

rekan-rekan yang saya hormati,

dulu, sewaktu saya masih seusia anda, saya sering menemukan bahwa banyak rekan-rekan di sekitar saya menganggap bahwa menjadi programmer adalah sebuah pekerjaan yang keren. dan sejujurnya, saya juga berpikir demikian; saya berpikir bahwa bisa melakukan banyak hal dengan komputer adalah hal yang sangat hebat, dan saya cukup yakin bahwa sebagian (cukup besar?) dari kalian memiliki pemikiran yang serupa.

saya pertama kali mengenal komputer sejak kelas satu SD, dan dengan demikian saya mulai tertarik terhadap benda ‘ajaib’ ini — tapi ini cerita untuk saat lain. beberapa dari anda mungkin malah sudah mengenal komputer sejak usia yang lebih muda lagi, dan dengan demikian anda mungkin berpikir bahwa menjadi seorang yang bisa melakukan pemrograman terhadap komputer adalah hal yang keren. dan dengan demikian, beberapa dari anda mungkin memiliki cita-cita untuk menjadi seorang programmer. atau system analyst. atau technical support. atau sejenisnya, terserah anda.

saran saya, sebaiknya anda memikirkan kembali pandangan anda itu.

::

menjadi programmer itu bukanlah hal yang keren banget-banget. sungguh. mungkin kelihatannya begitu, tapi percayalah bahwa tidak demikian halnya; sesungguhnya, menjadi seorang programmer adalah area penuh resiko dan ujian mental. saat ini mungkin anda belum dapat membayangkan, tapi sudahlah. biarkan saya melanjutkan cerita ini dulu.

jadi, menurut anda menjadi programmer adalah sebuah pekerjaan yang keren. mungkin memang, tapi sesungguhnya tidak terlalu. anda mungkin pernah membayangkan akan bisa membuat game? memang bisa kok. anda mungkin pernah membayangkan akan bisa membuat halaman web seperti friendster? memang bisa kok.

kalau anda tanya saya, menjadi seorang programmer adalah area penuh resiko dan ujian mental. siap-siap capek, kurang tidur, dan dipanggil sewaktu-waktu. anda mungkin akan kekurangan hari libur. waktu pengembangan mungkin memang didesain pada hari kerja, tapi pada dasarnya anda akan merasa (atau ‘dibuat merasa’? entahlah) perlu dan ingin bekerja pada hari libur. dan percaya atau tidak, konon katanya pekerja-pekerja di bidang IT adalah orang-orang yang mengalami tekanan cukup tinggi dibandingkan dengan bidang lain — saya pernah baca artikelnya, tapi sayangnya saya lupa di mana.

…tidak percaya? silakan bertanya kepada kakak atau mungkin kerabat yang bekerja di bidang IT. atau lebih spesifik lagi, sebagai programmer.

::

menjadi programmer, berarti harus siap untuk di-assign ke dalam berbagai macam proyek terkait rekayasa perangkat lunak alias software engineering. maksudnya, anda membuatkan sesuatu untuk orang lain — aplikasi, program, website, apapun sejenisnya. dan dengan demikian, hal ini terkait dengan kebutuhan untuk berinteraksi secara intens dengan orang lain — supervisor, klien, dan mungkin juga yang lain. dan ‘orang-orang lain’ ini bisa bermacam-macam ‘bentuk’ dan ‘rupa’-nya, jadi anda harus siap-siap sedikit ‘kaget’ kalau tidak terbiasa soal ini.

ada yang berpikir bahwa menjadi programmer berarti cuma perlu berpikir logis dan analitis, serta sedikit cara berpikir ala matematika? sayangnya salah. software engineering adalah ilmu sosial. surprise. dan sebagaimana lazimnya konteks dalam ilmu sosial, anda bisa menemukan banyak ‘mahzab’; dari yang mengutamakan total-quality-management sampai serabutan-pokoknya-jadi. dan apa yang terjadi, anda jelas perlu punya kemampuan dan kepekaan sosial yang tinggi untuk bisa beradaptasi dengan keadaan yang kadang bisa serba-mengejutkan ini.

itu baru satu hal. kadang-kadang, anda mungkin harus memperbaiki hasil kerja programmer sebelum anda — yang sialnya, hasil kerjanya bisa jadi tidak sebagus harapan anda. alur program yang entah kemana, dan dokumentasi yang bahkan tidak memenuhi syarat… kalau ada. seringnya malah tidak ada, sih. jangan lupa bahwa anda biasanya akan dikejar tenggat waktu. sudahlah, hal ini susah diceritakan. mungkin memang harus dialami sendiri sih, entahlah.

ada lagi? ada! dengan menjadi programmer, anda harus siap dengan fluktuasi emosi dan sikap yang bisa jadi mempengaruhi orang-orang di sekitar anda. bukan hal yang aneh bahwa seorang programmer bisa diam lama ketika ngobrol dengan anda, sebelum kemudian berkata ‘oh iya!’ dan kembali ke depan komputer. bukan hal yang aneh pula bahwa anda bisa menemukan seorang programmer yang keluar ruangan dengan tampang penat setelah beberapa jam, dan kemudian sudah cerah-ceria lagi dalam beberapa jam setelahnya.

::

menjadi programmer juga berarti berkurangnya aktivitas fisik. jangan bandingkan dengan orang-orang geologi atau elektro yang sering ke lapangan kalau sedang di proyek — kadang-kadang mungkin sedikit membuat iri bahwa mereka bisa jalan-jalan di lapangan. menjadi programmer adalah duduk (hampir) seharian di depan komputer, biasanya dengan akses internet. dan akibatnya? programmer itu pekerjaan rawan obesitas! apalagi kalau di dekat anda ada kantong keripik atau kue kering. jangan lupa mata anda. sebagian besar programmer yang saya kenal menggunakan kacamata atau lensa kontak — saya sendiri sudah menggunakan kacamata sejak belasan tahun lalu, tapi apakah hal ini berhubungan dengan pekerjaan, entahlah.

salah satu hal yang mungkin akan menimpa anda dengan pekerjaan sebagai programmer adalah ‘stigma’ yang ada di masyarakat. di satu sisi, anda mungkin dianggap hebat karena punya skill apalah-itu (yang sebenarnya tidak hebat-hebat amat juga), namun di sisi lain, anda harus siap dengan pandangan ‘programmer == nerd’ yang sepertinya cukup umum. ya ampun.

pernah mendengar ungkapan tentang ‘tampang anak komputer’? ya, itu salah satunya. tidak semua seperti itu, tapi entah kenapa sepertinya pandangan ini cukup populer. anda bisa saja bersikap cool atau ramah dengan gaya yang relatif sesuai trend — dan dengan pekerjaan anda sebagai programmer. dan orang mungkin akan terkaget-kaget ketika anda mengatakan bahwa anda adalah seorang programmer. oh well… apakah ini berkah atau kutukan, entahlah.

…dan sebagai tambahannya, bukan hal yang aneh bahwa anda bisa menemukan seorang programmer yang tidak kunjung punya pasangan. bukan, biasanya bukan karena mereka ini tidak bisa bersosialisasi (percayalah, programmer tidak akan bisa hidup tanpa kemampuan sosial), tapi karena mereka (biasanya) memang punya kesibukan dan tekanan yang cukup tinggi — apalagi kalau sedang dalam masa pengembangan software!

::

tentu saja, bukan berarti semua hal tentang menjadi programmer itu tidak menyenangkan adanya. tergantung tawaran yang datang (dan mungkin kemampuan negosiasi anda), pekerjaan sebagai programmer bisa memberikan penghasilan yang lumayan bahkan sebelum anda lulus kuliah. menjadi seorang programmer juga bisa memberikan kepuasan untuk orang-orang yang memiliki minat dalam menganalisis dan membangun ide. juga hal-hal seperti kepuasan ketika sebuah komponen selesai dibangun, atau ketika berhasil melakukan optimasi program — hal-hal seperti ini yang sepertinya agak susah ditemukan di tempat lain.

saya panjang lebar menulis soal ini bukan karena saya tidak ingin anda menjadi programmer, sih. ada juga hal-hal yang menyenangkan, kok. anda mungkin berpikir bahwa menjadi programmer adalah hal yang keren, dan mungkin memang demikian halnya… mungkin saja, kalau mempertimbangkan apa-apa yang sempat saya tuliskan di paragraf sebelumnya. tapi entahlah, saya sendiri tidak terlalu memikirkan itu untuk saat ini, sih.

tapi kalau dipikir-pikir lagi, mungkin sebenarnya menjadi programmer itu bukanlah hal yang keren-keren amat… walaupun, yah, sewaktu seusia anda saya juga berpikir seperti itu, sih.