“Tampaknya bagi saya bahwa kita sedang mendekati waktu di mana setiap orang akan dapat membuat kode. Kode adalah kebebasan. "

Habr, halo! Kami melanjutkan serangkaian wawancara dengan alumni Newprolab di mana mereka berbicara tentang kisah mereka pindah ke bidang bekerja dengan data besar. Cerita-ceritanya berbeda dan akan menarik bagi mereka yang berpikir untuk mengubah jalur karier mereka atau tentang bagaimana pengetahuan baru dapat membantu memecahkan masalah saat ini. Hari ini kita kemungkinan besar memiliki opsi kedua. Meet - Dmitry Rodin, dalam hati saya seorang pengembang, kontributor platform analitis open source Rockstat ; co-founder, co-author dan guru Digital God - program pendidikan untuk para profesional digital; CEO Xeteq .

Kami berbicara dengan Dima tentang bahasa pemrograman dan solusi apa yang ia tulis pada mereka, tentang proyek open source-nya dan mengapa ia melakukannya, tentang spesialisasi baru yang mereka ajarkan, dll.

gambar

- Dima, ceritakan sedikit tentang dirimu.

- Kerajinan karamel saya langsung muncul di pikiran saya, saya bercanda tentang itu untuk waktu yang lama, tetapi serius, dalam hati saya adalah seorang programmer, baik, atau seorang arsitek, saya suka memikirkan dan menciptakan solusi baru, melibatkan orang lain di dalamnya. Selama 10 tahun terakhir saya telah terlibat dalam teknologi pemasaran, dan saya begitu terbawa dengan mereka sehingga berubah menjadi hobi. Dia mengembangkan hampir segalanya: dari sistem manajemen periklanan dan DSP hingga anti-penipuan dengan modul pemantauan perangkat keras. Saya pikir saya belajar Zen, tetapi itu tidak akurat.

- Anda telah memprogram lebih dari 15 tahun, beri tahu saya berapa banyak bahasa pemrograman yang Anda ketahui dan gunakan dalam pekerjaan dan proyek pribadi Anda?

- Saya pikir menghitung jumlah bahasa itu salah, keterampilan yang paling penting adalah memahami beberapa konsep bahasa, dan kemudian praktis tidak ada perbedaan apa yang harus ditulis. Ya, tentu saja, masing-masing bahasa memiliki kelebihan dan kekurangannya sendiri, jangan lupa tentang hal ini.

- Dan dari bahasa apa Anda memulai dan apa yang Anda gunakan sekarang.

- Sekarang bagi saya tidak ada banyak perbedaan untuk menulis apa. Saya mulai dengan mengembangkan situs di PHP, itu lebih dari 15 tahun yang lalu. Benar, saya belum menggunakannya selama bertahun-tahun.

Setelah PHP ada Ruby, lalu bahasa hype, banyak konferensi diadakan, dan kerangka kerjanya - Ruby on Rails - menjadi model bagi banyak orang lain. Secara umum, di Ruby lah banyak konsep lahir, yang kemudian mereka adopsi dan turunkan dalam bahasa pemrograman lain dan ekosistemnya.

Kemudian saya mulai aktif berkembang dalam JavaScript (node.js). Browser pernah berkompetisi dalam kecepatan dan keamanan, dan selama perlombaan itu lahirlah mesin JavaScript V8 yang sangat kuat, terletak di dalam browser Chromium (catatan: browser terbuka yang menjadi basis Chrome). Beberapa orang memutuskan untuk mengambil mesin ini dan mengencangkannya ke libevent, yang menghasilkan hal yang sangat tidak produktif, asinkron yang melakukan bahasa pemrograman skrip sisi server lainnya, meskipun dengan sintaks JavaScript dan ekosistem jijik saat itu. Dalam bahasa server inilah saya mengembangkannya.

Bagi saya, JavaScript adalah bahasa yang paling mengerikan, hampir tidak mungkin melakukannya dengan baik, yaitu. tulis kode yang kompatibel yang nyaman untuk debug, uji, dan kembangkan. Tetapi dalam beberapa tahun terakhir, JS telah sangat meningkat: bahasa itu sendiri telah berevolusi, banyak alat perakitan telah muncul, dan yang paling penting, add-on yang memungkinkan Anda untuk menggambarkan tipe data, memeriksa kepatuhan dan menemukan potensi kesalahan yang dapat dilakukan pengembang, sehingga menghilangkan sebagian besar dari mereka. Salah satu pengaya ini adalah TypeScript, saya telah menggunakannya alih-alih JS murni selama beberapa tahun sekarang.

Tentu saja, Anda tidak dapat melepaskan diri dari Python, semuanya ada di sana, ia bekerja dengan mudah dan cukup cepat, Anda tidak perlu membuat apa pun, Anda dapat melakukan hampir apa pun yang Anda inginkan. Ini disesuaikan dengan baik untuk bekerja dengan data: banyak paket matematika, alat yang mudah digunakan seperti Jupyter, mengambil setidaknya tidak adanya batasan pada ukuran angka dalam perhitungan matematika.

Favorit saya, yang, bagaimanapun, saya paling sedikit bekerja adalah Elixir. Ini didasarkan pada bahasa fungsional lain, Erlang, yang dibuat oleh Ericsson untuk pemrograman peralatan telekomunikasi. Fitur utamanya adalah paralelisme dan toleransi kesalahan. Ngomong-ngomong, dia muncul lama sekali, praktis seusiaku. Eliksir adalah paralel sejajar dan toleran terhadap kesalahan. Erlang dan Elixir memiliki fitur arsitektur yang menarik, misalnya, satu server dapat menangani beberapa juta koneksi simultan melalui penggunaan implementasi proses ringan dan pengiriman pesan sendiri melalui koneksi ringan. Benar, Erlang memiliki sintaks yang sangat tidak nyaman dan tidak ekspresif.

Jadi, Elixir, pada kenyataannya, adalah Erlang yang sama dengan semua kekuatannya, tetapi dengan sintaks yang jauh lebih menyenangkan dan nyaman dari Ruby. Di Xeteq, kami membuat MTA yang produktif di atasnya (catatan: agen transfer surat, mis. Server surat). Namun, saya masih takut untuk melakukan proyek skala besar di Elixir. Saat menggunakannya, Anda harus menulis sendiri terlalu banyak: apa yang sudah lama Anda implementasikan dalam bahasa lain sebagai perpustakaan siap pakai, Anda harus melakukannya sendiri. Meskipun terkadang berguna untuk "menemukan kembali roda", Anda dapat menemukan sesuatu yang baru dan bermanfaat. Dan komunitasnya agak lamban. Semua proyek memiliki komunitas yang sangat kecil, misalnya, mengambil kerangka kerja plug-in dasar - memiliki kurang dari 2 ribu bintang, analognya adalah termos python, yang memiliki hampir 40 ribu, dan ruby ​​sinatra memiliki sedikit lebih dari 10 ribu.

- Mari kita bicara tentang proyek. Ceritakan tentang proyek Anda yang paling menarik, penting dan penting, dan apa nasib mereka.

- Proyek serius pertamaku adalah "Blonde.ru". Pada tahun 2009, itu adalah proyek yang sangat ambisius, intinya adalah bahwa setiap orang, tanpa pengetahuan khusus dalam periklanan kontekstual, dapat secara mandiri meluncurkan kampanye periklanan, dan sekaligus di semua jaringan periklanan dan dari satu antarmuka sederhana. Di sanalah saya tumbuh dengan sangat profesional dan bertemu orang-orang yang sangat memengaruhi hidup saya. Kebetulan setelah beberapa bulan kursi direktur teknis dikosongkan, dan ketika mereka mencarinya, mereka menunjuk saya direktur pelaksana. Beberapa waktu berlalu, dan kursi itu kosong. Kepala perusahaan, Yura Eliseev, mengambil dan menjadikan saya direktur teknis yang lengkap, saya tidak tahu apa yang dibimbingnya, saya cukup hijau untuk posisi ini, walaupun mungkin saya melihat sesuatu dalam diri saya ( tertawa - komentar penulis ). Ngomong-ngomong, di sanalah kami bertemu dengan Alexander Shvets (dengannya kami mendirikan Dewa Digital). Dia datang kepada kami dalam posisi seorang programmer, sementara masih menjadi mahasiswa Baumanka dan berada dalam kondisi terbaik ini. Secara umum, kami kemudian menjadi teman yang sangat baik. Proyek ini hidup, telah diubah namanya dan diubah beberapa kali, memasuki pasar luar negeri, sekarang dikenal sebagai Aori.

- Dan setelah Blonde.ru Anda mulai melakukan proyek pertama Anda, bukan?

- Ya, teman saya dan saya memutuskan untuk membuat widget produk, pada kenyataannya, jaringan periklanan Yandex.Market. Untuk membuatnya lebih jelas: ada Yandex.Direct, dan ada YAN (Yandex Advertising Network) - situs yang berbeda di mana blok mereka berada, dan mereka bisa mengejar seseorang melalui pencarian atau tampilan tematik. Yandex.Market tidak memiliki ini, tetapi ada API konten khusus yang memungkinkan untuk menerima penawaran panas dari toko dan tautan ke mana harus mengirim orang yang tertarik. Dan jika pembelian dilakukan, maka kami diberi 50% dari biaya yang dibayarkan oleh pengiklan. Cukup cepat, saya menggergaji mesin - widget yang diletakkan di situs, itu menentukan topik, melihat apa yang seseorang tertarik, untuk membuat pilihan produk secara otomatis dari Pasar. Ini bekerja dengan baik. Kami belajar bagaimana melakukan arbitrase dengan baik (“arbitrage” - untuk membeli ruang iklan dan menjadikannya menguntungkan melalui saluran lain), untuk mengidentifikasi situs yang baik / buruk, dan kami mulai secara aktif membeli ruang iklan di banyak situs dan menempatkan widget kami di sana. Di antara situs-situs itu ada sebuah mobil besar. Hasilnya, kami mendapatkan pertumbuhan yang sangat cepat, tetapi, untuk beberapa alasan yang tidak diketahui, Yandex secara sepihak memutuskan kontrak dengan kami. Kami melakukan yang terbaik untuk mengetahui alasannya, tetapi gagal melakukan ini, kami harus menutup proyek. Itu adalah kesedihan yang luar biasa, karena banyak upaya dilakukan dalam proyek ini, dan kinerjanya sangat bagus. Sekarang saya yakin bahwa itu adalah pengalaman yang baik yang mengajari saya cara menilai risiko dengan tepat. Secara umum, pengalaman hanya positif, dan jika sesuatu tidak berhasil, itu hanya akan membantu Anda menghindari kesulitan yang bahkan lebih besar di masa depan.

gambar

- Namun, setelah mendapatkan semua jenis pengalaman, Anda terus membuat proyek baru. Apa yang terjadi selanjutnya?

- Entah bagaimana saya mulai membuat penghitung saya sendiri untuk mengumpulkan data tentang perilaku orang di situs web dan menghitung statistik berdasarkan ini - seperti bagaimana Google Analytics dan Yandex.Metrica mengumpulkan data mereka. Kode diletakkan di situs, memonitor semua tindakan pengunjung di situs, mengirimkannya ke server, sisi server menerima data ini dan menyimpannya dalam database terdistribusi. Proyek ini disebut Rockstat. Kemudian, saya berpikir untuk membuat layanan analisis end-to-end berdasarkan itu, yang, omong-omong, sekarang menjadi masalah bagi banyak perusahaan. Tetapi saya tidak memiliki kekuatan maupun waktu untuk berkembang, dan saya bahkan tidak memulai. Dan itu baik bahwa saya tidak melakukannya, sekarang saya memiliki pendapat bahwa layanan analisis end-to-end melakukan pekerjaan mereka. Mereka cocok untuk mereka yang tidak memahami analitik dan pemasaran, yang tidak memiliki pemahaman tentang bagaimana semuanya harus bekerja, atau mereka yang memiliki kebutuhan rendah. Dalam kasus lain, mereka dibatasi oleh kurangnya integrasi atau ketidakcocokan logika kerja. Tapi saya menemukan penggunaan yang menarik untuk data mentah yang dikumpulkan oleh counter.

- Apa?

- Misalnya, pertimbangkan atribusi multichannel berdasarkan perilaku pengunjung situs, dan bukan pada nomor kunjungan. Atribusi adalah cara mendistribusikan nilai penjualan antara saluran iklan yang berpartisipasi di dalamnya. Model atribusi berdasarkan bagian probabilistik dari corong telah menjadi populer, tetapi hanya cocok untuk situs yang memiliki corong dan siklus penjualan yang tidak terlalu lama - ini adalah mayoritas toko online. Tetapi ada sisi lain: real estat, mobil, gaun pengantin, di mana siklus keputusan lebih lama, dan corong yang memadai di situs sama sekali tidak ada. Bagi mereka, saya menghasilkan indeks aktivitas / perilaku keterlibatan. Pada waktu itu, penghitung saya sudah memiliki beberapa pengguna, ini memungkinkan saya untuk menguji hipotesis, menghitung atribusi berdasarkan keterlibatan pengguna dalam berinteraksi dengan situs. Saya mengambil dua situs di mana ada corong dan siklus penjualan tidak terlalu pendek. Saya membandingkan hasil model berdasarkan bagian probabilistic dari corong dan model berdasarkan keterlibatan, ternyata mereka berkorelasi nyata. Lagi pula, kita hidup dalam waktu seperti itu: jika konten halaman tidak menangkap atau tidak memberi harapan, maka itu akan segera ditutup.

Saya pikir ini bisa bermanfaat dan diminati. Saya telah melalui beberapa perusahaan, mengatakan bagaimana mereka dapat meningkatkan cara mengevaluasi efektivitas saluran periklanan, tetapi ternyata terlalu sulit ... Sulit untuk memahami dan menambah kesulitan dengan pembenaran biaya. Secara umum, ada sangat sedikit orang yang ingin melakukan pekerjaan mereka dengan sangat keren, yang didorong oleh apa yang mereka lakukan, dan yang berusaha untuk mengambil ketinggian baru. Lebih sering, ternyata bahwa ketika mereka memenuhi keputusan yang sulit dan tidak dapat dipahami, mereka lebih suka menilai itu, tidak akan menyulitkan hidup mereka. Dia berbicara di Data Science Week, Moscow Digital dengan cerita tentang model ini. Ada banyak yang tertarik, tetapi tidak ada yang matang.

Dan kemudian ada giliran lain, beberapa orang datang kepada saya untuk berbicara tentang analitik (saya pikir begitu), tetapi ternyata mereka datang untuk menawarkan pekerjaan kepada saya, dan untuk posisi yang sangat tidak biasa bagi saya, direktur pemasaran; dan bukan di suatu tempat di luar sana, melainkan ke putri Sberbank Plazius yang menjanjikan. Pengalaman ini layak mendapat cerita yang terpisah, jadi mungkin saya akan melewatkannya.

Ketika masih bekerja di Plazius, saya mulai mengajar. Teman saya dan saya, bersama dengan platform Tceh, meluncurkan kursus pendidikan penuh-waktu "Programmatic Advertising Specialist". Kursus ini membantu orang meningkatkan kompetensinya di bidang periklanan teknologi yang sulit atau bahkan mendapatkan profesi baru. Dan kemudian saya berakhir di Linkprofit, di mana saya mulai menciptakan teknologi pemasaran yang terutama berfokus pada pasar, dan bukan pada pemenuhan kebutuhan perusahaan. Kemudian perusahaan melakukan restrukturisasi, tanpa menyadarinya, saya ditunjuk sebagai kepala perusahaan IT baru Xeteq, yang termasuk dalam kelompok perusahaan LT Digital.

- Tunggu, bagaimana dengan Rockstat? Dia meninggalkannya, karena tidak ada yang mengerti?

- Suatu kali saya berpikir: "Mengapa Rockstat keluar?" Mungkin seseorang akan mendapat manfaat. " Redid layanan dalam kotak, menambahkan alat data dan meletakkannya di open source yang disebut Alcolytics. Dan kemudian mulai ... Di sekitar proyek mulai mengumpulkan komunitas orang-orang yang sangat profesional, yang jarang saya temui sebelumnya. Mereka mulai mengenalkannya di rumah. Saya sangat kagum! Selain itu, mereka sangat kompeten mendekati cara menggunakannya, saya bahkan tidak memiliki pemikiran seperti itu. Kemudian saya memutuskan sendiri bahwa saya hanya akan bekerja dengan yang antusias dan profesional, dan membiarkan sisanya pergi ke hutan, saya bahkan tidak akan berhubungan dengan mereka yang tidak tahu apa yang mereka inginkan, yang perlu "menjual" ide dan kemudian membuktikan keefektifannya.

Saya mulai menghabiskan hampir seluruh waktu luang saya untuk pengembangan proyek ini, saya sangat termotivasi oleh pengembalian yang terlihat. "Untuk apa, saya dulu ingin mengkomersilkan segala sesuatu jika saya muak dengan kenyataan bahwa mereka menggunakannya, dan orang-orang menyukainya," pikir saya. Secara umum, pada awalnya itu entah bagaimana menakutkan, tiba-tiba bug, tetapi saya bahkan tidak bisa memperbaikinya atau mereka akan menginstalnya salah, mereka akan merusak segalanya, dan kemudian mereka akan mengatakan bahwa perangkat lunak tidak berfungsi (* tertawa - komentar penulis *). Saya tahu tentang selusin server dengan Alcolytics, mungkin ada lebih banyak, tetapi pengetahuan ini cukup untuk motivasi tinggi, saya terus-menerus mengembangkan proyek, dan itu menjadi lebih baik dan lebih baik.

Satu pengguna di Alcolytics mengumpulkan data dari CRM dan panggilan, analitik bawaan. Data ini diperlukan untuk membangun atribusi lintas situs yang cerdas. Ini harus dilakukan di luar, karena tidak ada cara untuk menjalankan kode di dalamnya. Kemudian saya memutuskan untuk membuat skrip kecil untuk pengembangan API saya, yang memungkinkan kami untuk mengambil data ini ke crm atau ke mana pun menggunakannya. Saya bekerja banyak pilihan, tetapi di mana-mana ada beberapa jenis cacat. Saya memutuskan untuk membuat tata letak layanan untuk Docker, tetapi sangat terhanyut oleh proses ini sehingga dua bulan kemudian saya menyadari bahwa saya telah membuat platform layanan-mikro saya, tetapi saya ingin melakukan hal sederhana untuk menjalankan skrip. Saya sangat terpesona oleh pemikiran itu: "Mengapa saya perlu analitik jika tidak ada cara untuk mengotomatisasi pengambilan keputusan?" Cukup untuk melihat angka beberapa kali, dan jelas dalam hal apa yang harus dilakukan. Ini memungkinkan Anda untuk melakukan perangkat lunak komersial, biasanya dengan harga yang layak, atau kompleks, dari sudut pandang implementasi dan dukungan, open source.

- Ya, keputusan sederhana bukan untuk Anda, jika Anda melakukan sesuatu, maka secara besar-besaran.

- Saya membayangkan berapa banyak otomatisasi yang berbeda yang mungkin untuk diterapkan. Mereka akan melakukan berbagai tugas: mengelola anggaran dan tawaran iklan atau, jika kita berbicara tentang iklan RTB, akan mungkin untuk mengalihkan pengguna dari satu segmen ke segmen lainnya jika mereka mengubah status dalam sistem. Anda dapat melakukan apa pun yang Anda inginkan. Dalam proses bekerja di platform ini, saya menemukan banyak "sepeda", saya belum pernah menemukan begitu banyak sebelumnya. Tidak ada yang akan memuji saya untuk ini, tetapi saya suka mereka dan mereka ternyata sangat keren. Ada argumen lain yang sangat bagus - semuanya bekerja di server yang sama dengan $ 10, mempertahankan situs dengan 1-2 juta pengunjung per bulan, tanpa melelahkan sama sekali. Kerangka kerja yang dikembangkan untuk 2 bahasa pemrograman yang mengimplementasikan semua fungsi yang diperlukan, mengatur interaksi dengan layanan microser lainnya. Omong-omong, perusahaan besar sekarang dibangun di sekitar teknologi layanan mikro.

Dan juga, ketika Anda membuat solusi open source, bukan hal yang memalukan untuk mengambil sepotong dari open source lain, misalnya, klien seluler, yang akan membutuhkan banyak waktu untuk diimplementasikan. Dalam perdagangan, tentu saja, tidak demikian - ini adalah risiko reputasi yang sangat besar, dan memang memalukan. Saya belajar banyak tentang open source keren ketika saya mulai bekerja dengannya.

Sekarang ini bukan proyek yang menyelesaikan masalah tertentu, ini adalah platform yang membantu mewujudkan keinginan Anda, dan untuk melakukannya dengan mudah, jangan repot-repot dengan hal-hal techie yang rumit dan membosankan.

Baru-baru ini dirilis dalam pengujian alpha versi ke-3 , mengembalikan nama asli Rockstat . Dokumentasi masih kecil, ada banyak bug, tetapi pengguna puas. Di antara mereka ada perusahaan besar: satu maskapai penerbangan, dan yang berikutnya adalah pengiklan dari 30 besar Rusia. Tentu saja, ada lebih banyak pengguna secara total. Kami memiliki komunitas kecil di TG (@rockstats), teman-teman akan melaporkan masalah dan pencapaian.

- Mengapa dan mengapa Anda menghabiskan begitu banyak waktu dan uang pribadi untuk sebuah proyek, yang kemudian Anda posting di open source. Apa yang memotivasi Anda?

- Sepertinya bagi saya bahwa proyek Rockstat dapat sangat mengubah dunia digital. Jelas bahwa standar ini cocok untuk perusahaan kecil, dan raksasa membuat keputusan yang rumit, tetapi ada perusahaan dengan spesialis berbakat dan kebutuhan kompleks di antara keduanya, ada lebih banyak dan lebih banyak lagi. Mereka menciptakan solusi yang berani dan efektif dengan tangan mereka sendiri. Tidak diketahui apakah pasar akan mengikuti mereka atau tidak, karena diketahui apa yang terkenal dengan Rusia. Untuk beberapa waktu saya akan mengembangkan proyek di sini, tetapi hanya dia yang akan tumbuh sedikit, saya akan mencoba untuk menyatakannya di pasar lain.

Itu jauh, tetapi sekarang saya bisa dengan jujur ​​mengatakan: "Saya tidak tahu mengapa saya butuh uang, ke mana harus menyimpannya." , - , , . open source , , : « - ?» , , , . , .

— ?

— , ( – . ). . , , email . – , – , . , : , , 00-, . , . – (Message Transfer Agent) – . . 2-3 MPV ( ). , . – . , , . – «» , . Elixir, , , , Elixir .

— , , , « » ? ?

— . Hadoop . , , , - ; , . , : Hadoop, , « », DMP, — . : ; . , , . , .

— Digital God — . ?

— , , : ( ), Ad-/Mar-Tech. , Facebook, . digital . : digital . , , .. , , : , , .

( ) , , – ( – . ). . , , . 2- , 3- . , . .

– , , , . , – . . , , . , , . , , .

Rockstat : , , . , , , , , . - ( Rockstat ). , , . , . - API, - , scraper- , API.

Rockstat Digital God – . – « » . - . «, » — , . - , . - , , . , , , . , , .

gambar
1 Digital God Digital Rockstar

— . , Digital God? ?

— , , , , , . , , .

digital , digital, , , , , .

— , ?

— - , , , . , , . , . - , , , , , .

— ., , . , , .

— , , ó , : , . , , . , ( , - DigitalGod) . , : « , . \, ». , , , . , , , .

, IT : - , , , , . , , , , , , . , , .

— , ? , / ?

— , , , , . , - , .

, , . , , . - , , , . , . , , , - , , , .

— , ? , .

— ( – . ). , , , . , . , , - .

— , ?

— - , . — , , , . open source, , , Digital God digital . , . , , – , , , …

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


All Articles