PyDev of the Week, Wawancara dengan Doug Hellman Penulis Python Module of The Week

Bagus Aji Santoso 4 Juli 2017

PyDev of the Week, Wawancara dengan Doug Hellman Penulis Python Module of The Week

PyDev of the Week minggu ini adalah Doug Hellman (@doughellman. Dia merupakan penulis dari seri Python Module of the Week dan buku The Python Library by Example.

Dapat dicerikan sedikit latar belakang anda (hobi, pendidikan, dll)?

Saat saya tidak sedang memprogram, saya suka membaca dan jalan-jalan. Karena suka jalan-jalan saya merasa mulai dapat mengapresiasi karya seni yang saya temui. Saya sudah tidak menulis serajin dulu, tapi saya masih menikmati proses menulis itu saat melakukannya.

Mengapa anda menggunakan Python?

Saya menggunakan Python sebagai bahasa pengembangan saat bekerja di perusahaan GIS pada akhir tahun 1990-an. Tugas saya pada waktu itu adalah mengelola port produk kami, yang ditulis dalam bahasa C, ke AIX dan Digital Unix. Saya melakukan banyak shell scripting, namun akhirnya diperkenalkan dengan Python sebagai bahasa lain yang dapat dipakai untuk membuat build tools dan aplikasi-aplikasi lain yang bukan merupakan bagian dari produk tadi namun perlu dibuat. Ironisnya, produk tadi tidak memiliki dukungan scripting dengan Python.

Dipekerjaan berikutnya saya kembali dikenalkan dengan Python, saya menggunakan Tkinter untuk membuat sebuah antarmuka grafis (GUI) sebagai pengontrol CD burner otomatis yang dipakai disebuah perusahaan untuk mendistribusikan perangkat lunak. Dipekerjaan selanjutnya, saya menggunakan Zope, untuk membuat sebuah antarmuka web di sistem penerbitan yang sudah ada sehingga artikel yang sama dapat digunakan sekaligus di web dan di distribusi multi-media yang kami siapkan. Sejak saat itu saya hampir selalu menggunakan Python untuk ngoding. Dengan semakin meningkatnya skala dan kompleksitas sebuah proyek, Python selalu dapat mengikuti kebutuhan-kebutuhan kami.

Bahasa pemrograman apa yang anda tahu selain Python dan manakah yang paling anda sukai?

Saya pernah menjadi fan berat bahasa C, namun sudah lama sekali saya tidak mengunakannya. Saya cukup sering menggunakan bash untuk otomasi, mengkombinasikan bash dan Python saat dibutuhkan. Saya juga pernah bermain dengan JavaScript, tapi saya tidak bisa benar-benar mengatakan saya memahaminya — saya lebih memilih untuk tetap berada di sisi backend dari sistem pengembangan web.

Project apa yang sedang anda kerjakan saat ini?

Sebagian besar waktu kerja saya dihabiskan untuk OpenStack akhir-akhir ini. Saat saya bergabung dengan Dreamhost beberapa tahun yang lalu alasannya adalah untuk membantu mereka terlibat dalam pengembangan OpenStack. Sekarang saya di HP, masih mengerjakan hal yang sama. Saya belum lama ini telah melalui waktu 6 bulan sebagai project lead untuk program Oslo di OpenStack, dimana kami bekerja dengan developer aplikasi OpenStack untuk mengidentifikasi kode yang dapat dijadikan pustaka agar membuat proses sharing lebih mudah. Kami mengelola pustaka-pustaka untuk menstandarkan konfigurasi, akses database, kirim mengirim pesan, dan banyak aspek lainnya yang diperlukan dalam membangun aplikasi berskala besar yang terdistribusi. Membuat API yang memenuhi semua kebutuhan proyek lain dapat menjadi sebuah tantangan tersendiri, namun saat berhasil akan terasa sekali manfaatnya.

Saya mempresentasikan sejarah dan status update untuk Oslo di konferensi OpenStack yang belum lama ini diselenggarakan: http://doughellmann.com/2014/11/11/taking-the-long-view-how-the-oslo-program-reduces-technical-debt.html

Saat tidak sedang bekerja untuk OpenStack, saya juga menghabiskan waktu dengan mengelola virtualenvwrapper, meskipun sekarang ini hanya sebatas melakukan pemeliharaan. Saya juga mengelola beberapa plug-in Sphinx yang saya buat selama beberapa tahun, serta saya juga berkontribusi untuk Tinkerer, blogging engine yang dibuat dengan Sphinx.

Tahun lalu saya mulai membuat sebuah tracing post-execution debugger bernama Smiley (https://github.com/dhellmann/smiley). Saya membuat pustaka ini sebagai eksperimen untuk melihat apa yang bisa saya lakukan untuk ide merekam state program saat eksekusi berlangsung. Versi saat ini sudah dapat membuktikan konsep dasarnya, dan langkah berikutnya adalah menambahkan fitur agar dapat menangani jumlah data yang dapat dibaca untuk meningkatkan performanya.

Pustaka apa yang paling anda sukai (pustaka inti atau pihak ketiga)?

Pustaka favorit saya tergantung proyek yang sedang dikerjakan. Saya mendapatkan banyak keuntungan dari itertools dari pustaka standar, namun ada juga pustaka lain seperti multiprocessing dan sqlite3 yang juga tidak bisa lepas. Saya jarang melakukan web development, tapi saat memerlukannya saya akan menggunakan Pecan atau Flask. Saya pun telah mempelajari kembali SQLAlchemy dan ALembic baru-baru ini dan saya rasa keduanya cukup mudah setelah fokus diarea masing-masing.

Ada lagi hal lain yang ingin disampaikan?

Terimakasih telah mengundang saya untuk berpartisipasi dalam seri wawancara ini! Saya juga membaca wawancara programmer yang lain, menyenangkan sekali dapat mengenal anggota komunitas kita.

Diterjemahkan dari PyDev of of the Week: Doug Hellman dengan lisensi Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License atas ijin dari Mike Driscoll