Haruskah saya pergi ke Ilmu Data?

Nasihat yang selalu saya berikan ketika seseorang bertanya kepada saya di mana harus mulai melakukan ilmu data. Lebih baik menjadi insinyur perangkat lunak.



Ini adalah pendapat pribadi dan pilihan saya. Surat balasan dalam komentar dipersilakan.

Profesi seorang spesialis sekarang menjadi tren. Saya tidak berpendapat, ilmu data akan menjadi salah satu bidang kegiatan paling modis di abad ke-21, tetapi ini dengan tidak layak mendevaluasi profesi lain yang bermanfaat dan dibayar tinggi - pengembang perangkat lunak.

Seringkali saya menerima pesan dari lulusan universitas dan hanya orang-orang yang mengubah profesi mereka, menanyakan bagaimana cara memasukkan ilmu data. Sebagai gantinya, saya menyarankan mereka untuk hanya masuk ke IT.

Memiliki pengalaman di kedua bidang, saya akan mencoba meyakinkan Anda untuk membuat pilihan yang tepat.
Perangkat Lunak EDISON - pengembangan web
EDISON , -.


. , , , β€” .

, software engineering data science solve problems! ;-)

1. -


Ada urutan besarnya lebih banyak pekerjaan dalam rekayasa perangkat lunak dibandingkan dengan ilmu data.

Berikut adalah beberapa cuplikan layar setelah pencarian di Google untuk " pakar data Β» (" ilmuwan data Β») dan Β« pengembangan perangkat lunak Β» (" insinyur perangkat lunak Punya Β»).





7.616 lowongan ilmiah versus 53.893 dalam pengembangan perangkat lunak. Ini sama di AS, di negara lain.

Jika Anda percaya Glassdoor (layanan web yang dapat digunakan untuk memantau tingkat gaji dan mendapatkan ulasan karyawan tentang perusahaan), para ilmuwan data menghasilkan lebih banyak uang. Namun, hipotesis saya yang belum diverifikasi adalah bahwa lowongan data terutama ditargetkan pada karyawan yang sangat berkualitas.





Meskipun, siapa yang berpendapat, jika Anda ditawari satu juta di OpenAI - setuju tanpa ragu-ragu.

2. Tidak ada konsensus bahwa ini umumnya merupakan "ilmu data"


Manajemen perusahaan seringkali memiliki gagasan yang tidak jelas tentang apa arti kata "ilmu data". Hal ini juga mudah dimungkinkan, mengingat keterbatasan spesifik dalam bisnis, yang terdiri dari kenyataan bahwa bisnis tidak selalu mampu untuk mengikuti struktur peran secara ketat.

Ini berarti bahwa tanggung jawab "pakar data" sangat bervariasi, sangat berbeda dari perusahaan ke perusahaan.


Sketsa bersyarat yang mungkin Anda butuhkan tergantung pada tugas bisnis Anda. Dalam spektrum antara penyelesaian masalah bisnis dan penelitian, ada profesi seperti Insinyur Perangkat Lunak, Insinyur Data, Insinyur Pembelajaran Mesin, Data Ilmuwan.

Meskipun berbagai peran ideal antara insinyur perangkat lunak dan spesialis data dapat dibayangkan, tidak mungkin bahwa dalam kehidupan nyata ini akan diwujudkan dalam referensi. bentuk. Ini terutama berlaku untuk startup yang sedang menjalani proses penskalaan ketika mereka hanya membangun infrastruktur.

Akibatnya, kandidat yang disewa bekerja pada masalah perusahaan saat ini, dan tidak memenuhi peran ahli yang, secara umum, mereka dipekerjakan.


Saya memiliki kesaksian dari kolega saya (ilmuwan data) bahwa mereka menulis kode backend sebagai pengembang perangkat lunak. Saya tahu "peneliti data" lain yang telah berhasil menyelesaikan masalah keuangan perusahaan mereka.

Ini dapat sangat kontras dengan harapan Anda, terutama jika mereka terbentuk di bawah pengaruh kontes Kaggle.

3. Kesendirian pelari jarak jauh menurut data


Sebagian besar perusahaan tidak membutuhkan ahli data sebanyak insinyur perangkat lunak. Perusahaan lain sejauh ini hanya mempekerjakan spesialis data pertama mereka (dan untuk saat ini).

Untuk alasan ini, banyak peneliti data bekerja sendiri, bahkan jika mereka duduk di meja yang sama dengan pengembang.

Ini bisa membuatnya sulit untuk mendapatkan umpan balik dan pendapat kedua. Insinyur perangkat lunak tidak mengerti pemodelan prediktif sama sekali, atau terlalu sibuk dengan masalah yang sama sekali berbeda.

Sebaliknya, salah satu kelebihan tim pengembangan perangkat lunak adalah kemampuan untuk selalu memberi tahu kolega: β€œSaya percaya Anda perlu menerapkan ABC di XYZ. Pendapat Anda? ".

Jadi, bersiaplah secara mental untuk membahas masalah dengan diri Anda atau ... dengan bebek karet.

4. Ilmu Data memiliki karakter penelitian yang menonjol


Bersiaplah untuk percakapan yang tidak menyenangkan dengan manajemen tentang topik yang tidak Anda gunakan selama 2 minggu.

Bekerja pada kedua masalah yang dapat dipecahkan dan tidak terpecahkan adalah salah satu perbedaan mendasar antara pengembangan perangkat lunak dan AI.

Mengingat kesalahan dan keterbatasan yang melekat dalam pengembangan perangkat lunak - sebelum Anda mulai, pada dasarnya Anda memiliki gagasan tentang apa yang layak dan apa yang tidak. Anda tidak bisa mengatakan hal yang sama tentang Pembelajaran Mesin. Apakah model itu akan menjadi efektif tidak diketahui sampai diimplementasikan.

5. Bisnis belum siap untuk AI


Bahkan di era ketika hampir setiap perusahaan besar memperkenalkan kecerdasan buatan, kebanyakan dari mereka tidak memiliki infrastruktur yang tepat untuk mendukungnya.

Salah satu teman saya, kepala departemen Ilmu Data di sebuah startup yang berkembang secara intensif, baru-baru ini membagikan kebijaksanaan startup-nya dengan segelas kopi:

Pertama Anda mengidentifikasi masalah, kemudian membangun infrastruktur, dan baru kemudian menarik para pakar data. Dan semua ini terjadi dengan sangat cepat. (Bukan kata demi kata)

Teman saya yang lain, seorang spesialis ilmu data di sebuah perusahaan terkenal, baru-baru ini mengeluh dalam sebuah percakapan bahwa dia dipaksa untuk melatih model kecerdasan buatan pada data besar di laptopnya, dan bukan di awan.

Jika beberapa masalah spesifik belum terselesaikan di tempat baru di mana Anda datang, atau bahkan perusahaan tidak siap untuk memperkenalkan ilmu data ke dalam prosesnya, maka bersiaplah untuk membuat sesuatu yang berharga pada batas kekuatannya.

6. Rekayasa Perangkat Lunak Memberikan Keterampilan Umum


Menjadi insinyur perangkat lunak junior seperti mendapatkan gelar MBA dalam teknologi. Anda akan belajar sedikit dari segalanya.

Anda akan belajar tentang basis data, teknologi cloud, penyebaran, keamanan, dan penulisan kode bersih.

Anda akan belajar bagaimana mengelola rakitan perangkat lunak dengan mengamati pemimpin scrum, pengembang senior atau manajer proyek Anda. Anda akan menerima bimbingan.

Jika Anda menemukan diri Anda di perusahaan dengan tim insinyur yang sudah mapan, hampir dijamin bahwa Anda akan dengan cepat meningkatkan keterampilan Anda dan mendapatkan pengalaman keseluruhan yang tertutup.

7. Pengembangan perangkat lunak sebagai suatu kegiatan jauh lebih fleksibel.


Dengan pengalaman yang lebih holistik dengan teknologi, pengembangan perangkat lunak memberikan lebih banyak pilihan ketika Anda memutuskan sudah waktunya untuk mengubah sesuatu.

DevOps, keamanan, antarmuka, backend, sistem terdistribusi, analisis bisnis, rekayasa data, ilmu data ...

Saya tahu banyak pengembang yang telah beralih dari pengembangan perangkat lunak ke ilmu data. Jika Anda mencari deskripsi pekerjaan untuk ilmu data, Anda akan segera melihat bahwa mereka memerlukan banyak keterampilan yang dihasilkan oleh pengembangan perangkat lunak.


Jika Anda dapat membuat proyek E2E, Anda juga dapat melakukan lebih dari sekadar membuat model untuk kontes Kaggle. Anda dapat mengambil model ini, membuatnya, mengkonfigurasi otorisasi dan pembayaran elektronik, dan kemudian menghasilkan uang. Ini adalah startup Anda sendiri.

Saya tidak akan pernah mengatakan bahwa ilmu data tidak berguna di luar ruang lingkupnya. Membuat keputusan berdasarkan data besar hanyalah pembunuh di zaman kita. Tetapi ini juga akan mengarah pada fakta bahwa metode ilmu data akan semakin banyak diminati dalam pekerjaan lain, karena bisnis semakin dan semakin terfokus pada data besar.

8. Pembelajaran mesin akan menjadi alat umum untuk pengembang perangkat lunak.


Ketika AI menjadi lebih nyaman dan lebih mudah digunakan, pengembang perangkat lunak akan mulai menggunakannya untuk menyelesaikan masalah mereka.

Saya bisa mengajar (di sore hari) pengembang untuk membangun pengklasifikasian sklearn. Ini tidak berarti bahwa padawan saya akan membuat AlphaGo berikutnya, tetapi itu memberinya alternatif untuk logika bersyarat hard-code berdasarkan input pengguna.

Spesialis big data memiliki pengetahuan khusus, seperti statistik, mereka memiliki intuisi khusus tentang cara kerja model. Tetapi para insinyur DevOps dan Keamanan juga memiliki pengetahuan khusus mereka sendiri.

Saya akan mengatakan bahwa intinya di sini bukan bagaimana perbedaan keterampilan, tetapi bahwa beberapa digunakan lebih jarang dan yang lain lebih sering. Seorang insinyur yang berpengalaman bergerak di antara pesanan spesialisasi yang besarnya lebih cepat, sementara seorang pemula belajar dari awal.

Meskipun saya tidak berpikir bahwa kita akan melihat penggabungan lengkap ilmu data dengan pengembangan perangkat lunak. Sebaliknya, ilmu data akan menjadi bidang keahlian lain dalam pengembangan perangkat lunak.

9. AI tidak akan mengganti insinyur perangkat lunak di masa mendatang


Tidak peduli seberapa bodoh kedengarannya sekarang, pada tahun 2014 saya mulai mengembangkan perangkat lunak, karena takut AI akan membuat pekerjaan lain menjadi usang.


Namun, sejak itu, kami belum benar-benar mendekati masa depan teknologi. Adopsi teknologi lambat, dan kami lebih jauh dari AI yang kuat dari yang bisa Anda bayangkan.

Dibandingkan dengan profesi lain, pembelajaran mesin bahkan lebih jauh dari otomatisasi pengembangan perangkat lunak. Meskipun kami memiliki startup yang membuat produk keren, seperti penyelesaian kode dengan dukungan AI, pengkodean itu sendiri sebenarnya bukan pekerjaan nyata. Pekerjaan saat ini adalah untuk memecahkan masalah menggunakan teknologi.

Sejauh ini, di era pra-singularitas, kemampuan menulis program akan tetap menjadi keterampilan yang berharga dan dibayar tinggi untuk waktu yang lama.

Kesimpulan


Pertama, ini semua terutama IMHO saya. Kedua, saya sadar bahwa saya menggabungkan ilmuwan data, insinyur pembelajaran mesin dan pengembang kecerdasan buatan menjadi satu tumpukan - dan saya sangat memahami perbedaan di antara mereka. Meskipun demikian, ada baiknya mempertimbangkan argumen ini dengan penuh pertimbangan, karena ini adalah hidup dan karier Anda.

Jangan menganggap apa yang saya katakan terlalu serius. Saya lebih suka Anda menyelidiki masalah ini dan membuat keputusan sendiri. Ini adalah bagian dari pekerjaan ahli data, secara umum :)

Pada akhirnya, mereka membayar kami terutama untuk menyelesaikan masalah.

Terjemahan di Blog Edison:


All Articles