Tag Archives: Software Developer

Mengintip Dapur Teknologi Bukalapak

Bukalapak sebagai perusahaan teknologi yang bergerak di sektor e-commerce sangat bergantung pada tenaga developer-nya. Pasalnya, di tangan merekalah aplikasi dan situs Bukalapak bisa terus diakses hingga kini lewat berbagai perangkat. Menciptakan aplikasi berkualitas baik, tentunya bukan pekerjaan mudah karena perlu kerja sama tim yang solid.

Saat ini Bukalapak memiliki kurang lebih 800 karyawan, 200 orang di antaranya adalah developer. Posisi developer di Bukalapak juga dibedakan, setidaknya ada tujuh jenis. Ada yang bergerak di back end, front end, system engineer, mobile developer, site reliability engineer (SRE), Quality Assurance (QA) engineer, dan data engineer.

Seluruh posisi ini memiliki tupoksi pekerjaan yang saling berkesinambungan satu sama lain. Misalnya, system engineer bertugas menjaga infrastruktur di Bukalapak, QA engineer bertugas menulis code skrip untuk keperluan otomatisasi. Lalu, data engineer bertugas pengembangan produk Artificial Intelligence (AI) dengan menggunakan data yang dihimpun.

Dari seluruh posisi developer di Bukalapak, mobile developer menempati posisi terbanyak dengan total sekitar 40 orang. Tugas tim ini adalah memastikan seluruh aktivitas dan pengalaman pelanggan lewat perangkat mobile dapat selancar saat mengakses Bukalapak lewat desktop.

Banyaknya orang dalam tim ini, lantaran dari total kunjungan bulanan Bukalapak sekitar 70%-80% dikontribusikan oleh aplikasi. Masukan dari pengguna pun setiap harinya, baik positif maupun negatif, juga dikontribusikan dari aplikasi. Diklaim rating aplikasi Bukalapak di Android maupun iOS tertinggi dibanding semua layanan sejenis.

Bukalapak melihat ke depannya tren penggunaan smartphone bakal lebih sering dipakai daripada desktop. Beberapa alasan inilah yang makin niat mengembangkan produk aplikasinya dengan tetap mengedepankan unsur kualitas dari setiap pembaruan versi yang diluncurkan.

Data terakhir menyebut total pengunduh untuk aplikasi versi Android mencapai 13 juta kali dengan 2 juta orang pengguna aktif harian. Untuk iOS mencapai 700 ribu kali diunduh dengan 300 ribu pengguna aktif harian. Sementara, total pengguna Bukalapak telah menghimpun lebih dari 13 juta orang. Untuk menjaga loyalitas dan kepuasan jutaan pengguna Bukalapak, bagaimana siklus pemeliharaan aplikasinya?

Dalam bincang-bincang yang diadakan Bukalapak bersama sejumlah media, VP Engineering Bukalapak Ibrahim Arief dan Mobile Apps Product Manager Bukalapak Bayu Surya banyak berbicara mengenai isi dapur bagaimana tim developer bekerja, tantangan yang dihadapi, kriteria developer seperti apa yang dicari, fitur apa yang siap hadir di aplikasi, dan lainnya.

Cara tim mobile developer Bukalapak bekerja

Cara kerja tim mobile developer terbagi menjadi bagian-bagian kecil yang bertugas mencari ide baru, bekerja paralel sembari melakukan coding untuk digabungkan ke aplikasi secara utuh. Ini disebut dengan release train.

Bila tingkat kompleksitas fitur memang butuh banyak waktu pengecekan, bisa dipastikan waktu rilisnya akan semakin lama dan tidak terpatok pada tenggat waktu. Akan tetapi untuk fitur yang bisa dikerjakan dengan cepat dan sudah diperiksa terlebih dahulu lewat pengecekan dapat rilis lebih dulu.

“Bila diibaratkan, aplikasi berbentuk kereta utuh yang berjalan terus yang terus bertambah gerbongnya. Anggap gerbong itu adalah penambahan ide baru. Bila gerbong sudah siap ditambahkan, tinggal digabungkan saja ke keretanya. Tidak ada fitur yang belum siap langsung dipaksakan untuk merge, sebab kami mengutamakan kualitas aplikasi,” kata Ibrahim.

Ibrahim melanjutkan sebelum Bukalapak merilis pembaharuan aplikasi harus dipastikan fitur tersebut sudah lulus tiga tahap pengecekan. Dimulai dari level developer, pengecekan secara manual oleh tim QA engineer, setelah itu pengecekan secara otomatis dengan ratusan skenario.

Meski sudah lolos, aplikasi versi terbaru tidak langsung disebarkan ke seluruh pengguna Bukalapak, melainkan sebagian kecilnya terlebih dahulu. Hal ini dimaksudkan agar tim dapat memantau bagaimana output-nya, apakah masih ditemukan bugs atau tidak.

Bila masih ada bugs, tim dapat segera memperbaikinya sebelum dampak negatifnya tidak meluas. Ketika sudah dipastikan lolos pengecekan, barulah aplikasi didistribusikan secara bertahap dan terjadwal hingga 100%.

“Keuntungannya saat versi terbaru di roll out ke sebagian kecil pengguna, apabila ditemukan bugs bisa langsung segera diselesaikan. Ini cara terbaik yang lumrah dilakukan para developer di luar negeri saat menjaga kualitas aplikasinya.”

Untuk kasus tertentu cara kerja diubah, misalnya saat kegiatan temporer seperti Harbolnas berlangsung. Untuk dukung kegiatan tersebut, fitur-fitur tambahan pun harus disiapkan dan memiliki tenggat waktu.

Demi meminimalisir kesalahan, selama Harbolnas berlangsung tim melakukan freeze deploy yang berarti menghentikan secara sementara proses pengembangan dan mengalihkan fokusnya memperbaiki bugs demi menjaga kestabilan sistem dalam aplikasi.

“Untuk event tertentu, ada waktunya tim untuk lebih fokus menjaga bugs saja agar aplikasi lebih stabil saat traffic tinggi. Sebab pada saat itu saja bug fix dalam seharinya bisa sampai 20 kali.”

Tantangan tim

Bayu melanjutkan salah satu tantangan tim saat mengembangkan fitur aplikasi adalah bagaimana membawa pengalaman pengguna di smartphone sama baiknya saat berseluncur di situs desktop. Untuk mengatasi tantangan tersebut, tim-nya bekerja sama dengan orang-orang UX yang sebelumnya melakukan riset.

Sejak tahun lalu, transisi perubahan Bukalapak dilakukan secara bertahap dan perlahan-lahan. Kini, sambungnya, dari segi tampilan homepage, listing produk di aplikasi banyak mengalami perubahan. Strategi ini dipilih sesuai dengan hasil riset yang dilakukan tim UX terhadap pengguna Bukalapak.

Tantangan juga kerap dihadapi tim saat hendak mengembangkan fitur bernuansa fintech dalam aplikasi. Hingga kini, layanan fintech yang diresmikan Bukalapak untuk sementara baru bisa diakses lewat situs desktop saja.

“Untuk BukaReksa dan BukaEmas sampai saat ini memang belum ada karena butuh hal teknis yang lebih dalam. Terlebih banyak grafis yang dibutuhkan agar pengalaman pengguna tetap sama saat buka lewat desktop,” terang Bayu.

Fitur yang segera hadir

Pengguna kini bisa pesan tiket kereta api via Bukalapak / Bukalapak

Bayu memastikan fitur yang akan segera hadir di aplikasi dalam dua minggu mendatang adalah pembelian tiket kereta api. Pihaknya mengaku saat ini prosesnya sudah dalam tahap akhir dan siap didistribusikan ke seluruh pengguna.

Sekadar informasi, Bukalapak meluncurkan layanan pembelian tiket kereta api pada pertengahan Maret 2017, bekerja sama dengan PT KAI.

Kandidat developer idaman Bukalapak

Ibrahim menerangkan dalam mencari developer sesuai idaman, kriterianya tidak hanya harus memenuhi sejumlah persyaratan teknis saja. Tetapi mereka haruslah pribadi yang senang belajar dan gemar berbagi ilmu ke rekannya.

Untuk mendapatkan talenta terbaik, Bukalapak membuka lowongan pekerjaan untuk engineer pada tahun lalu. Dari 10 ribu yang mengajukan, akhirnya hanya diterima 30 orang saja. Selain itu, pihaknya juga mengadakan kompetisi engineer untuk publik. Pemenangnya berkesempatan untuk bekerja di Bukalapak.

“Kami bangun budaya antar developer untuk saling berbagi ilmu apa yang mereka punya ke rekannya. Mereka juga bisa langsung berdiskusi dengan level senior. Secara rutin kami juga share ilmu ke rekan komunitas, dengan saling berbagi ilmu bakal terasa dampak positifnya.”.

Setiap developer juga diwajibkan untuk menerapkan standar coding sesuai aturan di Bukalapak. Bahasa coding harus diseragamkan dan dibuat berurutan. Tujuannya agar proses adaptasi enjiner baru dapat lebih cepat dan bisa menyamai dengan rekan lainnya.

“Bila engineer melakukan kesalahan, meskipun itu fatal, kami anggap itu sebagai kesempatan untuk belajar, bukan jadi ajang untuk saling menyalahkan orang lain,” pungkas Ibrahim.

Application Information Will Show Up Here

[Guest Post] Siapa Saja Yang Berpartisipasi Dalam UX?

Editor’s Note: Artikel kali ini adalah bagian dari seri tulisan tentang User Experience (UX), yang merupakan unsur penting dalam proses pengenalan produk ke pengguna. Kali ini penulis akan membahas tentang siapa yang perlu berpartisipasi dalam proses UX dan tingkatan partipasinya.

Seorang desainer User Experience (UX) pada dasarnya adalah seorang yang memiliki keahlian general. Keterampilan utama yang harus dimiliki adalah keterampilan komunikasi. Seorang desainer UX dibutuhkan untuk mengkomunikasikan -antara satu dengan yang lain- dari kebutuhan pengguna, keinginan stakeholder, dan keterbatasan pengembang. Sifat yang paling penting adalah bahwa ia harus memiliki kemampuan untuk berempati. Seorang desainer UX harus mampu memaparkan gambaran besar dari produk dalam bahasa pengguna, stakeholder, dan pengembang.

Dalam posting saya sebelumnya, saya menyebutkan berbagai bidang yang pada akhirnya menunjukkan jumlah keseluruhan bidang UX. Anda dapat menjadi Designer Interaksi, Usability Analyst, spesialis Komunikasi/Pemasaran, atau spesialis di bidang Teknologi. Belum lagi bahwa untuk bidang Teknologi terdiri dari beberapa keterampilan, tergantung dari produk itu sendiri. Dalam kasus produk berupa situs web, bidang dari UX meliputi Graphic/User Interface (UI) Designer, Software Developer, dll.

Continue reading [Guest Post] Siapa Saja Yang Berpartisipasi Dalam UX?

[Guest Post] Who Participates in UX?

Editor’s note: This is part of series about in User Experience (UX) which is essential element of product introduction to its user. This time, the author is discussing about who need to participate in the process of UX and what level are they required.

A UX designer is basically a generalist. The most important skill that he/she must have is communication skill. A UX designer is needed for communicating the needs of users, the wants of stakeholders, and the limitations of developers, among each other. The most important trait that he/she must have is the ability to empathize. A UX designer should be able to describe the big picture of the product in the languages of users, stakeholders, and developers.

Continue reading [Guest Post] Who Participates in UX?