Engineer vs Researcher

Sepertinya paradigma yang dianut insinyur dan peneliti itu berbeda. Dalam bidang saya, Ilmu Komputer, misalnya. Di tim saya ada beberapa insinyur dan beberapa peneliti. Insinyur menekankan pentingnya kerapian, manajemen kode yang bagus, serta arsitektur yang efektif. Namun, di sisi lain, kadar kebaruannya rendah. Sementara, peneliti seperti Koh Eon cenderung tidak peduli terhadap hal-hal remeh temeh seperti ini, dan bahkan tidak suka menggunakan kaidah-kaidah pemrograman. Yang penting riset terus jalan, yang diinginkan bisa dicapai, dan paper terpublikasi. Hal ini juga saya lihat di kode sumber bikinan peneliti-peneliti lain di sekitar saya. Semuanya sama: berantakan. Saya pernah dimintai tolong seseorang dari lab sebelahnya lab saya yang dulu, dan saya kelabakan memahami kode sumber bikinannya. Nama-nama variabelnya mirip, kode sendiri disatukan dengan pustaka pihak ketiga, dan sebagainya.

Bjarne Stroustrup

Apakah dia insinyur atau peneliti atau keduanya? Gambar dari Wikipedia

Bagaimana dengan saya? Saya terjebak di antara keduanya. Saya sih mencoba untuk mengambil jalan tengah, yaitu dengan mengalokasikan waktu untuk mendesain arsitektur program implementasi riset saya yang ga berjalan mulus. Saya barusan, dengan kode yang halus mulus (yah barangkali > 90% sesuai dengan standar penulisan kode tim), menulis pembungkus untuk fitur graf dari sebuah pustaka pemrograman. Ini dikarenakan aturan dalam tim yang tidak mengizinkan penggunaan pustaka pihak ketiga secara langsung, karena kami menargetkan interoperabilitas yang mudah, dan kode harus terangkai selonggar mungkin. Untuk itulah ada kelas pembungkus tipis yang perlu dibuat. Setelah ini saya akan melakukan tes unit menggunakan Google Test. Barangkali proses ini tidak menyamai level pengujian yang dilakukan para pengembang perangkat lunak di industri, tapi ini sudah lumayan lah. Tentu saja ada kelemahan dari pilihan ini: lama. Ya maklumlah, saya perfeksionis. Bagaimanapun, saya tetap aja malas kalau musti mengatur file dan direktori di server SVN.

Akhirul kalam, tentu saja yang seperti ini tidak mutlak. Pustaka pemrograman seperti Boost dan CGAL berawal dari inisiatif para peneliti di akademia, dan tentu saja kode yang mereka tulis rapi jali. Dan tentunya dalam pembuatan konsep-konsep pemrograman seperti pemrograman generik, yang digunakan dalam STL, serta standar berikut C++, yaitu C++0x, peneliti-peneliti dari akademia berandil sangat besar. Walaupun, tentu, di halaman utama webpage pustaka SpharmonicKit, ada tertulis: (credit to EonStrife)

this is research code only and has not been hardened

Dilanjutkan kapan-kapan, kalau saya sudah mencapi seperempat status Donald Knuth.

PS: kalau boleh, saya meminta pendapat teman-teman programmer di industri seperti dnial dan yud1. Terima kasih ^:)^

PPS: Komik setopik dari xkcd.

Good code

Source: http://xkcd.com/844/

8 Responses to “Engineer vs Researcher”


  1. 1 Amd 09/01/2011 at 2:31 AM

    *puyeng sendiri bacanya…*

  2. 2 lambrtz 11/01/2011 at 9:58 PM

    Dan yang komentar cuma 1😦 (dua termasuk saya)

  3. 3 dnial 22/01/2011 at 6:33 PM

    Code biasanya punya 2 tahap: Experimental, Prototyping, Coba-coba, proof-of-concept; dan kode dalam produksi, in real world, workable. Researcher biasanya hanya memproduksi kode-kode prototype, tidak perlu testing aneh2, cukup membuktikan bahwa konsep jalan (thus, proof of concept), sementara para progammer seperti aku kudu memastikan bahwa kode itu benar-benar jalan in real world.

    Tugas programmer untuk memastikan bahwa kode itu jalan. Software Engineering diciptakan spesifik untuk memastikan hal itu. Ada sejuta macam metode yang seringkali untuk aplikasi kritikal sangat ketat, untuk beberapa didesain ringan untuk mempercepat time-to-market.

    Kebaruan? Every combination of code never been used before.

  4. 4 Amd 23/01/2011 at 1:38 AM

    *makin puyeng bacanya…*

  5. 5 lambrtz 24/01/2011 at 9:31 PM

    @dnial
    Bung…saya juga programmer.:mrgreen:
    Cuma ya itu, fokusnya beda sih. Agak repot juga kalau musti dites macem-macem kodenya.😛

    Kebaruan? Every combination of code never been used before.

    Masalahnya, tidak semua kebaruan itu laik publikasi.😕

    @Amd
    *ikutan puyeng ah* @_@

  6. 6 lambrtz 24/01/2011 at 9:32 PM

    BTW makasih komennya Mas dnial.😛

  7. 7 AnDo 24/01/2011 at 9:40 PM

    Saya tambah lah komentarnya supaya jadi 7 (kalau dibales jadi 8 yah).
    Anu….engineers dan researchers bertarung, kuli-ers mati ditengah-tengah….

    *ikutan Amd, puyeng bacanya…..*

  8. 8 lambrtz 24/01/2011 at 9:43 PM

    Kuli apaan. Situ kan pengalaman jadi engineer maupun researcher.😐


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s




lambrtz looks like this

Me

You can write comments in any language that you want, but please bear in mind that I only understand 4 languages: English, Indonesian, Javanese and Malay.

Archives

Categories

January 2011
S M T W T F S
« Dec   Feb »
 1
2345678
9101112131415
16171819202122
23242526272829
3031  
Click to view my Personality Profile page