Hari ini, tepat enam bulan setelah dua puluh tahun dalam sains, saya pergi ke sebuah startup yang mengembangkan perangkat lunak untuk membuat data sintetis, di mana saya mengintegrasikan sistem pembelajaran mesin ke dalam produk akhir. Karena ada orang di sini yang masih memutuskan untuk mengambil langkah seperti itu, saya akan menggambarkan jalan saya, atau lebih tepatnya, perubahan arah jalan saya.
Akademi
Saya seorang ahli fisika profesional dan menerima gelar Ph.D. di Departemen Fisika Universitas Negeri Moskow. Dia bekerja baik dalam fisika teoretis maupun eksperimental. Artikel di Nature dan PRL, lebih dari 700 kutipan dan indeks Hirsch 14. Detail ini bukan untuk mengukur sesuatu dengan seseorang, tetapi untuk memahami gambaran besarnya. Jika kita mengambil kontrak yang berlangsung lebih dari setahun, maka pada posisi yang begitu lama dia bekerja di empat negara Eropa Barat. Semuanya akan baik-baik saja, tetapi baru-baru ini, sains mulai berubah menjadi sebuah bisnis. Orang-orang di universitas hanya berpikir tentang mendapatkan posisi permanen. Pencarian konstan untuk uang untuk penelitian - menulis aplikasi hibah mulai memakan waktu lebih lama daripada melakukan sains secara langsung. Jika Anda tidak memiliki proyek ERC (European Research Council), maka Anda tidak akan tertarik pada universitas Eropa yang kurang lebih normal, bahkan jika Anda memiliki banyak publikasi dan proyek yang sangat baik. Terlebih lagi, semua upaya pada akhirnya tidak akan menghasilkan apa-apa. Apa peluang utama untuk mendapatkan posisi? Dari 0,5 hingga 2% ketika Anda sampai ke tempat yang tepat pada waktu yang tepat, itu adalah masalah keberuntungan (halo untuk Daniel Kahneman dan Nassim Taleb). Sepuluh tahun penelitian mungkin menjadi sia-sia, tidak βmodisβ. Kegiatan semacam itu mulai membawa lebih banyak kekecewaan. Dan jika pekerjaan itu berhenti untuk membawa kesenangan, maka segala sesuatu di sekitarnya tidak lagi menyenangkan. Ya, dan statistik menunjukkan bahwa situasinya tidak akan membaik. Jadi, keputusan untuk mengakhiri karier akademisnya dibuat. Pertanyaan kegiatan lebih lanjut bagi saya jelas - pemrograman. Namun dengan cepat kisah itu memengaruhi, tetapi tidak dengan cepat hal itu dilakukan ...
Pemrograman
Mengapa pemrograman, bukan dataset? Semuanya sederhana di sini - saya memiliki setidaknya beberapa pengalaman dalam pemrograman dan pengembangan perangkat lunak. Ya, itu adalah pengalaman pengembangan terbatas untuk penggunaan akademis pribadi dan internal, tetapi perangkat lunak saya berfungsi dan orang lain menggunakannya di laboratorium dan dalam perhitungan. Saya mengembangkan sistem untuk mengumpulkan data dan memonitor fasilitas eksperimental besar (misalnya, kulkas pembubaran dengan subsistem demagnetizing nuklir), analisis data dan visualisasi dengan Python. Sebelum ini, Fortran menggunakan banyak dan sedikit C ++ untuk perhitungan numerik. Bagaimanapun, pengalaman ini tidak cukup untuk transisi. Itu perlu untuk "menarik" atau mempelajari banyak hal baru baik dalam pemrograman (termasuk algoritma dan struktur data), dan dalam desain perangkat lunak. Saya menetapkan batas waktu satu tahun untuk diri saya sendiri, yaitu, itu adalah batas waktu untuk transisi saya, karena kontrak saya berakhir saat itu, dan saya tidak bermaksud memperbaruinya, walaupun saya memiliki kesempatan seperti itu. Dia juga "membuat sketsa" rencana pelatihan praktis kecil, yang termasuk, misalnya, membuat game Python menggunakan skrip dari buku "Programming Games and Puzzles" (Jacques Arsac, 1985) dan berbagai program kecil dari "The Programmers Idea" (Coders Leksikon). Ngomong-ngomong, saya masih menggunakan buku pertama bertahun-tahun yang lalu ketika saya menulis game untuk Spectrum ZX. Secara paralel, ia mulai mempelajari dua bahasa pemrograman lagi - JavaScript dan Go. Pada prinsipnya, semuanya berjalan dengan baik, manfaat dari sumber daya pelatihan, buku, contoh di Internet sekarang lebih dari cukup. Namun, setelah beberapa waktu saya mulai merasakan perlunya komunikasi pribadi dengan orang-orang yang terlibat langsung dalam pengembangan perangkat lunak, serta dalam bekerja bersama dalam suatu proyek. Saya mulai mencari peluang seperti itu, mengingat bahwa saya terus bekerja di universitas dan terlibat dalam pendidikan mandiri. Dan, tentu saja, mitaps datang untuk menyelamatkan ...
Rapat, proyek
Salah satu kelompok pertama adalah FreeCodeCampVienna, yang terutama berfokus pada pemrograman web, tetapi itu normal, karena komunikasi dan kontak penting bagi saya, serta mendapatkan pengalaman dalam bekerja bersama. Setelah pertemuan ketiga atau keempat, kami mengorganisasikan sekelompok kecil yang terdiri dari lima orang (hanya tersisa tiga orang) untuk mengerjakan proyek WebTags, yang memungkinkan Anda untuk mengirim pesan ke teman atau grup di situs web mana pun. Saya melakukan backend, karena saya tidak terlalu ramah dengan desain web, untuk sedikitnya. Sayangnya, kami membawa proyek hanya ke MVP dan membuat beberapa presentasi di pertemuan, tetapi entah bagaimana itu tidak melangkah lebih jauh, tetapi saya memperoleh pengetahuan yang diperlukan. Seperti di proyek lain, "CarTalk - Komunitas yang dirancang untuk penggemar mobil", diluncurkan di tim Chingu Voyage-7 (platform global gratis untuk mereka yang ingin belajar cara bekerja pada proyek bersama) belum selesai. Pada saat itu, saya sudah mulai mengunjungi kelompok-kelompok lain, termasuk yang terkait dengan data - Vienna School of AI, Deep Learning Meetup di Wina, Vienna Data Science. Ketertarikan saya mulai bergeser ke arah pembelajaran mesin dan AI, karena ada "sifat ilmiah" tertentu di dalamnya yang tidak menarik minat saya ...
Sedikit tentang ilmu data
Kemampuan untuk tidak menjauh dari sains dan pada saat yang sama terlibat dalam pemrograman membuat saya penasaran. Saya menemukan dan menyelesaikan beberapa kursus dalam pembelajaran mesin, AI, dan bekerja dengan data besar. Ada latihan di perhimpunan, meskipun tidak sebanyak yang kita inginkan. Namun, prioritas utama bagi saya tetap komunikasi dan kontak. Pada saat itu, sekitar delapan hingga sembilan bulan masa transisi yang saya tetapkan telah berlalu, dan saya mulai mengulangi resume saya. Mereka yang bekerja dalam sains tahu bahwa curriculum vitae digunakan dalam komunitas ilmiah, yang mencakup hampir semua detail kegiatan ilmiah. Kami harus memasukkan CV delapan halaman ke dalam resume satu halaman. Di satu sisi, masalahnya kecil, karena CV ilmiah memiliki banyak informasi yang tidak relevan yang menarik minat siapa pun selain universitas. Di sisi lain, tidak jelas informasi apa yang mungkin berguna. Pada akhirnya, ia memasukkan hampir semua yang terkait dengan pengembangan perangkat lunak dan analisis data, serta bekerja pada proyek pihak ketiga. Butuh waktu sekitar dua minggu untuk memproses resume. Sekitar dua bulan tersisa dari waktu yang diberikan oleh saya dan saya mulai melamar posisi terbuka. Perlu dicatat bahwa itu adalah Desember - bulan di mana ada banyak hari libur, dan memang, semuanya biasanya menunggu liburan Natal dan Tahun Baru. Saya juga mengerti bahwa keterampilan dan pengetahuan saya untuk bekerja secara langsung, misalnya, sebagai insinyur pembelajaran mesin, masih belum cukup, jadi saya fokus pada perusahaan yang bergerak dalam bidang data, tetapi dengan posisi terbuka para pengembang ...
Cari
Dan saya mulai mengirimkan resume saya. Dalam kebanyakan kasus, mereka menjawab dengan cukup cepat - dalam dua hingga tiga hari. Yang mengejutkan saya, tidak semua merespons secara instan. Kami diundang untuk beberapa wawancara setelah wawancara telepon dan tugas tes. Namun, kemudian dia menerima penolakan. Ada sekitar sepuluh dari mereka. Selama ini saya melanjutkan pendidikan mandiri dan komunikasi pada pertemuan tersebut. Saya mendengarkan, menyelidiki, mengajukan banyak pertanyaan. Mungkin seseorang mengganggu, tetapi sebagian besar menerima komentar ramah. Saya kemudian dikejutkan oleh komunitas dataine dengan keterbukaannya, yang belum pernah saya lihat di lingkungan ilmiah "normal" untuk waktu yang lama atau sangat jarang. Tertarik pada beberapa topik, termasuk pembuatan data sintetis dan perlindungan data pribadi. Sebenarnya itu tampak seperti sihir. Membuat wajah manusia atau menghasilkan kode C yang cukup memadai untuk Anda sendiri menggunakan sistem pembelajaran mesin. Sebagai seorang anak, saya membaca di buku atau majalah tentang program yang bisa menulis puisi. Lalu saya menulis satu untuk Sinclair Spectrum ZX, tetapi itu hanya menambah array dan mengganti kata-kata yang tepat di tempat yang tepat. Dan di sini tidak ada algoritma kode-keras untuk membuat sesuatu yang baru yang tidak ada, tetapi itu masuk akal! Dalam satu kata - keren. Saya mulai mempelajari topik-topik ini lebih dalam, membaca literatur dan mencari algoritma. Saya menulis beberapa surat kepada orang-orang yang mengerjakan topik ini di Austria dan sekitar Januari saya menerima undangan untuk melakukan wawancara telepon dengan mereka. direktur startup. Pada saat yang sama, saya menerima undangan dari salah satu perusahaan yang mengembangkan perangkat lunak ilmiah, tetapi saya ingin ...
Tawarkan
Setelah wawancara telepon dengan direktur startup, saya diundang untuk wawancara di kantor perusahaan dan mengirimi saya beberapa tugas praktis, salah satunya hanya untuk algoritma, dan yang lainnya terkait dengan analisis data dan transformasi dalam Python. Tugas-tugas itu tidak menimbulkan kesulitan, hanya nama-nama dari beberapa fungsi yang tampak aneh bagi saya. Seperti yang kemudian saya ketahui, tugas-tugas ini "diekstraksi" dari kode asli yang aslinya ditulis dalam R. Wawancara berlangsung pada akhir Januari, yang berarti bahwa saya dapat dengan mudah memenuhi tenggat waktu yang direncanakan dan tidak memperpanjang kontrak saya di universitas. Wawancara terutama berbicara tentang pemrograman, membahas tugas-tugas tes dan pertanyaan umum tentang kecukupan dan stabilitas psikologis. Kami berbicara total sekitar dua jam. Segalanya berjalan seolah-olah kami sudah saling kenal selama bertahun-tahun - tidak ada ketegangan. Beberapa hari kemudian saya menerima tawaran untuk posisi insinyur perangkat lunak Senior. Dan di sini menjadi menakutkan. Pertama, saya menolak tawaran di perusahaan lain yang mengembangkan perangkat lunak ilmiah, tetapi tanpa banyak siksaan. Masalah utamanya adalah saya melakukan apa yang saya maksudkan. Dan sekarang perlu untuk mengambil langkah terakhir (atau yang pertama?) - untuk meninggalkan ilmu yang telah saya lakukan selama dua puluh tahun terakhir. Saya punya lima hari untuk memutuskan, yang terpanjang dalam hidup saya. Tetapi seperti yang mereka katakan, katakan βAβ, katakan βBβ. Dan setelah bekerja untuk bulan yang diperlukan di universitas, saya pergi ke startup ...
Startup
Hari ini saya dapat mengatakan bahwa saya senang bahwa saya memulai hidup baru saya bukan di perusahaan besar, tetapi di sebuah startup kecil. Saya suka bahwa saya dapat berkomunikasi dengan setiap anggota perusahaan. Setiap orang melakukan pekerjaan mereka. Dan terlebih lagi, kita tahu apa yang kita lakukan dan mengapa. Minggu pertama bukan yang paling sulit, saya berurusan terutama dengan perbaikan bug. Tetapi perusahaan kecil tidak mampu membayar kemewahan seperti itu, jadi sepuluh hari kemudian saya sudah mengintegrasikan algoritma privasi diferensial ke dalam "mesin" kami, yang membutuhkan studi lebih dalam dan pemahaman tentang Tensorflow dan Keras, serta algoritma itu sendiri. Setelah itu, pengembangan dan implementasi encoder yang dapat memproses file yang berisi puluhan juta baris dan beberapa ribu kolom dari berbagai jenis dalam waktu yang wajar. Untuk melakukan ini, saya mempelajari Spark dan komputasi awan. Sekarang implementasi dan integrasi SaaS ... Setiap hari adalah sesuatu yang baru. Sepuluh hingga dua belas jam sehari yang terbang seperti satu jam ...