Kursus
Anda mungkin pernah mendengar bahwa data engineering adalah data science yang baru, dan pertumbuhan pesat di bidang data engineering membuktikannya. Perusahaan kini menyadari nilai penting merekrut data engineer untuk merancang, membangun, dan memelihara arsitektur yang mereka butuhkan agar data science dan analitik berhasil. Anda dapat membaca lebih lanjut tentang perbedaan antara data engineer dan data scientist dalam artikel terpisah.
Namun, Anda mungkin juga bertanya-tanya, apa sebenarnya yang dilakukan seorang data engineer? Dalam artikel ini, kami mengulas beragam peran dan tanggung jawab data engineer serta jalur karier yang mungkin diikuti seorang data engineer. Terakhir, kami menyingkap gambaran proyek data engineering khas yang mungkin Anda temui di sebuah organisasi. Jika Anda mencari informasi tentang cara menjadi data engineer, artikel terpisah kami akan berguna. Anda juga bisa membaca tentang cara menulis deskripsi pekerjaan data engineer jika Anda sedang merekrut untuk peran ini.
Peran dalam Data Engineering
Data engineering mencakup beragam keterampilan, alat, dan sistem. Ada empat kelompok inti peran data engineer, dan masing-masing harus menguasai seperangkat keterampilan dan alat untuk bekerja secara efektif.
- Generalis. Terlibat dalam semua aspek pengumpulan, penyimpanan, analisis, dan pergerakan data. Mereka harus mengetahui dan mampu menggunakan beragam alat dan keterampilan.
- Spesialis dalam penyimpanan data. Bertanggung jawab menyiapkan dan mengelola basis data relasional dan non-relasional (seperti SQL, NoSQL, dan PostgreSQL), gudang data (seperti Redshift dan Panoply), serta sistem big data (seperti Hadoop dan Spark).
- Spesialis dalam pemrograman dan pipeline. Membuat dan mengelola aliran data melalui skrip dan data pipeline. Mereka harus akrab dengan beberapa bahasa pemrograman seperti Python, Java, dan C++.
- Spesialis dalam analitik. Bekerja erat dengan data scientist dan profesional analitik lainnya di organisasi. Mereka harus akrab dengan alat analitik (seperti Power BI dan Tableau), pustaka machine learning (seperti Tensorflow dan PyTorch), serta alat lain yang mendukung proyek analitik (seperti alat ETL dan sistem big data).
Apa Pekerjaan Seorang Data Engineer? Jalur Karier Data Engineer
Jalur karier data engineer dapat bervariasi berdasarkan ukuran perusahaan dan kematangan tim data mereka. Namun, sebagian besar data engineer umumnya mengikuti jalur ini:
- Data engineer junior
- Data engineer menengah
- Data engineer senior
- Peran manajerial senior
Data Engineer Junior
Saat baru memulai karier, data engineer junior biasanya menangani tugas-tugas kecil yang memelihara dan mendukung sistem yang sudah ada. Ini bisa berupa apa saja, mulai dari menguji sistem dan mencari serta memperbaiki bug, hingga menambahkan fitur pada sistem yang sudah ada. Pada tahap awal ini, seorang junior biasanya belum menangani proyek sendiri, melainkan berperan mendukung rekan seniornya.
Bagian terpenting dari beberapa tahun pertama sebagai data engineer junior adalah belajar dan mendapatkan pengalaman langsung dengan alat yang akan mereka gunakan di tahap karier selanjutnya. Mereka juga mempelajari bagaimana tim dan departemen yang berbeda bekerja sama untuk menemukan solusi atas masalah dan pertanyaan yang muncul.
Data Engineer Menengah
Seorang data engineer dapat promosi ke tingkat menengah setelah sekitar 1 hingga 3 tahun. Pada saat ini, mereka mungkin terlibat lebih banyak dalam aspek manajemen proyek dan perlu berkolaborasi lebih intens dengan tim dan departemen lain.
Mereka biasanya diberi tanggung jawab merancang dan membangun sistem yang mendukung data scientist dan anggota tim analitik lainnya. Pada tahap ini mereka mungkin masih berada di bawah supervisi data engineer senior. Agar dapat menjalankan pekerjaan ini secara efektif, mereka harus mengembangkan keterampilan komunikasi yang baik dan mampu bekerja sama dengan tim lain.
Data engineer bisa tetap berada di level ini selama sekitar 3 hingga 5 tahun. Selama periode ini, mereka telah mengembangkan keterampilan pemrograman dan seharusnya akrab dengan semua alat dan sistem yang digunakan di organisasi. Mereka dapat mengidentifikasi dan memperbaiki bug atau masalah yang muncul, serta berkolaborasi dengan baik di dalam dan lintas tim.
Data Engineer Senior
Setelah mencapai level senior, data engineer memikul tanggung jawab manajerial yang lebih besar. Mereka mungkin perlu membawahi satu atau lebih data engineer di bawahnya, mengajar dan membagikan proyek kepada mereka seiring berjalannya pekerjaan.
Pada tahap ini, data engineer sudah mahir dalam aspek teknis perannya dan dapat membangun sistem serta memecahkan masalah dengan relatif mudah. Namun, kini mereka lebih terlibat dalam sisi bisnis dan perlu berpikir strategis tentang arah proyek data serta efektivitas jangka panjang dan optimisasi sistem mereka.
Ini membutuhkan perubahan cara berpikir, yang bisa menjadi tantangan. Banyak data engineer mungkin tidak memiliki minat pada tanggung jawab strategis dan bisnis, sehingga mereka memilih untuk tidak melangkah lebih jauh di perusahaan.
Peran Manajerial Senior
Setelah data engineer memiliki sekitar enam tahun pengalaman atau lebih, mereka dapat beralih ke peran yang lebih manajerial jika memilih, seperti:
- Manajer data engineering
- Direktur data engineering
- Chief data officer
Selain sangat mahir dalam keterampilan teknis yang diperoleh pada level sebelumnya, peran ini mengharuskan data engineer memiliki kemampuan kuat dalam infrastruktur data dan arsitektur data serta mampu mengelola dan menskalakan tim analitik. Mereka juga perlu mampu mendefinisikan proses untuk mengembangkan sistem berkinerja tinggi, menilai cakupan proyek baru, serta menetapkan dan mengelola SLA untuk sistem baru dan yang sudah ada.
Apa Pekerjaan Seorang Data Engineer? Proyek Data Engineering yang Khas
Mari kita lihat beberapa peran dan tanggung jawab data engineer. Misalkan Anda bekerja di perusahaan besar yang menyediakan layanan antar makanan kepada pelanggan melalui aplikasi seluler. Aplikasi ini bertindak sebagai perantara antara restoran dan pengemudi. Pelanggan memesan melalui aplikasi, dan restoran diberi tahu. Setelah makanan siap, seorang pengemudi ditugaskan, dan makanan dikirim ke pelanggan.
Dapat Anda bayangkan, aplikasi seperti ini dapat menghasilkan sangat banyak data setiap hari. Mulai dari data restoran, pengemudi, dan pelanggan, hingga log untuk setiap interaksi di aplikasi. Pertimbangkan juga data yang dikumpulkan dari panggilan layanan pelanggan untuk keluhan, pujian, atau sengketa. Atau bahkan log dari kesalahan yang terjadi di aplikasi.
Jika seorang data scientist atau analis data di perusahaan Anda ditugaskan mengidentifikasi tren dalam pesanan yang kemudian dapat digunakan untuk membangun model machine learning. Untuk itu, mereka datang kepada Anda untuk mengekstrak dan menyiapkan data pesanan yang diagregasikan per hari. Mereka juga perlu bisa memisahkan data antara pelanggan baru dan pelanggan lama.
Memperoleh Kejelasan
Untuk menyelesaikan masalah ini, data engineer harus terlebih dahulu memperoleh kejelasan tentang masalah melalui langkah-langkah berikut:
- Identifikasi tingkat granularitas, per pesanan, per hari, minggu, bulan, tahun. Berdasarkan permintaan di atas, data pesanan harus diagregasikan per hari dengan pemisahan berdasarkan tipe pelanggan (baru atau lama).
- Identifikasi apakah ada filter yang perlu diterapkan pada data, seperti berdasarkan negara atau model ponsel.
- Identifikasi rentang waktu data. Misalnya, apakah untuk sepanjang waktu atau hanya setahun terakhir?
- Identifikasi sumber data dan/atau tabel untuk data ini. Data ini disimpan di gudang data terpusat, dan data engineer perlu mengakses tabel orders dan tabel customer. Jika diperlukan filter tambahan, maka lebih banyak tabel mungkin perlu diakses.
Ekstraksi Data
Sekarang setelah data engineer memperoleh kejelasan lebih lanjut tentang masalahnya, mereka dapat beralih ke ekstraksi dan eksplorasi data dengan melalui langkah-langkah berikut:
- Mengidentifikasi join apa yang harus digunakan antara tabel orders dan customers serta seperti apa hubungan di antara tabel-tabel ini (misalnya kunci apa yang harus digunakan untuk menggabungkan tabel). Ini memerlukan pemahaman yang kuat tentang SQL dan pemodelan data.
- Membuat fitur kategorikal untuk tipe pelanggan berdasarkan jumlah pesanan yang dilakukan setiap pelanggan. Fitur ini harus memuat kategori 'pelanggan baru' dan 'pelanggan lama'.
- Menilai kualitas data. Mengidentifikasi apakah ada data yang hilang atau anomali yang mungkin perlu dikoreksi.
Setelah data engineer menyiapkan data yang dibutuhkan data scientist atau analis data, mereka perlu membuat endpoint API yang dapat di-query untuk mengekstrak data tersebut. Seluruh proyek ini dapat memakan waktu dari beberapa hari hingga beberapa bulan, bergantung pada volume dan kompleksitas data.
Sepanjang proses ini, data engineer mungkin perlu bekerja dengan banyak sistem berbeda tergantung di mana data disimpan dan apakah ada pemrosesan tambahan yang diperlukan untuk data tersebut.
Contoh beberapa sistem yang dapat ditemui dalam masalah ini adalah SQL Server, Hadoop, atau Redshift untuk penyimpanan data, SQL untuk melakukan query data, dan Python untuk menulis skrip pemrosesan data.
Penutup
Seperti yang Anda lihat, proyek data engineering yang khas mencakup beberapa keterampilan inti yang krusial bagi data engineering, seperti membangun data pipeline. Untuk mempercepat pembelajaran dan mempersiapkan diri untuk peran di data engineering, coba jalur keterampilan Python for Data Engineering di DataCamp. Untuk mendapatkan pengalaman langsung pertama dengan gudang data cloud, coba Proyek Exploring London’s Travel Network kami. Ini menawarkan kesempatan bagus untuk bekerja dengan Amazon Redshift, Google BigQuery, dan Snowflake langsung di browser Anda. Terakhir, untuk membuktikan kredensial Anda sebagai data engineer, ikuti sertifikasi data engineer kami.
Semoga artikel ini memberi Anda wawasan tentang peran data engineer dan apa yang sebenarnya mereka lakukan. Jika Anda mempertimbangkan untuk memulai karier di data engineering, kini Anda juga seharusnya lebih memahami jalur karier yang dapat diharapkan.
