Pengembangan seluler hh.ru dan tempat tinggalnya

Kembali pada tahun 2000, ketika hh.ru sangat kecil dan penuh kasih sayang disebut "National Job Club", dan hanya 3% dari Rusia yang mendapatkan akses ke Internet, kami, tentu saja, tidak memiliki pengembangan ponsel. Kemudian smartphone, dalam bentuk mereka saat ini, hanyalah mimpi yang jauh. Tahun demi tahun berlalu, teknologi tidak berhenti, HeadHunter tumbuh dan berkembang. Kami selalu berusaha untuk melangkah di garis depan dan menggunakan metode dan solusi terbaru dalam proses pengembangan.



Hari ini hh.ru bukan hanya situs dengan lowongan dan resume. Kami menciptakan dan menggunakan teknologi terbaik, mengembangkan proyek keren di bidang teknologi SDM dan melakukan yang terbaik untuk menyederhanakan kehidupan jutaan orang. Untuk melakukan ini, kita hanya perlu aplikasi seluler berteknologi tinggi, dan ada empat jam. Dua di Android dan dua di iOS, secara terpisah untuk pengusaha dan pencari kerja. Pengembang seluler adalah pahlawan super di zaman kita dan kavaleri teknologi. Artikel ini akan memberi tahu (dan menunjukkan) bagaimana anggota tim Mobile hidup dan bekerja.




# hari kerja


Penting bagi kita untuk bekerja tinggi. Oleh karena itu, kami menggunakan metode manajemen pengembangan yang efektif, memasok setiap karyawan dengan peralatan terbaru dan menciptakan ruang kerja yang paling nyaman.

Bagaimana kita bekerja


Kami dipandu oleh prinsip Agile dan Kanban: kami tidak memiliki tenggat waktu yang sulit, dan pengembangan itu sendiri disajikan sebagai aliran yang berkelanjutan. Ini memungkinkan kami untuk meningkatkan produktivitas secara signifikan: misalnya, ketika kami menggunakan scrum, rilis dilakukan sebulan sekali, dan dengan transisi ke model baru - mingguan. Kami memperhatikan banyak proses otomatisasi rutin, kami tidak suka gerakan tubuh berlebih.

Setiap tim menghabiskan 30% waktunya untuk “pajak teknis” - mempercepat proses pengembangan, menghapus kode lama dan memperkenalkan teknologi baru. Setiap karyawan memiliki rencana pengembangan, tabel keterampilan, dan dukungan tim mereka sendiri yang berkelanjutan. Setiap dari kita dapat berbagi kesan, ide, dan membuat komentar. Pengembangan fitur baru sudah dibahas pada tahap awal, dan pengembang sendiri yang memutuskan akan menjadi apa. Siklus hidup fitur mencakup lima tahap: ide, perencanaan, pengembangan, demonstrasi, dan umpan balik. Dalam proses pengembangan, kami menggunakan Slack sebagai alat komunikasi utama, Jira membantu mengontrol tugas, dan untuk tampilan yang jelas kami memiliki papan kanban.



Setiap pagi kami mengadakan stand-up (baca: rapat perencanaan), di mana kami menganalisis dan mendiskusikan topik penting. Jika perlu, Anda dapat membuat janji kapan saja untuk berbagi ide dengan tim, meminta bantuan dalam memecahkan masalah, dan mendapatkan dukungan. Selama beberapa bulan pertama, pendatang baru diberi sensei, yang membantu membiasakan diri dan memahami detail proses kerja.

Apa yang sedang kita kerjakan?


iOS: Untuk platform iOS, kami telah mengembangkan dan terus-menerus meningkatkan dua aplikasi: untuk pelamar dan untuk pemberi kerja, komponen umum dialokasikan ke kerangka kerja. 75% kode ditulis dalam Swift, 25% di Objective-C. Sejak 2016, fungsi baru telah ditulis hanya dalam bahasa Swift dan arsitektur VIPER. Di lapisan layanan, kami mematuhi pendekatan SOA. Kami mengikuti prinsip-prinsip SOLID, kami menulis unit test. Ada Gaya Kode untuk kedua bahasa, kami menggunakan analisis statis dan linter dalam pekerjaan kami. Pengujian dan pemeriksaan dijalankan untuk setiap kelompok permintaan, perakitan dan tata letak aplikasi diotomatisasi melalui server CI + fastlane. Bekerja sama dengan QA, kami menulis tes UI menggunakan XCUITest. Kami menggunakan pembuatan kode, templat untuk Xcode.



Android: Dua aplikasi juga telah dikembangkan untuk platform ini. Selama dua tahun terakhir, pengembangan telah dilakukan dalam bahasa Kotlin, di mana lebih dari 70% kode ditulis. Tim pengembangan Android bekerja dengan tumpukan teknologi tercanggih, yang secara teratur mengalami peningkatan paksa. Sekarang di bawah kap RxJava 2, Tusuk Gigi, Moksi, Cicerone. Dalam pengembangan aplikasi, kami selalu menggunakan arsitektur multi-modul. Modul diimplementasikan sesuai dengan prinsip Arsitektur Bersih dan SOLID. Kami demi kenyamanan, oleh karena itu, kami mencoba mengotomatiskan proses sebanyak mungkin, menulis dan menggunakan templat, plug-in untuk pembuatan kode, dan menerapkannya dalam pekerjaan kami. Hampir semua skrip utama dilindungi oleh tes UI. Saat menulisnya, kami menggunakan kerangka kerja tingkat tinggi Kakao, Kaspresso, dan DSL untuk perlengkapan (lebih detail di sini ). Tes dijalankan menggunakan Marathon pada emulator di kluster Kubernetes. Panduan gaya unik telah dikembangkan untuk aplikasi.



Pengujian: Setiap tim adalah lintas fungsi, dan mengerjakan proyek dari ide hingga peluncuran. Penguji kami bekerja dalam tim dan berpartisipasi dalam pengerjaan fitur mulai dari awal pengembangan mereka hingga rilis produksi. Sejauh ini, sayangnya, tidak seluruh proses pengujian telah diotomatisasi, tetapi kami berusaha untuk ini: rencana untuk waktu dekat termasuk cakupan penuh dengan autotest.

Saat bekerja pada fitur atau perbaikan bug, kami menggunakan pengujian eksplorasi, serta jumlah regresi yang ditentukan tester. Bergantung pada tugas, spesialis memilih metode dan alat yang diperlukan untuk pengujian. Juga nyaman untuk mengambil statistik dan menganalisis insiden - penguji mendapatkan akses penuh ke aplikasi dan basis kode di bangku tes.

Di mana kita bekerja?


Kantor hh.ru terletak di Moskow, antara stasiun metro Alekseevskaya dan VDNH. Banyak di masa kecil bermimpi masuk ke luar angkasa, dan mimpi sebagian menjadi kenyataan - di kantor kami ada 5 lantai ruang terbuka yang dikategorikan. Tim pengembangan ponsel adalah bagian dari Departemen Teknis, yang menempati seluruh lantai.

Pengembangan dibagi menjadi 23 tim, dan 4 dari mereka hanya berurusan dengan aplikasi mobile. Ada 25 pejuang di Mobile hh hari ini, dan pada akhir tahun kami berencana untuk memperluas staf menjadi sekitar 35. Setiap tim memiliki pelanggan internal - Pemilik Produk, yang tugasnya memastikan bahwa tidak ada yang bosan tanpa proyek. Pada saat yang sama, kami siap menerapkan gagasan karyawan kami jika ternyata menarik.

Kami tidak mengenali hambatan apa pun: tim duduk bersama - lebih nyaman bekerja dan mendiskusikan masalah yang muncul.



Ruang terbuka yang besar dibagi menjadi area komando dengan rak dan rak dengan buku dan tanaman. Jika mau, Anda bisa bersembunyi di balik pohon palem.



Kami berusaha untuk selalu berada pada gelombang yang sama. Di bungalo kami ada papan untuk semua orang.



Di setiap lantai ada pelabuhan yang tenang dengan buah-buahan segar, sayuran, kue, teh dan kopi - dapur. Di sana Anda dapat berbuat dosa dengan mesin kopi, mendapatkan makanan sesuka Anda, dan membuat jus yang baru saja diperas. Saat Anda mengunyah kue atau menghancurkan pisang, Anda dapat mengobrol dengan rekan kerja - kami senang berbicara.



Lampovo!



Ekologi itu penting. Kami mendukung lingkungan, oleh karena itu kami mendukung dan mempromosikan prakarsa yang berguna: kami mengumpulkan “Tutup yang baik” (dari botol), “Barang bagus”, kertas bekas, peralatan listrik, baterai dan plastik untuk daur ulang, dan kami juga menggunakan gelas kertas daur ulang.



Ada gym di lantai dasar, karena olahraga, seperti yang Anda tahu, adalah kedamaian, dan kami adalah orang yang sangat damai. Pada layar pemuatan di DOOM dikatakan: "Terus bergerak, neraka melahap yang menganggur". Kami pindah ke sini:



Ruang kerja


Pertumbuhan tidak bisa dihindari, lebih banyak orang = lebih banyak peluang, jadi kami mencoba menyesuaikan ruang kerja untuk semua orang, sehingga akan menyenangkan bagi semua orang. Kami melakukan survei dan hasilnya mengidentifikasi 2 kelompok - penggemar ruang terbuka dan penganut kesunyian. Berdasarkan hasil, kami memperbaiki semua lantai: di satu sisi, kami menggabungkan ruang, di sisi lain, kami meletakkan bilik untuk percakapan telepon, ruang pertemuan dengan kursi empuk untuk rapat tim dan untuk mengerjakan tugas rumit yang membutuhkan konsentrasi maksimum dalam keheningan total.

Tempat kerja tim mobile minimalis, sehingga semua orang dapat mengaturnya sesuai selera mereka - letakkan foto atau stiker dan seret gitar dan mainan favorit dari rumah. Area ruang kerja memungkinkan Anda untuk berfantasi dan bereksperimen dengan desain. Jika kekacauan di atas meja sama sekali tidak berantakan, ini adalah percobaan. Setiap anggota tim memiliki:

  • MacBook Pro, monitor tambahan, pengisian daya laptop tambahan



  • kursi Herman Miller Aeron yang memukau, patuh dan responsif terhadap lengkungan tempat duduk (seperti Dr. House!)



  • Kinnarps dan Soft efek mengubah tabel dengan ketinggian yang dapat disesuaikan. Dengan gerakan yang mudah, meja kantor berubah menjadi bar counter yang elegan.



Untuk mengontrol efektivitas aplikasi pada semua perangkat seluler yang memungkinkan, kami telah membuat peti harta karun yang modis: perangkat iOS dan Android paling populer disimpan di sana, serta beberapa model yang sudah ketinggalan zaman. Ini adalah kabinet yang sangat cerdas: setiap pagi ia mengisi semua smartphone dan tablet, dan sekali sehari ia mengatur exterminatus dengan cahaya ultraviolet, menghancurkan mikroba.

Jika Anda perlu menguji aplikasi atau fitur individual, Anda dapat mengambil keajaiban yang diperlukan dari rak, dan kemudian mengembalikannya ke tempatnya.



Seberapa banyak kita bekerja?


Di hh.ru ada 8 jam hari kerja dan satu jam gratis yang bisa dihabiskan siapa saja sesuka hati. Kami fleksibel, hal utama bagi kami adalah hasilnya. Agar dapat mengikuti tren dan tidak kehilangan komunikasi, Anda harus mengikuti stand-up pagi dan berada di kantor mulai pukul 12: 00-18: 00. Di tim yang berbeda, stand-up dimulai pada waktu yang berbeda, rata-rata dari 10:30 hingga 12:30. Dalam kasus ekstrem, Anda selalu dapat bekerja dari jarak jauh melalui VPN.



Bagaimana cara kita bersantai?


Siapa yang tahu bagaimana rileks dengan baik, itu bekerja dengan sempurna. Dan kami beristirahat secara profesional: kami mengadakan turnamen perusahaan di tenis meja, mendayung, sepak bola, kami akan menonton film setelah bekerja. Kami memiliki klub pembicara sendiri di mana setiap orang dapat berlatih pidato mereka (dan sama sekali tidak perlu untuk mendapatkan seteguk batu), ruang pijat yang luar biasa, dan kelas yoga diadakan dua kali seminggu. Kami juga menyelenggarakan acara keren. Nah di sana, beberapa rekan bahkan terbang berlibur bersama!

Beginilah cara kami menaklukkan Kazbek:







Bagaimana kita belajar?


Kami terus mencari pengetahuan baru, membagikannya satu sama lain dan mengatur pertemuan internal di mana siapa pun dapat membahas topik yang terkait dengan pekerjaan.

Dalam situasi apa pun yang tidak dapat dipahami, kami mengirim pengembang kami ke konferensi - mendengarkan, mengobrol, berbagi pengalaman. Jika Anda ingin berbicara, kami membantu persiapan, berlari, dan presentasi.

Dan lagi! Setiap tahun kami mengadakan School of Programmer - ini adalah pelatihan enam bulan dalam pemrograman dan topik terkait. Spesialis top kami memberikan kuliah di sana, dan juga mengadakan lokakarya dan pelatihan pidato untuk dosen dan pembicara sekolah di konferensi.

Bagian dari tim, bagian dari kapal


Kami sedang aktif mengembangkan, tim seluler baru muncul di negara kami, dan sehubungan dengan ini kami terus mencari pejuang baru!

Lihat lowongan saat ini di tautan .

Kami senang dengan spesialis yang keren, sungguh. Bagikan info, rekomendasikan kami dan datang sendiri.

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


All Articles