Oleh Thalia Barrera, 19 Oktober 2022
Diterjemahkan oleh Virda Risyad
Sejak munculnya data engineering, tidak terdeteksi tanda-tanda perlambatan dalam bidang ini. Teknologi dan konsep baru terus bermunculan dengan sangat cepat. Mendekati akhir tahun 2022, ini adalah saat yang tepat untuk mengevaluasi data engineering saat ini.
Seperti apa peran data engineer saat ini akan terlihat di masa depan? Apakah peran ini akan tetap ada? Postingan blog ini akan membahas peran data engineering di masa lalu dan masa kini, serta memprediksi tren yang muncul untuk masa depan.
Masa Lalu: Dari Business Intelligence Hingga Big Data
Untuk memahami data engineering di masa kini dan di masa depan, penting untuk memahami perkembangan bidang ini secara historis. Jadi, mari mulai dengan mengingat kembali beberapa peristiwa dan teknologi relevan yang muncul dalam lanskap data dan memunculkan peran data engineer saat ini.
Pada tahun 1980-an data warehousing yang digunakan untuk bisnis merupakan salah satu upaya terdahulu untuk memahami data yang dihasilkan dari proses bisnis itu sendiri. Kata "data warehouse" tidak digunakan secara formal sampai akhir 1980-an oleh Bill Inmon, yang dianggap sebagai founding father data warehousing. SQL menjadi bahasa database standar pada tahun 1980-an dan masih digunakan hingga saat ini.
Di saat Bill Inmon menetapkan landasan teoritis yang solid untuk prinsip-prinsip data warehousing, The Data Warehouse Toolkit milik Ralph Kimball dari tahun 1996 menetapkan pondasi dari pemodelan dimensional.
Dengan diperkenalkannya database massively parallel processing (MPP), data warehousing mengawali era scalable analytics. Hal ini memungkinkan users untuk menangani volume data yang jauh lebih besar dari sebelumnya. Maka, pekerjaan seperti business intelligence engineer diciptakan untuk mengelola data warehouse.
Pada awal tahun 2000-an, setelah masa dot-com bubble berlalu, sekelompok kecil perusahaan tetap ada - termasuk Yahoo, Google, dan Amazon - yang pada akhirnya akan menjadi raksasa di bidang teknologi. Pertumbuhan perusahaan raksasa teknologi yang belum pernah terjadi sebelumnya, menginspirasi para engineer untuk menemukan solusi yang lebih canggih untuk mengatasi kebutuhan data yang terus mendesak. Alasannya? Database yang kuno serta data warehouse yang tersedia saat itu tidak cukup untuk menangani beban kerja yang terus bertambah.
Hal di atas mengakibatkan Google merilis makalah Google File System yang terkenal yang menggambarkan "sistem file yang dapat diskalakan untuk aplikasi terdistribusi yang sarat akan data" pada tahun 2003 dan makalah MapReduce yang menggambarkan "pemrosesan data yang disederhanakan pada paradigma cluster besar" pada tahun 2004. Kemudian, developer Yahoo merilis sistem file terdistribusi Hadoop pada tahun 2006. Pada saat yang sama, perangkat keras seperti server dan RAM menjadi lebih murah dan mudah ditemukan.
Inovasi di tahun 2000-an beserta bisnis dari semua jenis dan ukuran, menghasilkan data dalam kisaran terabyte dan bahkan petabyte, memunculkan apa yang kita kenal sebagai Big Data, dan era big data engineer pun dimulai.
Pada saat itu, para big data engineer secara ekstensif menggunakan Apache Hadoop, sebuah open-source framework. Proyek Hadoop sendiri terdiri dari empat modul utama, yaitu:
- Hadoop Common: Utilitas standar yang mendukung modul Hadoop lainnya.
- Sistem Berkas Terdistribusi Hadoop (HDFS): Sistem file terdistribusi yang menyediakan akses ke pengaplikasian data.
- Hadoop YARN: Framework untuk penjadwalan pekerjaan dan manajemen sumber daya.
- Hadoop MapReduce: Sistem berbasis YARN untuk pemrosesan kumpulan data set bervolume besar secara paralel.
- Data engineer membutuhkan keahlian dalam pengembangan software dan peretasan infrastruktur tingkat rendah dengan keahlian yang terfokus untuk memanfaatkan framework Hadoop secara maksimal. Kemudian, mereka perlu memperoleh pengalaman dalam pengoperasian teknologi yang terkait dengan Apache dan Hadoop lainnya, seperti Hive dan Spark.
Di saat Hadoop muncul untuk pertama kali, Amazon memutuskan untuk meluncurkan public cloud pertama dengan Amazon Web Services (AWS). Penyedia public cloud lain seperti Google Cloud dan Microsoft Azure muncul segera setelahnya. Public cloud merevolusi cara aplikasi untuk software dan data, dibangun dan diimplementasikan, menjadikannya salah satu teknologi terpenting di era ini.
Salah satu keuntungan utama cloud adalah perusahaan dapat menghemat biaya tetap yang sangat besar dibandingkan dengan membeli perangkat keras mereka sendiri.
Saat menggunakan perangkat keras mereka sendiri, perusahaan harus secara akurat memprediksi seperti apa beban kerja mereka untuk memastikan mereka memiliki sumber daya yang cukup bisa tersedia karena siklus pembelian yang cukup panjang yang dapat mengakibatkan pengeluaran yang berlebihan. Di sisi lain, menggunakan cloud hanya mengharuskan perusahaan membayar biaya tambahan untuk sumber daya yang mereka gunakan, dan sumber daya ini dapat dengan mudah ditingkatkan seiring dengan pertumbuhan perusahaan dan penyesuaian persyaratan.
Di awal tahun 2010-an, beberapa teknologi yang berpusat pada data muncul dan menjadi terkenal, seperti Amazon Redshift - pemrosesan paralel cloud-native berbasis data yang pertama, diikuti oleh BigQuery dan, Snowflake.
Awal hingga pertengahan tahun 2010-an adalah momen yang luar biasa untuk dunia data. Pada saat itu, perusahaan mana pun dapat menggunakan data tools canggih yang digunakan juga oleh raksasa perusahaan IT.
Bersamaan dengan cloud data warehouse, terdapat tools baru untuk mengelola data workflows, beberapa yang paling populer adalah:
Semua produk data ini memunculkan apa yang kita sebut sebagai modern data stacks. Seperti yang disebutkan oleh Tristan Handy, "modern data stacks dikatalisasi di sekitar perilisan Amazon Redshift pada Oktober 2012."
Justin Chau baru-baru ini mewawancarai Alex Gronemeyer, senior data engineer di Airbyte, untuk membicarakan semua perubahan yang telah dialaminya secara langsung saat dia bertransisi melalui berbagai tahap dalam kariernya di dunia data.
"Berasal dari latar belakang [big] data engineering di mana saya membuat pipeline di Spark dan Scala untuk Hadoop, kami belum benar-benar pindah ke cloud; semuanya masih on-premise, [kami melakukan] banyak queries melalui Hive dan menarik API secara langsung untuk memasukkan data. Ada banyak hal berat untuk memasukkan data baru ke dalam basis data kami, jadi saya sangat menghargai keberadaan modern data stacks", ujar Alex.
Dengan munculnya produk data dan modern data stacks, entah bagaimana posisi big data engineer menjadi usang [karena pada akhirnya, semua data menjadi bervolume besar akhir-akhir ini, bukan?], dan istilah yang lebih luas dan sederhana muncul: data engineer.
Pada tahun 2017, Maxime Beauchemin - pencipta Airflow - menulis artikel terkenal yang menggambarkan transisi dari business intelligence engineer menjadi data engineer. Pada saat itu, dunia menjadi sadar akan kebangkitan peran data engineer. Hal ini semakin dipercepat ketika ia merilis artikel dengan judul the functional data engineering pada tahun 2018.
Masa Kini: Data Engineer Kontemporer
Para profesional data telah melihat pergeseran dramatis dalam karier mereka karena data tools, tugas-tugas yang kurang signifikan dan repetitif dapat mereka automasi untuk mengerjakan tugas yang bersifat lebih strategis dan signifikan. Karena spesifikasi framework Big Data telah diabstraksikan, data engineer kontemporer dapat fokus pada pekerjaan yang memiliki value yang lebih signifikan seperti data modeling, quality, security, management, architecture, dan orchestration.
Pada saat yang sama, data engineer juga semakin banyak mengadopsi praktik terbaik untuk software engineering. Meskipun software engineering dan data engineering adalah disiplin ilmu yang berbeda, namun keduanya memiliki beberapa kesamaan penting: keduanya membutuhkan pemecahan masalah dengan writing, deploying, dan maintaining code. Oleh karena itu, date engineer kontemporer akrab dengan agile development, code testing, dan version control practices.
Di luar itu, data engineering juga telah mengadopsi beberapa konsep dari software engineering. Contoh yang sangat baik adalah data engineering fungsional, yang berakar dari pemrograman fungsional. Gagasan utama di baliknya adalah bahwa sebuah tugas - seperti memindahkan data dari sistem A ke sistem B - harus idempoten, yang berarti harus memberikan hasil yang sama setiap kali dijalankan. Ketika tugas gagal atau logika perlu diubah, data engineer perlu mengetahui bahwa menjalankan kembali tugas tersebut aman dan tidak akan menghasilkan data duplikat atau jenis error lainnya. Oleh karena itu, idempotency sangat penting untuk pengoperasian pipeline data.
Konsep lain yang diadopsi adalah pemrograman deklaratif adalah tingkat abstraksi di atas pemrograman imperatif yang berfokus pada “apa” daripada “bagaimana”. Sebuah pipeline data deklaratif akan mengatakan, "pindahkan data dari sistem A ke sistem B," tanpa menentukan data flow tertentu. Pipeline deklaratif bersifat relevan dalam data engineering karena hal tersebut merupakan fondasi yang baik untuk observabilitas, pemantauan kualitas data, dan silsilah data.
Konsep deklaratif sangat berkaitan erat dengan tren yang mulai merangkul produk data dibandingkan dengan data pipeline yang didukung oleh abstraksi yang disediakan oleh data orchestrator modern. Data engineer lebih fokus untuk memikirkan produk apa yang bisa dihasilkan oleh pipeline, seperti dasbor atau tampilan tertentu, dan kemudian membangun pipeline berdasarkan dari dasbor maupun visualisasi tertentu. Gagasan data sebagai produk adalah value utama dari data mesh architecture.
Munculnya Python juga telah masuk ke dalam lingkup data engineering, karena Python telah dikukuhkan sebagai bahasa pemrograman yang sangat kuat selama bertahun-tahun. Komunitas data telah banyak mengadopsi Python karena banyaknya built-in libraries yang tersedia untuk memproses dan menampilkan data. Salah satu contoh yang menonjol adalah pandas, yang dikembangkan secara khusus untuk mengekstrak dan mentransformasi data. Tools penting lainnya yang berbasis Python telah muncul, seperti PySpark, interface untuk Apache Spark yang memungkinkan pengguna untuk menganalisis data secara interaktif dalam data environment yang terintegrasi.
Dapat dikatakan bahwa Python dan SQL adalah bahasa pemrograman yang harus diketahui oleh setiap data engineer saat ini.
Cara organisasi menyusun tim data telah berubah dalam beberapa tahun terakhir. Sekarang dapat dilihat pergeseran ke arah tim data yang lebih terdesentralisasi, platform data yang bersifat self-service, dan cara-cara untuk menyimpan data di luar dari data warehouse seperti data lake, data lakehouse, atau data mesh yang disebutkan sebelumnya yang bertujuan untuk melayani kebutuhan setiap konsumen data dengan lebih baik.
Meskipun perubahan organisasi bersifat kontroversial dan para ahli memiliki pendapat yang berbeda tentang apa yang terbaik, dapat dilihat beberapa kecenderungan untuk menjadikan domain experts sebagai data owners yang mereka gunakan alih-alih memiliki satu tim pusat yang bertanggung jawab atas “the source of truth". Akibatnya, banyak data engineer pada akhirnya menjadi bagian dari tim platform pusat yang bertanggung jawab untuk mengoptimalkan berbagai aspek data stacks alih-alih menjadi data owners.
Tantangan utama dengan peralihan arsitektur dan organisasi di atas adalah mempertahankan pemahaman umum tentang data. Itulah mengapa dapat dilihat adopsi konsep seperti lapisan semantik, yang memetakan data kompleks ke dalam istilah bisnis yang sudah dikenal untuk memberikan pemahaman mengenai data yang terpadu dan terkonsolidasi di seluruh sistem.
Jadi, apa definisi peran seorang data engineer? Definisi dari Fundamentals of Data Engineering merupakan jawaban yang tepat, karena ini adalah salah satu sumber terbaru yang lengkap: "Data engineering adalah pengembangan, implementasi, dan pemeliharaan sistem dan proses yang mengambil data mentah yang kemudian akan menghasilkan informasi berkualitas tinggi dan konsisten yang mendukung use-cases untuk end-users seperti analisis dan machine learning. Data engineering berada di antara keamanan, manajemen data, DataOps, data architecure, orchestration, dan software engineering."
Seorang data engineer saat ini mengawasi seluruh proses data engineering. Mulai dari pengumpulan data dari berbagai sumber hingga membuatnya tersedia untuk dikonsumsi oleh end-users. Peran ini membutuhkan keakraban dengan berbagai tahap siklus hidup data engineering dan bakat untuk mengevaluasi data tools untuk kinerja optimal di beberapa dimensi, termasuk harga, kecepatan, fleksibilitas, skalabilitas, kesederhanaan, penggunaan berulang, dan interoperabilitas.
Masa Depan: Apakah Peran Data Engineer Tidak Relevan Lagi?
Tampaknya, sebagian besar tren di bidang data engineering mengarah pada peningkatan abstraction, simplification, dan maturity dengan mengadopsi beberapa praktik terbaik dari software engineering. Apa artinya ini untuk masa depan? Dapat terlihat empat kecenderungan utama yang dapat diringkas sebagai berikut:
- Data tools akan semakin mudah untuk digunakan dengan lebih banyak fungsi dan fitur.
- Akan ada peningkatan untuk spesialisasi, sehingga memunculkan peran baru dalam data engineering.
- Kesenjangan antara produsen dan konsumen data akan menyempit.
- Peningkatan manajemen data berkat adopsi DataOps.
Jika dilihat kembali, bisa terlihat bahwa salah satu fokus utama para data engineer adalah terus menerus membangun serta memelihara koneksi antara sumber data dengan tujuan output data melalui pipeline yang rumit. Perkembangan yang patut dicatat pada akhir ini adalah kecenderungan ke arah teknologi yang mudah digunakan dengan konektor data yang sudah terkelola.
Seperti yang disebutkan Alex Gronemeyer ketika ditanya mengenai konektor data, "Sangat menarik untuk membawa data dari sistem bisnis, hanya perlu beberapa menit untuk menyiapkan konektor baru, kemudian data baru akan mengalir masuk, dan itu adalah sesuatu yang belum pernah saya alami sebelumnya. Kemudian, ketika saya ingin mulai memodelkan dataset baru untuk digunakan dalam laporan untuk end-users, sebagian besar pekerjaan saya akan berfokus pada pemodelan data, pembersihan, dan penggabungan data. Saya tidak perlu meluangkan waktu satu minggu lagi hanya untuk mendapatkan data dan melihat seperti apa bentuknya; hal itu sudah diurus."
Delman Data Lab merupakan user-friendly big data solution tool, yang akan mempermudah user dalam pembuatan pipeline dari berbagai jenis konektor tanpa harus menulis kode. Dengan pemrosesan data yang dipercepat dengan Delman Data Lab, data engineer dapat menghabiskan waktu mereka dengan menyelesaikan pekerjaan yang lebih penting dan bersifat strategis bagi perusahaan.
Hasil langsung dari tools yang mudah digunakan untuk data analyst maupun data scientist - pembuatan data pipeline dalam hitungan menit adalah, data engineer tidak lagi menjadi sebuah hambatan. Self-serve analytics kemungkinan juga akan terus memberdayakan konsumen data di masa depan.
Seperti yang telah disebutkan sebelumnya, peran baru dalam dunia data mungkin muncul, seperti peran analytics engineer yang muncul di awal tahun 2020-an. Seorang analytics engineer adalah seorang profesional yang kemungkinan besar memulai karir mereka sebagai analis bisnis/data; oleh karena itu, mereka sangat ahli dalam penggunaan SQL dan membuat dasbor. Platform self-service dan alat transformasi seperti dbt memungkinkan mereka memiliki otonomi yang lebih besar daripada data engineer. Kita mungkin akan melihat lebih banyak peran spesialisasi ini muncul di masa depan.
Perusahaan menyerap lebih banyak data daripada sebelumnya, berkat kemampuan yang diperluas yang diberikan oleh data tools yang lebih baik. Karena semakin banyak pemangku kepentingan yang berinteraksi dengan data di sepanjang siklus hidup data dan membuat keputusan berdasarkan data tersebut, kemampuan untuk mempercayai data menjadi sangat penting. Karena itu, kualitas data akan tetap berada di bagian atas daftar prioritas tim data.
Meningkatnya fokus pada kualitas data baru-baru ini menyebabkan munculnya peran baru yang, diyakini akan terus berkembang: data reliability engineer, spesialisasi peran data engineering yang berfokus pada kualitas dan ketersediaan data. Data reliability engineer menerapkan praktik terbaik DevOps ke sistem data, seperti CI/CD, perjanjian tingkat layanan (SLA), pemantauan, dan observabilitas.
Peran dan tanggung jawab juga dapat bergeser, di mana software engineering dan data bertemu. Pergeseran ini juga didorong oleh aplikasi-aplikasi data yang menggabungkan software dan analitik. Ada kemungkinan bahwa di masa depan, software engineer perlu menguasai data engineering. Dengan munculnya arsitektur streaming dan event-driven, pemisahan antara sistem backend hulu dan analitik hilir akan memudar.
Tren produsen data yang menjadi lebih sadar akan analitik dan use-cases ilmu data akan terus berkembang. Sudah ada peningkatan adopsi kontrak data: kesepakatan antara pemilik sistem sumber dan tim yang bertanggung jawab untuk memasukkan data ke dalam pipeline data. Hal itu menunjukkan kolaborasi yang lebih erat antara produsen dan konsumen data di masa depan.
Jika kita melihat gambaran besarnya - di luar teknologi maupun tools - ekosistem data bergerak ke arah peningkatan kolaborasi antara para pemangku kepentingan. Hal ini telah mengarah pada pengembangan pola pikir baru, seperti DataOps. Seperti yang didefinisikan oleh Gartner: "DataOps adalah praktik manajemen data kolaboratif yang berfokus pada peningkatan komunikasi, integrasi, dan automasi aliran data antara pengelola data dan konsumen data di seluruh organisasi."
Pada akhirnya, ledakan tools dan praktik data yang baru akan bersatu untuk memecahkan masalah yang terus-menerus: manajemen data, bekerja sama dengan lebih baik, dan menghasilkan values. Area ini akan meningkat secara dramatis di tahun yang akan datang.
Beberapa orang mempertanyakan apakah semua keadaan yang disebutkan di atas akan menyebabkan hilangnya peran data engineer di masa depan. Hal itu tidak akan terjadi. Tools yang lebih canggih, kesenjangan yang memudar antara produsen dan konsumen, dan implementasi DataOps dapat diartikan, bahwa kedepannya, peran data engineer akan fokus pada tugas-tugas yang lebih strategis seperti penasihat dan pendukung automasi.
Peran dan tanggung jawab juga akan berubah dan akan berpotensi menganggap istilah "data engineer" tidak relevan demi istilah yang lebih khusus dan spesifik. Tetapi data engineering akan selalu diperlukan, karena perusahaan semakin bergantung pada data dan akan selalu memerlukan pengembangan infrastruktur dan proses berbasis data yang selalu diperbarui.
Data engineer di masa depan akan bertanggung jawab untuk merancang arsitektur data yang fleksibel yang mampu beradaptasi dengan perubahan kebutuhan. Itu termasuk membuat keputusan tentang tools dan proses yang akan memberikan value paling besar bagi bisnis.
Masa depan serta beban kerja data engineer tidak lagi menjadi hambatan untuk bisnis Anda dengan Delman Data Lab, a scalable and user-friendly data tool. Dapat dioperasikan oleh business hingga technical user, Delman Data Lab akan mempermudah dan mempercepat proses pertumbuhan bisnis Anda melalui peningkatan efisiensi pemrosesan data agar menghasilkan profitable insights yang mudah diakses secara selektif kapan saja dan di mana saja.