Mengapa seorang ilmuwan data bukan seorang insinyur data?



"Seorang ilmuwan dapat menemukan bintang baru, tetapi tidak dapat membuatnya. Untuk melakukan ini, dia harus menghubungi seorang insinyur. " Gordon Lindsay Glass, Desain Desain (1969)

Beberapa bulan yang lalu, saya menulis tentang perbedaan antara para ahli dalam teori dan metode analisis data (ilmuwan data) dan spesialis dalam pengolahan data (data engineer). Saya berbicara tentang keterampilan mereka dan titik awal yang umum. Sesuatu yang menarik terjadi: para ilmuwan data mulai maju, mengklaim bahwa mereka benar-benar kompeten di bidang teknik data sebagai spesialis pemrosesan data. Ini menarik karena para ahli pemrosesan data tidak keberatan dan tidak mengatakan bahwa mereka adalah spesialis dalam teori analisis data.

Oleh karena itu, selama beberapa bulan terakhir saya telah mengumpulkan informasi dan memantau perilaku para spesialis dalam teori analisis data di lingkungan kerja alami mereka. Dalam pos ini, saya akan berbicara lebih banyak tentang mengapa seorang ilmuwan data bukan seorang insinyur data.

Mengapa ini penting?


Beberapa mengeluh bahwa perbedaan antara spesialis dalam teori analisis data dan spesialis dalam pemrosesan data hanya terletak pada namanya. " Nama tidak boleh menghentikan orang dari belajar atau melakukan sesuatu yang baru, " kata mereka. Saya setuju, Anda perlu belajar sebanyak mungkin. Namun ketahuilah bahwa pelatihan Anda hanya dapat sedikit berhubungan dengan apa yang perlu dilakukan dalam praktik. Jika tidak, ini dapat menyebabkan kegagalan proyek dengan data besar.

Banyak juga tergantung pada tingkat manajemen di perusahaan. Manajemen mempekerjakan spesialis teori analisis data, mengharapkan mereka menjadi spesialis pemrosesan data.

Saya mendengar cerita yang sama di berbagai perusahaan: perusahaan memutuskan bahwa ilmu data adalah cara untuk mendapatkan uang investor, banyak keuntungan, mendapatkan kredibilitas di komunitas bisnis mereka, dll. Keputusan ini dibuat di tingkat manajemen senior. Sebagai contoh, biarkan Alice tertentu milik manajer top seperti itu. Setelah pencarian yang panjang, perusahaan tersebut menemukan spesialis terbaik dalam teori analisis data di dunia - sebut saja dia Bob.

Hari kerja pertama Bob tiba. Alice mendatanginya dan dengan bersemangat membicarakan semua rencananya.

“Hebat. Di mana jalur pipa data dan cluster Spark Anda? "Tanya Bob.

Alice menjawab: “Ini yang kami harapkan darimu. Kami mempekerjakan Anda untuk melakukan analisis data. "
"Aku tidak tahu bagaimana melakukan ini," kata Bob.

Alice terlihat terkejut: “Tapi kamu adalah spesialis dalam teori pemrosesan data. Benar? Inilah yang sedang Anda lakukan. "

"Tidak, saya menggunakan jaringan pipa dan data yang sudah dibuat."

Alice kembali ke kantornya untuk mencari tahu apa yang terjadi. Dia melihat grafik yang disederhanakan seperti yang ditunjukkan pada Gambar 1, dan tidak bisa mengerti mengapa Bob tidak dapat melakukan tugas-tugas sederhana dengan data besar.


Gambar 1. Diagram Venn yang disederhanakan dengan spesialis teori analisis data dan spesialis pemrosesan data.

Spotlight


Dua masalah muncul dari interaksi ini:

  • Mengapa manajemen tidak memahami bahwa spesialis dalam teori analisis data bukan spesialis dalam pemrosesan data?
  • Mengapa beberapa ahli teori analisis berpikir mereka sedang memproses spesialis?

Saya akan mulai dari sisi kepemimpinan. Nanti kita akan berbicara tentang spesialis teori analisis data itu sendiri.

Mari kita hadapi itu: pemrosesan data tidak menjadi sorotan. Dia tidak dinyatakan sebagai karya terbaik abad ke-21. Dia tidak sering ditulis di media. Di konferensi, eksekutif perusahaan tidak diberi tahu tentang manfaat pemrosesan data. Semua pesan terkait dengan analisis data dan pencarian spesialis dalam teori dan metode analisis data.

Tetapi banyak hal mulai berubah. Kami memiliki konferensi tentang pemrosesan data. Kebutuhan untuk pengembangan alat pemrosesan data teknis secara bertahap diakui. Saya berharap pekerjaan saya akan membantu organisasi mewujudkan kebutuhan mendesak ini.

Pengakuan dan penghargaan


Bahkan dalam kasus di mana organisasi memiliki tim spesialis pemrosesan data, pekerjaan mereka seringkali masih belum dievaluasi secara memadai.

Kurangnya pengakuan dapat dilihat selama konferensi. Seorang spesialis dalam teori analisis data mengatakan bahwa ia menciptakan. Saya melihat teknologi pemrosesan data yang komprehensif yang menjadi dasar modelnya, tetapi tidak pernah disebutkan selama percakapan. Saya tidak berharap itu akan diperiksa secara rinci, tetapi akan menyenangkan untuk mencatat pekerjaan yang telah dilakukan sehingga penciptaan modelnya menjadi mungkin. Manajemen dan pemula di bidang analisis data percaya bahwa segala sesuatu mungkin terjadi dengan keahlian seorang spesialis dalam teori analisis data.

Cara mencapai pengakuan


Baru-baru ini, para ahli pemrosesan data telah bertanya kepada saya bagaimana mendapatkan sorotan di perusahaan mereka. Mereka merasa bahwa ketika para ahli dalam teori analisis menunjukkan perkembangan terbaru mereka, mereka mendapatkan semua rasa terima kasih dari kepemimpinan. Pertanyaan utama yang ditanyakan oleh para insinyur kepada saya adalah: "Bagaimana saya bisa membuat ilmuwan data berhenti mempertimbangkan pekerjaan umum kita sebagai jasa saya?"

Ini adalah pertanyaan yang beralasan, berdasarkan situasi yang saya lihat di perusahaan. Manajemen tidak mengenali (dan tidak mengungkapkan) pekerjaan pemrosesan data, yang berkaitan dengan segala sesuatu yang berkaitan dengan analisis data. Jika Anda membaca ini dan berpikir:

  • Spesialis teori analisis data saya adalah spesialis pemrosesan data.
  • Ahli teori analisis data saya membuat jalur pipa data yang sangat kompleks.
  • Penulis tidak harus tahu apa yang ia bicarakan.

... maka Anda mungkin memiliki spesialis pemrosesan data yang tidak menjadi sorotan.

Ketika spesialis teori analisis data berhenti tanpa insinyur, maka insinyur yang tidak menerima pengakuan yang memadai atas pekerjaannya akan berhenti. Jangan tertipu; untuk spesialis pemrosesan data yang berkualitas, pasar tenaga kerja sama panasnya dengan spesialis dalam teori analisis data.

Analisis data hanya mungkin dilakukan dengan dukungan teman-teman kita


Anda mungkin pernah mendengar mitos Atlanta . Sebagai hukuman, ia dipaksa untuk menjaga dunia / langit / ruang angkasa pada dirinya sendiri. Bumi ada dalam bentuknya yang sekarang hanya karena Atlas memegangnya.

Demikian pula, para ilmuwan data mendukung dunia analisis data. Seseorang yang memegang seluruh dunia di pundaknya menerima tidak banyak penghargaan, meskipun dia seharusnya. Di semua tingkatan organisasi, harus dipahami bahwa analisis data hanya dimungkinkan berkat kerja sekelompok spesialis pemrosesan data.


Fig. 2. Bahkan Italia pada tahun 1400-an tahu tentang pentingnya spesialis pemrosesan data.

Ilmuwan data bukanlah insinyur data.


Ini membawa kita pada mengapa teori analisis data menganggap mereka spesialis pemrosesan data.

Sebelum kita melanjutkan, beberapa reservasi untuk memperingatkan komentar:

  • Saya tahu bahwa para ahli teori analisis data benar-benar sangat cerdas, dan saya suka bekerja dengan mereka.
  • Saya bertanya-tanya apakah kecerdasan seperti itu menyebabkan efek IQ Dunning-Kruger yang lebih kuat.
  • Beberapa pakar teori analisis data terbaik yang saya tahu adalah pakar pemrosesan data, tetapi jumlahnya sangat sedikit.
  • Kami terus mengevaluasi kembali keterampilan kami sendiri.


Fig. 3. Diagram empiris dari persepsi keterampilan mereka oleh spesialis dalam teori analisis dibandingkan dengan keterampilan mereka yang sebenarnya.

Membahas keterampilan pemrosesan data mereka dengan para ahli dalam teori analisis data, saya menemukan bahwa harga diri mereka sangat bervariasi. Ini adalah eksperimen sosial yang menarik dengan prasangka. Sebagian besar ahli teori analisis data telah melebih-lebihkan kemampuan pemrosesan data mereka sendiri. Beberapa memberikan penilaian yang akurat, tetapi tidak ada yang memberi peringkat lebih rendah dari kemampuan mereka yang sebenarnya.

Dua hal hilang dalam diagram ini:

  • Apa tingkat keahlian para profesional pengolah data?
  • Tingkat keterampilan apa yang diperlukan untuk jalur pipa data yang cukup kompleks?


Gambar 4. Diagram empiris dari keterampilan spesialis dalam teori analisis dan pengolahan data yang diperlukan untuk membuat jalur pipa data yang cukup kompleks.

Gambar tersebut menunjukkan perbedaan kemampuan yang diperlukan untuk pemrosesan data. Bahkan, saya sedikit melebih-lebihkan dengan jumlah ilmuwan yang mampu membuat jalur pipa data yang cukup kompleks. Kenyataannya mungkin bahwa para ahli dalam teori analisis membentuk setengah dari bagian yang ditunjukkan dalam diagram.

Secara umum, ini menyajikan bagian perkiraan dari dua kelompok ini, yang dapat dan tidak dapat membuat jalur pipa data. Ya, beberapa spesialis pemrosesan data tidak dapat membuat jalur pipa yang cukup kompleks, seperti kebanyakan ahli dalam teori analisis. Ini membawa kita kembali ke masalah mendesak: organisasi memberikan proyek mereka dengan data besar kepada mereka yang tidak memiliki kesempatan untuk menerapkannya dengan benar.

Apa itu pipeline data yang cukup kompleks?


Jalur pipa data yang cukup rumit adalah satu langkah di atas level minimum yang diperlukan untuk membuat jalur pipa data . Contoh level minimum adalah pemrosesan file teks yang disimpan dalam HDFS / S3 menggunakan Spark: katakanlah, awal optimasi penyimpanan menggunakan database NoSQL yang digunakan dengan benar.

Saya pikir para ahli dalam teori analisis data berpikir bahwa jalur sederhana mereka adalah pemrosesan data. Tetapi pada kenyataannya mereka berbicara tentang solusi paling sederhana, dan sabuk konveyor yang jauh lebih kompleks diperlukan. Di masa lalu, seorang spesialis pemrosesan data di belakang panggung melakukan rekayasa yang sangat kompleks, dan para ahli teori analisis tidak harus menghadapinya.

Anda mungkin berpikir: “Ya, 20% pakar teori analisis data saya dapat menangani ini. Pada akhirnya, saya tidak perlu spesialis pemrosesan. ” Pertama, ingatlah bahwa bagan ini melebih-lebihkan kemampuan para ahli teori analisis data. Level yang cukup sulit masih level yang agak rendah. Saya perlu membuat diagram lain untuk menunjukkan betapa sedikit ahli teori analisis data dapat mengambil langkah berikutnya. Pada tahap ini bagian mereka di antara spesialis yang terlibat dalam teori analisis data berkurang menjadi 1% atau kurang.

Mengapa ilmuwan data bukan insinyur data?


Kadang-kadang saya lebih suka mempertimbangkan manifestasi yang tercermin dari masalah. Berikut adalah beberapa dari masalah ini yang membuat ahli teori analisis data tidak memiliki keterampilan pemrosesan.

Universitas dan kursus


Analisis Data adalah program populer baru untuk universitas dan kursus online. Ada semua jenis saran, tetapi masalah yang sama ditemukan hampir di mana-mana: kurikulum tidak mengandung kelas pemrosesan data sama sekali, atau hanya satu pasangan yang menonjol.

Ketika saya melihat program pelatihan analisis data baru, saya melihatnya. Terkadang saya diminta untuk mengomentari program studi yang ditawarkan oleh universitas. Saya memberi tahu semua orang hal yang sama: “Apakah Anda memerlukan programmer yang berpengalaman? Karena kursus Anda sama sekali tidak menyangkut pemrograman atau sistem yang diperlukan untuk menggunakan pipa data yang dibuat. "

Kursus, secara umum, berfokus pada alat statistik dan matematika yang diperlukan. Ini mencerminkan bagaimana, menurut perusahaan dan ilmuwan, analisis data akan terlihat seperti. Tetapi dunia nyata terlihat sangat berbeda. Siswa miskin hanya bisa bergoyang sampai akhir kelas non-sepele ini.

Kami dapat mengambil langkah mundur dan melihat segala sesuatu dari sudut pandang akademis, mempertimbangkan persyaratan untuk gelar master di bidang sistem terdistribusi. Jelas, seorang spesialis dalam teori analisis data tidak memerlukan tingkat yang dalam, tetapi membantu untuk menunjukkan kesenjangan apa yang ada dalam keterampilan seorang spesialis dalam teori analisis data. Ada beberapa celah serius.

Pemrosesan Data! = Spark


Kesalahpahaman yang umum di antara para ahli dalam teori analisis dan manajemen data adalah bahwa mereka berpikir bahwa pemrosesan data hanya menulis semacam kode Spark untuk memproses file. Spark adalah solusi batch yang baik, tetapi itu bukan satu-satunya teknologi yang Anda butuhkan. Solusi big data akan membutuhkan 10-30 teknologi berbeda yang akan bekerja bersama.

Kekeliruan ini adalah jantung dari kegagalan data besar. Manajemen percaya bahwa perusahaan memiliki solusi universal baru untuk menyelesaikan masalah dengan data besar. Kenyataannya jauh lebih rumit.

Ketika saya memberi tahu organisasi tentang masalah big data, saya memeriksa keberadaan kesalahan ini di semua tingkatan perusahaan. Jika ya, saya harus yakin bahwa saya akan mencantumkan semua teknologi yang mereka perlukan. Ini menghilangkan kesalahpahaman bahwa di area data besar ada tombol sederhana dan teknologi tunggal untuk menyelesaikan semua masalah.

Dari mana kode itu berasal?


Terkadang pakar teori analisis data memberi tahu saya betapa sederhananya teknologi pemrosesan data. Saya bertanya kepada mereka mengapa mereka berpikir demikian? “Saya bisa mendapatkan kode yang saya butuhkan dari StackOverflow atau Reddit. Jika saya perlu membuat sesuatu dari awal, saya dapat menyalin proyek seseorang ke dalam ceramah di konferensi atau ke dalam dokumen teknis. "

Untuk orang asing, ini mungkin tampak normal. Untuk spesialis pemrosesan data, ini adalah alarm. Mengesampingkan masalah hukum, ini bukan pemrosesan data. Di bidang data besar ada beberapa masalah template. Segala sesuatu yang terjadi setelah "halo, dunia" memiliki struktur yang lebih kompleks, yang memerlukan spesialis pemrosesan data, karena tidak ada pendekatan templat untuk bekerja dengannya. Menyalin proyek dari dokumentasi teknis dapat menyebabkan kinerja yang buruk atau sesuatu yang lebih buruk .

Saya harus berurusan dengan beberapa kelompok pada teori analisis data yang mencoba pendekatan "monyet melihat - monyet tidak". Itu tidak bekerja dengan baik. Ini disebabkan oleh peningkatan tajam dalam kompleksitas data besar dan perhatian khusus pada kasus penggunaan. Tim spesialis dalam teori analisis data sering menolak proyek karena melampaui kemampuan mereka dalam pemrosesan data. Sederhananya, ada perbedaan besar antara "Saya dapat menyalin kode dari StackOverflow" atau "Saya dapat mengubah sesuatu yang sudah ditulis" dan "Saya dapat membuat sistem ini dari awal".

Secara pribadi, saya khawatir bahwa kelompok spesialis dalam teori analisis data dapat menjadi sumber hutang teknis yang sangat besar yang mengurangi efektivitas data besar dalam organisasi. Pada saat ini menjadi jelas, hutang teknis akan sangat besar sehingga tidak mungkin untuk memperbaikinya.

Apa kode terpanjang yang diperkenalkan untuk keperluan industri?


Perbedaan utama antara spesialis dalam teori analisis data adalah kedalamannya. Kedalaman ini dapat ditunjukkan dengan dua cara. Apa periode penerapan kode mereka yang paling lama dalam praktiknya - dan apakah itu bahkan dioperasikan? Apa program terpanjang, terbesar, atau paling kompleks yang pernah mereka tulis?

Ini bukan tentang persaingan, tetapi tentang apakah mereka tahu apa yang terjadi ketika Anda menjalankan sesuatu, dan bagaimana mempertahankan kodenya. Menulis program 20 baris kode relatif sederhana. Adalah masalah lain untuk menulis 1000 baris kode yang koheren dan mudah dipelihara. Orang yang belum pernah menulis lebih dari 20 baris tidak mengerti perbedaan dalam kemudahan perawatan. Semua keluhan mereka tentang verbositas Jawa dan kebutuhan untuk menggunakan praktik terbaik dalam pemrograman terkait dengan proyek perangkat lunak besar.

Saat mengevaluasi dan menemukan data, Anda harus bekerja dengan cepat dan mengulang kode. Dan bekerja dengan kode untuk penggunaan produksi diperlukan pada level yang berbeda dan lebih dalam. Itulah sebabnya kode sebagian besar pakar dalam teori analisis data harus ditulis ulang sebelum dioperasikan.

Desain Sistem Terdistribusi


Salah satu cara untuk mengetahui perbedaan antara pakar teori analisis data dan spesialis pemrosesan data adalah dengan melihat apa yang terjadi ketika mereka menulis sistem terdistribusi mereka sendiri. Seorang ahli dalam teori analisis data akan menulis sesuatu yang sangat fokus pada matematika tetapi tidak berfungsi dengan baik. Seorang spesialis pemrosesan data yang menulis sistem terdistribusi akan membuat solusi terdistribusi yang akan bekerja dengan baik ( tetapi jangan menulis sistem Anda sendiri dengan lebih baik ). Saya akan menceritakan beberapa kisah tentang interaksi saya dengan organisasi di mana para ahli dalam teori analisis data menciptakan sistem terdistribusi.

Jadi, di perusahaan pelanggan saya, departemen yang terdiri dari spesialis dalam teori analisis data menciptakan sistem seperti itu. Saya diutus untuk berbicara dengan mereka dan memahami mengapa mereka menulis keputusan mereka sendiri dan apa yang dapat dilakukannya. Mereka terlibat dalam pemrosesan gambar (didistribusikan).

Saya mulai dengan bertanya kepada mereka mengapa mereka menciptakan sistem terdistribusi mereka sendiri? Mereka menjawab bahwa algoritma itu tidak mungkin didistribusikan. Untuk mengkonfirmasi temuan mereka, mereka menandatangani kontrak dengan spesialis lain dalam teori analisis data, yang berspesialisasi dalam pemrosesan gambar. Kontraktor mengkonfirmasi ketidakmungkinan mendistribusikan algoritma.

Dalam dua jam yang saya habiskan bersama tim, menjadi jelas bahwa algoritma dapat didistribusikan pada mesin komputasi universal, seperti Spark. , . data scientist'e data engineer', -.

, , . , . . , . . RPC- , .

:

  • , . , .
  • , .
  • : « ?» : « ?»
  • , , , .

?


, , : — . , ? ?

— , big data.


, , . , . Inilah beberapa di antaranya:



  • , Agile Scrum
  • IDE




, , , , . , . , , : « » « . . ». , . .


? , - , production ? «». , .

data scientist'? , ( ), . , . «» .

?


, , data scientist' data engineer'. , . : , , .

, , , .

, , data scientist' data engineer' , , . 2-5 . , , .

, . , , , . , , . , , , , , .

, . . , . , , , , .

, . , , , , . :

  • . , , , .
  • , — . , .
  • ? , -?
  • , data scientist'. .
  • , . , . — , .

?


, , ? , . . .

, . , . .

, . .

big data


, big data — . , . big data-, . .

big data- , . , , . ( ) , .

Kegagalan serupa membentuk pola berulang. Anda dapat meningkatkan ke teknologi terbaru, tetapi lupa untuk memperbaiki masalah sistem. Hanya dengan memperbaiki akar masalah Anda dapat memulai perjalanan Anda menuju kesuksesan.

Source: https://habr.com/ru/post/id404811/


All Articles