
Aplikasinya berbeda untuk aplikasinya: ada yang digunakan dari waktu ke waktu, dan ada juga yang jutaan orang menghabiskan banyak waktu setiap hari, menginstalnya pada smartphone baru.
Aplikasi VKontakte adalah yang kedua, jadi menarik untuk melihat ke dalam dan memahami siapa yang mengerjakannya dan bagaimana. Kami mengambil wawancara singkat dari pengembang iOS Alexei Savin, menanyakan tentang fitur pekerjaan dan kehidupan.
- Apa yang sebenarnya kamu lakukan?- Selama tiga tahun terakhir saya telah bekerja sebagai pengembang iOS di VKontakte. Terlibat dalam tugas yang berkaitan dengan multimedia: video dan siaran online.
"Apa yang Anda lakukan sebelum karier TI Anda dimulai?"- Seperti banyak, itu dimulai dengan fakta bahwa di tahun pertama saya mencoba sedikit lepas: Saya membuat halaman untuk toko online. Kemudian teman-teman saya dan saya mencoba membuat aplikasi seluler kami sendiri. Itu disebut 9 Mei. Bahkan, itu adalah peta kota, di mana titik-titik yang terkait dengan Perang Dunia Kedua ditandai, dan Anda dapat membaca tentang masing-masing. Ini adalah keberhasilan pertama - aplikasi diperhatikan, muncul di semua jenis koleksi subjek.
Kemudian saya secara bertahap beralih untuk sepenuhnya menggunakan outsourcing untuk aplikasi seluler. Dan tiga tahun lalu dia datang ke VK.
- Dan bagaimana Anda datang secara khusus ke pengembangan iOS - dengan pembelian iPhone?- Lalu saya bahkan tidak punya iPhone. Saya berada di tahun kedua, saat itu adalah iOS 6, saya membeli Mac, dan saya ingin mencobanya. Itu modis, dikabarkan, saya bertanya-tanya bagaimana rasanya menulis aplikasi mobile, dan sejak Mac muncul, pilihan platform sudah jelas. Namun, saya juga mencoba Android sekitar waktu yang sama (sebagai bagian dari program universitas di Jawa). Tetapi dalam perbandingan iOS, saya lebih menyukainya.
- Baru-baru ini, kami bertanya kepada pengembang iOS tentang presentasi Apple, kami juga akan bertanya kepada Anda: telepon apa itu sekarang, dan apakah Anda ingin mengubahnya setelah presentasi?- Sekarang iPhone X, saya belum berencana untuk pindah ke yang baru, saya biasanya melakukannya setiap dua tahun. Tahun depan, saya mungkin akan mengambil yang berikutnya.
- Apa pendapat Anda tentang iOS 12?- Fakta bahwa rilis itu tentang stabilitas tentu menyenangkan. Setelah pembaruan, rasanya seperti sejumlah besar bug minor yang mengganggu telah menghilang. Artinya, mereka memutuskan untuk mengambil istirahat selama satu tahun untuk meningkatkan stabilitas, dan tampaknya menjadi hebat.
- Beralih ke topik aplikasi VK: berapa banyak pekerjaan yang Anda miliki sehubungan dengan rilis iOS 12?- Anehnya, dalam versi ini hanya ada beberapa bug minor. Untuk mendukung iOS 12, Anda tidak perlu mengubah apa pun secara menyeluruh. Terakhir kali ada lebih banyak pekerjaan, di sana kami menghabiskan lebih dari satu minggu.
- Aplikasi VK sudah terkenal, tetapi siapa yang membuatnya jauh lebih sedikit diketahui. Katakan, apa tim seluler Anda, berapa banyak orang dan bagaimana pengaturannya?- Sekarang ada 18 orang di pengembang iOS. Mereka terdiri dari tim produk yang berbeda: ada tim yang berurusan dengan media, ada tim messenger, ada tim infrastruktur yang mengimplementasikan beberapa solusi umum yang digunakan oleh tim lain. Tim memiliki pengembang seluler untuk kedua platform (masing-masing 2-3 orang), ada pengembang backend - secara umum, kami mendapatkan tumpukan penuh yang sepenuhnya mencakup tugas mereka sendiri. Kami secara teratur melakukan sinkronisasi dalam kerangka platform antara tim untuk bertukar berita dan pengetahuan.
- Anda memiliki banyak pengguna, bagaimana hal ini memengaruhi pengembangan?- Situasi apa pun yang Anda anggap tidak mungkin dan tidak diperhitungkan pasti akan terwujud dengan sendirinya, dan langsung pada ribuan pengguna. Menabrak puluhan ribu orang itu menakutkan dan tidak biasa, tetapi hal itu mengembangkan tingkat tanggung jawab yang sangat besar.
- Dari mana ide-ide untuk fitur berasal, dan apa yang terjadi dengan ide dari saat persetujuan untuk rilis di App Store? Bagaimana ini semua dikembangkan?- Setiap tim produk memiliki indikator utama yang menjadi fokusnya. Misalnya, jika Anda mengambil siaran langsung, ini adalah jumlah siaran yang dibuat per bulan dan jumlah penayangan. Saat membahas fitur, kami menentukan bagaimana itu akan memengaruhi metrik yang relevan bagi kami. Hanya setelah itu kita memutuskan apakah kita akan melakukannya. Maka prosesnya cukup standar. Kami memasukkannya ke rencana kami untuk waktu luang berikutnya. Jika ini semacam ide keren, dan Anda ingin membuatnya lebih cepat, Anda dapat memindahkan sesuatu. Selanjutnya, kami membentuk dokumentasi: apa yang dibutuhkan oleh desain, apa yang dibutuhkan oleh API. Setelah itu, kita mulai melakukannya.
- Sejauh yang saya mengerti, Anda memiliki kereta rilis, dapatkah Anda memberi tahu kami lebih banyak?- Aplikasi ini dirilis setiap dua minggu. Setiap tim harus mengatakan di awal minggu apa yang akan ditambahkan ke rilis ini. Lima hari sebelum rilis - pembekuan fitur, ketika tidak mungkin lagi untuk menambahkan sesuatu yang baru, dan jika seseorang belum berhasil mengisi perubahan mereka, maka mereka tidak akan dimasukkan dalam rilis ini.
- Dan bagaimana proses ini terlihat secara teknis, bagaimana dengan tinjauan kode dan CI?- Kami memiliki kode ulasan, ada CI. Dan untuk setiap komitmen, kami mendapatkan perakitan dan melamar di dalam staf Rumah Singer - ada sekitar 200 di antaranya secara total. Semua karyawan kami sudah terbiasa menggunakan test build aplikasi. Idenya adalah bahwa tidak ada yang diuji dan tidak diverifikasi tidak boleh masuk ke majelis bagi karyawan. Jika sesuatu dituangkan ke dalam Dev, pengembang menganggap bahwa fitur tersebut benar-benar siap: telah diuji, dan karyawan dapat menggunakannya, ini adalah versi stabil yang normal.
Berkat ini, kami mendapatkan umpan balik nyata dari pengguna yang menggunakan perakitan ini hampir sepanjang waktu selama dua minggu antara kereta rilis. Dengan cara ini, kita dapat membentuk umpan balik.
- Anda memiliki aplikasi atipikal (tidak semua pengembang terlibat dalam jaringan sosial besar), dan yang ada jauh dari tahun pertama. Bisakah Anda memberi tahu saya berapa banyak baris kode yang ada, dan seberapa sulit untuk bekerja dengannya?- Berapa banyak baris kode, saya tidak akan memberi tahu Anda segera. Tetapi fakta bahwa proyek ini telah berumur bertahun-tahun memiliki efek: banyak kode warisan, ada tempat-tempat di mana MRC masih tersisa. Dan hampir semua solusinya ditulis sendiri: praktis tidak ada ketergantungan eksternal. Aplikasi memiliki ambang masuk yang cukup tinggi, termasuk karena ini.
- Dengan ambang batas seperti itu, berapa lama proses orientasi untuk pengembang baru berlangsung?- Semua pengembang baru pada awalnya termasuk dalam tim infrastruktur sebelum mereka bergabung dengan salah satu tim lainnya. Kamu bisa tinggal di sini Di sana mereka menghabiskan satu setengah sampai dua bulan - mungkin ini adalah "periode adaptasi", di mana mereka berkenalan dengan aplikasi dan melakukan beberapa tugas kecil yang tidak akan mempengaruhi sesuatu.
- Anda akan berbicara dengan kami di Mobius dengan laporan tentang siaran video di iOS. Ceritakan tentang proyek ini, berkat laporan yang muncul: dari mana ide itu berasal, bagaimana ini terjadi?- Proyek inilah yang menjadi aplikasi terpisah dari
VK Live . Gagasan itu muncul ketika saya masih di universitas. Teman-teman saya dan saya kemudian sering mencoba untuk membuat semacam aplikasi demo, menguji beberapa ide, dan secara berkala memilih tema yang modis untuk ini. Suatu hari, pada 1 Januari, setelah Tahun Baru, kami berpikir bahwa dulu kami tidak melakukan apa-apa, dan kami harus memilih topik. Dan kemudian VKontakte mengadakan kontes pengembangan mobile
VK Challenge , sebagai bagian dari kontes ini sejumlah topik diusulkan, dan ada siaran langsung. Kami berpikir bahwa kami tidak tahu apa-apa tentang mereka, jadi akan menarik untuk dicoba. Hasilnya, mereka membuat prototipe dalam beberapa bulan, dan VK Live memulai dengan itu.
- Sebuah cerita yang sangat menarik: partisipasi siswa dalam kompetisi menghasilkan fakta bahwa Anda telah berada di VK selama tiga tahun. Apakah ini kasus yang terisolasi, atau kompetisi diadakan secara sistematis? Apakah mereka yang baru saja menjadi pengembang memiliki kesempatan untuk mengulang kisah sukses yang serupa? Apakah Anda memiliki, misalnya, sekolah pengembangan Anda sendiri?- Berbagai acara diadakan secara rutin bersama kami, termasuk hackathon dan kejuaraan pemrograman VK Cup. Secara historis, ada banyak kompetisi dalam desain dan pengembangan, dan saya bukan satu-satunya orang yang masuk ke VK dengan cara ini. Tidak ada sekolah pengembangan, tetapi, misalnya, baru-baru ini kami memiliki magang dalam pembelajaran mesin. Di masa depan, kami berencana untuk mengadakan acara seperti itu lebih sering.
- Kembali ke VK Live: apa bedanya dengan pesaing seperti Periscope? Mengapa pengguna harus menggunakan aplikasi Anda?- Perbedaan utama dalam grafik sosial. Orang yang membuat siaran bersama kami akan memiliki pemirsa tertentu: teman VK mereka, yang selalu berkomunikasi dengan mereka. Mereka tidak memiliki grafik ini di situs lain.
- Dan ke arah mana proyek bergerak sekarang?- Dalam arah peningkatan interaktivitas. Misalnya, ini adalah kesempatan untuk menambahkan survei selama siaran. Artinya, cara tambahan untuk berinteraksi dengan audiens.
- Ketika Anda bekerja di proyek berskala besar seperti VK, bukankah jumlah pekerjaan yang besar mendorong Anda?- Tidak ada masalah. Orang-orang yang bekerja untuk kita sangat jatuh cinta dengan apa yang mereka lakukan, merasa bertanggung jawab untuk itu dan mendapatkan sensasi tertentu dari itu. Termasuk saya. Saya dapat dengan mudah duduk di kantor sepanjang malam dan tidak menyadarinya. Pada saat yang sama, sangat mungkin bagi kita untuk menjaga keseimbangan kehidupan kerja.
"Apa yang ingin kamu lakukan selain menulis kode?"- Bepergian.
- Tempat apa yang paling berkesan dikunjungi?- Yang terakhir - Peru. Machu Picchu adalah tempat yang ajaib dan sangat indah. Tidak seperti biasanya. Saya juga menyukai Grand Canyon.
- Apa yang akan Anda lakukan jika Anda bukan pengembang iOS?A: Saya mungkin akan mencoba sendiri dalam pembelajaran mesin - ini adalah sesuatu yang tampaknya menarik, menjanjikan dan itu akan relevan untuk jumlah tahun ke-n.
- Pertanyaan terakhir. Dengan fakta bahwa Anda melihat bagaimana pengembang iOS harus berkembang dalam realitas saat ini?- Sekarang, cukup banyak pengembang yang "dipenjara" karena kerangka kerja tertentu. Artinya, dalam pekerjaan mereka, mereka hanya menggunakan perpustakaan besar dari Facebook / Google, sering hampir tidak menyentuh kerangka asli, dan tidak selalu mengerti cara kerjanya. Dan menurut saya, antara lain, penting untuk mencoba lebih memahami bagaimana komponen utama sistem bekerja - misalnya, UIKit yang sama.
Jika Anda tertarik dengan masalah teknis siaran langsung di iOS, Alexey akan membicarakannya secara rinci di Moskow pada 8 Desember di konferensi Mobius .