This post is started from my frustation trying to analyze Jira issues using Jira report features. Jira provides built-in reports, for example if you have a Kanban board it will provide Control Chart. However, if you want to customize the insight, the only way that I find is by doing a lot of coding, which is not flexible enough for me to do ad hoc analysis. I ended up copying Jira issue to BigQuery so that I can analyze easily.

Using Jira API to Get Jira Issues

I am using Python JIRA library to do the work. Since I’m going to analyze the data regularly, I schedule…


Working on both event sourcing and dimensional modeling, looking at the concept and understanding some use cases, I feel they are somehow similar. They both care about state changes, not the state itself. This makes me wonder, how close are they actually, can they work together in a, let say, hypothetical use case?

Image for post
Image for post
Photo by Hunter Harritt on Unsplash

Let’s start the thought process with a simple case: an online book store. The online book store allows you to order a book, proceed to checkout, fill payment details, and then the book will be delivered to you. To simplify the case, I won’t use cart concept…


Selepas lulus kuliah di tahun 2013, saya menyimpan keinginan untuk kuliah ke luar negeri. Tujuannya untuk memperluas wawasan serta koneksi. Salah satu negara tujuan utama adalah Amerika Serikat; alasannya karena banyak perusahaan teknologi besar yang lahir di sana. Namun, keinginan tersebut urung terlaksanakan karena ada urusan keluarga yang menyebabkan saya tidak bisa jauh dari kampung halaman.

Maju ke tahun 2019, saya punya kolega kerja yang kuliah online sambil bekerja. Saya pun tanya-tanya; kuliah di mana, kualitasnya bagaimana, biayanya berapa, bagaimana membagi waktunya, kesannya bagaimana sejauh ini, dan lain-lain. InsyaAllah blog post ini menjawab pertanyaan tersebut dengan detail sebagai referensi dan…


Table Partitioning and Why

Table partitioning is physically separating the data from the same logical table for optimisation purpose. The bigger the table, the more we can see the benefit of partitioning. Because of the same reason, table partitioning is a common practice on data warehouse, which usually hold a big amount of data. By partitioning the table, queries become more efficient and data lifecycle is easier to manage.

Let’s say we are managing a data warehouse of social media, one of the biggest table would be fact_post table which contains all posts from all users. The fact_post table is best to be partitioned…


Authors: Rendy B. Junior (Data System Architect) & Dimas H. Adiluhung (Data Engineer)

Data warehouse development projects is commonly seen as a multi-year project. By the time it finishes, the model is no longer relevant because the business changes over time. To illustrate, a user flow may change frequently because several A/B experiments show us that a new flow is more desirable for a user. Hence, the circumstances necessitate changes in the data for user conversion.

Living in a stateful world of data realm is a constant challenge demanding us to be agile in order to adapt to the fast-changing…


Last week, I finished listening to Digital Minimalism audiobook by Cal Newport. I learned that social media tries to exchange the time we have with their service. They get revenue from ads shown to us when we use their service during our leisure time.

Due to how the business model works, social media’s north star metrics is engagement. Engagement translates to how much of our time spent on the apps. The assumption is, by increasing the amount of time we spent on the apps, it increases the amount of ads impression and clicks. More ads clicks means more money.

Social…


Belum ada informasi resmi tentang berapa persentase partisipasi masyarakat di Pemilu 2019. Beberapa pihak menyebutkan partisipasi di beberapa daerah mencapai 80 persen. Saya pun merasakan antusiasme dari teman sejawat dan sanak saudara. Mereka begitu bersemangat menyuarakan pilihannya.

Terbawa dengan semangat dan antusiasme yang begitu menggebu, saya memutuskan untuk melakukan riset dengan baik sebelum menentukan pilihan saya. Dalam tulisan ini, saya batasi pembahasan untuk calon legislatif saja.

Apa Sajakah Pertimbangkan untuk Memilih Caleg?

Seperti dunia profesional pada umumnya. Saat mewawancarai kandidat, kita perlu mengecek apakah kandidat memiliki ilmu dan keterampilan untuk melakukan tugasnya dengan baik. Apakah secara personal orangnya baik. …


Awal semester dua 2018, saya dan tim memulai sebuah proyek internal yang memulai sesuatu dari nol. Memulai dari awal artinya ada banyak hal yang perlu diriset, didesain, dan diputuskan. Hal tersebut juga berarti banyak diskusi tentang alternatif solusi apa yang terbaik.

Beruntung di awal proyek kami menemukan sebuah alat yang tepat untuk tantangan tersebut, yaitu Architecture Decision Record (ADR).

Apa itu ADR dan Bagaimana Adopsinya

Konsep ADR sangat sederhana. Setiap keputusan desain arsitektur (Architecture Decision) ditulis (Record-ed). Ide ini muncul dari metodologi Agile. …


A good user story come with sufficient detail on how user want her story went. Sufficient detail minimize misunderstanding. After all, stories are made as a communication tool. However please note that we need detail only on the what, not the how.

This post will explain what are the details you need to have, to complete your details of your data requirement. In the end: to avoid misunderstanding. This is a long post, so grab a cup of coffee and let’s get started.

Data story could be applied to a table need to be made by data engineer for analyst…


By Rendy Bambang Jr., Data Engineering Lead, Traveloka; Agung Pratama, Data Engineer, Traveloka; and Gaurav Anand, Solutions Engineer, Google Cloud

Traveloka is a travel technology company based in Jakarta, Indonesia, currently operating in six countries. Founded in 2012 by former Silicon Valley engineers, its goal is to revolutionize human mobility.

One of the most strategic parts of our business is a streaming data processing pipeline that powers a number of use cases, including fraud detection, personalization, ads optimization, cross selling, A/B testing, and promotion eligibility. …

Rendy B. Junior

Crazy dad. Data technology enthusiast. Youtube: Insinyur Data

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store