Insinyur Data: Mitos vs. Realitas
Diterbitkan: 2018-05-10Dari mobil yang dapat dikendarai sendiri hingga penandaan otomatis pada gambar, ilmu data telah berkembang pesat. Ilmuwan dan analis data telah menjadi bagian integral dari organisasi mana pun karena nilai yang mereka tambahkan. Tapi, sejujurnya, seorang ilmuwan data hanya sebaik data yang mereka kerjakan. Sebagian besar organisasi saat ini menyimpan data mereka dalam berbagai format dan di berbagai platform. Di sinilah kebutuhan akan insinyur data!
Insinyur data adalah orang yang membuat data ini dapat diterapkan untuk ilmuwan dan analis data. Insinyur data bertanggung jawab untuk membangun jalur pipa yang mengubah tumpukan data menjadi format yang dapat digunakan untuk ilmuwan data. Mereka sebagian besar bekerja di belakang layar dan karenanya tidak memiliki semua kemewahan seorang ilmuwan/analis data – tetapi ingatlah, mereka sama-sama (jika tidak lebih) penting untuk berfungsinya organisasi mana pun.
Jika ilmuwan data adalah pengemudi mobil balap, insinyur data adalah pembuat mobil balap. Yang pertama mendapat kegembiraan melaju kencang di sepanjang trek dan sensasi menang di depan orang banyak yang bertepuk tangan. Yang terakhir, di sisi lain, mendapatkan kesenangan dari mesin penyetelan dan menciptakan mesin yang kuat dan kuat. Pembuat mobil balap membuat pekerjaan pengemudi jauh lebih mudah (atau lebih sulit, tergantung pada kualitas pembuatnya).
Bagaimana Anda Dapat Bertransisi ke Analisis Data?
Dalam hal ini, insinyur data adalah pahlawan tanpa tanda jasa dari tim analitik data mana pun. Tanpa insinyur data yang baik, seorang ilmuwan data hanya akan menggaruk-garuk kepalanya mencari petunjuk dalam data yang tidak diformat.
Mari kita lihat apa yang dibutuhkan oleh semua pekerjaan seorang insinyur data.
Demi pemahaman yang lebih baik, mari kita asumsikan Anda adalah seorang insinyur data di pesaing Swiggy (sebut saja Twiggy). Anda memiliki aplikasi yang dapat digunakan pengguna di perangkat apa pun dan mengakses layanan Anda. Mereka memesan makanan, pesanan akan diarahkan ke restoran yang sesuai, makanan diambil dari sana, dan sampai di tangan Anda.
Untuk menjaga agar layanan ini tetap sinkron, Anda memerlukan:
- Aplikasi seluler untuk pengguna
- Aplikasi seluler untuk pemilik restoran
- Server tangguh untuk menangani banyak permintaan sekaligus.
Seperti yang mungkin sudah Anda pahami sekarang, aplikasi ini akan menghasilkan data dalam jumlah BESAR. Selanjutnya, Anda memerlukan beberapa penyimpanan data:
- Database yang berisi detail pengguna dan restoran.
- Log akses server. Ini akan mencakup permintaan apa pun yang dibuat ke server dari aplikasi.
- Log kesalahan server yang berisi semua kesalahan sisi server.
- Log peristiwa aplikasi. Ini akan berisi informasi tentang tindakan apa yang dilakukan pengguna atau pemilik restoran dalam aplikasi.
- Log kesalahan aplikasi yang berisi kesalahan berbasis aplikasi.
- Basis data layanan pelanggan. Ini akan berisi data tentang interaksi Anda dengan pelanggan Anda.
Sekarang, katakanlah seorang ilmuwan data dari tim Anda ingin menganalisis perilaku pengguna pada layanan Anda dan melihat tindakan apa yang berkorelasi dengan pengguna yang menghabiskan banyak uang. Untuk membantu mereka membuat ini, Anda harus menggabungkan semua informasi dari log akses server dan log peristiwa aplikasi.
Anda harus:
- Kumpulkan log analisis aplikasi secara teratur.
- Gabungkan log analitik aplikasi dengan entri log server untuk pengguna yang relevan.
- Kembangkan API yang mengembalikan riwayat peristiwa pengguna mana pun.
Itu banyak pekerjaan di sana!
Untuk melakukan semua ini, Anda harus membuat saluran yang dapat secara efisien menyerap log aplikasi seluler dan log server secara real-time, menguraikannya, dan menautkannya ke pengguna yang sesuai. Selanjutnya, Anda harus menyimpan log yang diurai dalam database sehingga API dapat dengan mudah menanyakannya. Akan ada banyak server yang harus Anda putar di belakang penyeimbang beban untuk menguraikan log yang masuk.
Sebagian besar masalah yang akan Anda temui adalah seputar sistem terdistribusi dan keandalan. Jika Anda memiliki jutaan perangkat untuk mengumpulkan log dan permintaan dinamis (pada sore hari, Anda mendapatkan banyak entri log, tetapi tidak sebanyak pada tengah malam), Anda perlu mengembangkan sistem yang dapat secara otomatis meningkatkan dan menurunkan jumlah server tergantung pada lalu lintas.
Langkah Teratas untuk Menguasai Ilmu Data
Secara kasar, operasi dalam pipa rekayasa data generik menjalani fase berikut:
- Penelanan: mengumpulkan data yang dibutuhkan.
- Processing : mengolah data untuk mendapatkan hasil yang diinginkan.
- Penyimpanan: menyimpan hasil untuk pengambilan lebih cepat.
- Akses: mengaktifkan alat untuk mengakses hasil jalur pipa data.
Seorang insinyur data diharapkan memiliki pengetahuan dalam domain berikut.
- Pergudangan Data:
- RDBMS seperti MySQL, MS SQL Server, dll.
- Basis data NoSQL seperti HBase, MongoDB, CouchDB, Cassandra, dll.
- Pengumpulan data:
- API RESTful
- Pengetahuan tentang pemodelan data dan keahlian dalam SQL.
- Transformasi data:
- Alat ETL seperti Informatica, Datastage, Redpoint, dll.
- Bahasa scripting apa pun seperti Python, Ruby, Perl, dll.
Mari kita lihat beberapa mitos dan kesalahpahaman seputar kehidupan dan pekerjaan para insinyur data ini.
Daftar isi
Mitos #1: Insinyur data mengekstrak nilai dari data yang dikumpulkan.
Ada banyak hal yang terjadi di antara pengumpulan data dan penggalian pengetahuan. Insinyur data terutama bertanggung jawab untuk mengubah data menjadi bentuk yang cocok untuk dianalisis dan dikerjakan oleh para ilmuwan. Dalam hal ini, mereka tidak mengekstrak nilai apa pun dari data, pada kenyataannya, mereka menyajikan data di atas piring kepada ilmuwan data yang kemudian menemukan nilai darinya.

Mitos #2: Insinyur data perlu membuat semua data murni.
Anda akan menyadari betapa tidak masuk akalnya hal ini jika Anda membaca kalimat di atas secara perlahan. Seorang insinyur data menangani aliran data yang masuk sepanjang hari. Data ini perlu dibersihkan dan ditindaklanjuti segera agar tidak menjadi basi. Dengan basi, maksud kami tidak berwawasan dan tua. Jadi, insinyur data tidak membuat semua data murni. Mereka bekerja dengan data yang ada dikombinasikan dengan data lain yang diperlukan untuk masalah yang dihadapi. Membersihkan kumpulan data lengkap akan memakan waktu berbulan-bulan, dan pada saat itu tidak ada gunanya.
Dasar-Dasar Dasar Statistik untuk Ilmu Data
Mitos #3: Insinyur data membuang data pada alat yang sudah jadi dan menikmati data yang bersih/dapat diterapkan sebagai output.
Tolong jangan katakan itu dengan keras di depan insinyur data mana pun. Pernah. Tidak ada insinyur data yang menghargai diri sendiri yang akan mentolerir penghinaan yang begitu mencolok. Seperti insinyur lainnya (perangkat lunak, mekanik, kimia, dll.), insinyur data perlu memiliki kemampuan berpikir mereka setiap saat. Tidak ada pendekatan yang cocok untuk semua dalam rekayasa data, dan insinyur data perlu membentuk algoritme agar sesuai dengan kasus penggunaan mereka secara terus-menerus. Mereka perlu mengetahui teknik dan metode terbaru di sekitar pekerjaan mereka untuk memastikan efisiensi yang sempurna.
Mitos #4: Insinyur data hanyalah insinyur perangkat lunak yang mengerjakan Big Data.
Insinyur perangkat lunak bekerja pada pengembangan aplikasi seluler/web. Pekerjaan mereka melibatkan banyak masalah yang beragam dan kesulitannya adalah dalam mengelola tugas – berpikir, berkomunikasi, dan mengatur kode. Insinyur data, di sisi lain, umumnya memiliki lebih sedikit masalah, tetapi masalah individu jauh lebih sulit secara teknis. Dari pandangan hingga keahlian, semuanya sangat berbeda untuk seorang insinyur data daripada untuk seorang insinyur perangkat lunak.
Siapa Ilmuwan Data, Analis Data, dan Insinyur Data?
Dapatkan sertifikasi ilmu data dari Universitas top dunia. Pelajari Program PG Eksekutif, Program Sertifikat Tingkat Lanjut, atau Program Magister untuk mempercepat karier Anda.
Apakah Rekayasa Data mirip dengan peran TI klasik?
'Insinyur Data' dan 'Insinyur Perangkat Lunak' mungkin terdengar dapat dipertukarkan dengan mereka yang berada di luar sektor komputer, karena keduanya sangat bergantung pada keterampilan pemrograman. Tapi sebenarnya mereka ahli di bidang yang berbeda. Tujuan utama dari insinyur perangkat lunak adalah untuk membuat situs web yang ramah pengguna. Insinyur data membangun sistem untuk menyimpan, mengkonsolidasikan, dan mengambil data, yang kemudian digunakan oleh pengembang perangkat lunak untuk membangun sistem dan aplikasi. Insinyur Data juga dapat membuat dan memelihara saluran integrasi dan pengiriman berkelanjutan (CI/CD) untuk semua data organisasi, serta sistem kontrol versi untuk memastikan kualitas data di seluruh infrastruktur.
Apakah perlu memiliki pendidikan tinggi atau gelar lanjutan untuk menjadi Insinyur Data?
Untuk bekerja sebagai insinyur data, Anda tidak memerlukan gelar, meskipun perusahaan tertentu mungkin lebih menyukai kandidat dengan setidaknya gelar sarjana. Tidak ada kursus akademik atau kurikulum online yang dapat mempersiapkan Anda sepenuhnya untuk membuat sistem data yang dapat memindahkan data dari berbagai sumber, mengubahnya, dan menyimpannya untuk analisis. Faktanya adalah sebagian besar Insinyur Data yang sukses belajar banyak di tempat kerja saat beroperasi di dunia nyata dengan pelanggan nyata. Tapi ya, penting bagi Insinyur Data untuk memiliki keterampilan yang baik untuk bekerja dengan alat tertentu seperti Amazon Athena, Amazon Redshift, Apache Spark, dll. dan mendapatkan pengetahuan tentang praktik terbaik manajemen data.
Bagaimana menjadi Insinyur Data yang sukses?
Untuk bisnis berbasis data, rekayasa data sangat penting, tetapi apa sebenarnya yang dilakukan oleh para insinyur data? Inilah jalan untuk menjadi Insinyur Data yang sukses
1. Menjadi mahir dalam pemrograman: Jika Anda ingin menjadi Insinyur Data yang sukses, pertama-tama, mulailah dengan memoles dasar-dasar pemrograman Anda. Python dan Scala adalah teknologi yang paling umum digunakan di sektor ini.
2. Pelajari cara mengotomatisasi dan skrip: Otomasi pembelajaran sangat penting bagi Insinyur Data. Karena ada banyak tugas yang harus dilakukan pada data yang mungkin membosankan atau mungkin terjadi secara teratur. Beberapa alat penting untuk otomatisasi adalah skrip Shell dan Pemrosesan Data di Shell.
3. Mengetahui cara menggunakan database Anda: Hal ini dapat dilakukan dengan mempelajari SQL dan pemodelan data.
4. Teknik Pemrosesan Data yang Mahir: Untuk menguasai teknik pemrosesan data, penting untuk mempelajari cara memproses data dalam batch dan stream, sebelum memuat hasilnya ke database target.