Bagian depan di Lab Sportmaster

Halo! Nama saya Sergey, saya adalah kepala departemen pengembangan front-end. Pada saat konferensi offline profil adalah sesuatu yang umum, kami memiliki lencana: nama perusahaan - "Sportmaster", - nama depan dan belakang. Jika kolega dari perusahaan lain mendekati kami, maka ketika mereka melihat lencana ini, mereka terkejut: bagaimanapun, Sportmaster adalah toko yang menjual peralatan olahraga, apa hubungannya IT dengan itu?



Hanya sedikit orang yang tahu bahwa Sportmaster menyatukan seluruh grup perusahaan, yang mencakup Ostin, FunDay, dan lainnya. Divisi SMLab, yang mempekerjakan hampir 1.500 orang, bertanggung jawab untuk menjaga pengoperasian seluruh mesin ini. Dari jumlah tersebut, sekitar 400 adalah pengembang dan 25-30 pengembang front-end. Sisanya terlibat dalam dukungan TI untuk manufaktur, logistik, keuangan, dan ini juga termasuk pengembangan web, jaminan kualitas, dan banyak lainnya.



Semua pengembang kami melakukan hal yang kurang lebih sama seperti rekan mereka di perusahaan besar lainnya: mengembangkan sistem baru dan memelihara sistem lama. Kami memiliki tumpukan teknologi yang sangat besar, serta cakupan aplikasi yang besar yang kami dukung dan kembangkan. Di pundak kami terletak pengembangan dan dukungan situs-situs seperti itu: Sportmaster, Ostin, FunDay, Columbia, Fila, Demix, UrbanVibes. Selain semua ini, kami memiliki pijakan yang besar untuk otomatisasi internal. Secara umum, bagi pengembang ada tempat untuk menyebarkan, untuk memompa keterampilan mereka.



Dapur internal



gambar








Seperti yang telah saya ceritakan kepada para pengembang di divisi kami yang terdiri dari sekitar 400 orang, untuk mengelola divisi sebesar itu secara efektif, perusahaan meluncurkan proses transformasi dua tahun lalu. Sekarang kami mengerjakan Agile, saat ini kami memiliki sekitar 30 tim produk, dan hingga 100 diharapkan untuk mengembangkan dan memelihara proyek mereka. Setiap tim memiliki berbagai kompetensi: bisnis, analis, pengembang, penguji, insinyur otomasi, ahli metodologi. Kami membuat portal khusus tempat kami melacak metrik tim, dan ahli metodologi, pada gilirannya, membantu tim mengatur aliran. Begitu tim menjadi cukup mandiri, para ahli metodologi beralih untuk membantu tim lain.



Frontend dalam pemahaman yang baik lahir di SMLab dua atau tiga tahun lalu. Sebelumnya ada kebun binatang kerangka kerja, sejumlah besar perpustakaan yang berbeda seperti sistem gugur, jquery. Semua ini memberlakukan banyak pembatasan pada pengembangan, mencari karyawan baru dan rotasi antar proyek.



Hal pertama yang kami lakukan adalah membongkar semua perangkat lunak perusahaan, terdiri dari apa dan apa yang tertulis di dalamnya, dan membuat radar teknologi, berkat itu kami saat ini mengontrol daftar teknologi yang tersedia di perusahaan. Kami memiliki aturan yang jelas untuk menambahkan teknologi baru ke daftar yang tersedia. Jika perlu untuk memperkenalkan teknologi baru ke dalam radar, RND dibentuk, tim spesialis direkrut untuk melakukan studi ini. Berdasarkan hasil tersebut, tim membuat presentasi dari teknologi dan membentuk dokumentasi RND untuk kemudian dipertahankan di panitia teknis. Jika panitia memutuskan bahwa teknologi itu penting untuk pengembangan lebih lanjut, maka itu memperluas ruang lingkup teknologi yang tersedia untuk perusahaan.



Kami juga melakukan banyak penelitian tentang pilihan kerangka kerja untuk seluruh perusahaan, yang menghasilkan pilihan Vue. Sekarang perangkat lunak baru ditulis di atasnya, dan semua yang lama secara bertahap ditulis ulang.



Untuk seluruh Sportmaster secara keseluruhan, kami menggunakan lebih dari 200 sistem yang mengotomatiskan semua aktivitas internal perusahaan. Misalnya, kami telah mengotomatiskan seluruh proses bisnis merchandising: proses menampilkan barang di toko, memeriksa, dll. Sekarang kami sedang mengerjakan otomatisasi studio foto dan pusat panggilan, banyak orang yang terlibat di bidang ini.



Semua e-niaga di Sportmaster dibagi menjadi dua grup besar: Grup

pertama adalah situs raksasa: seperti Sportmaster dan Austin, dan yang kedua adalah grup situs yang sama pentingnya, tetapi dengan muatan yang jauh lebih rendah, seperti FunDay dan grup situs merek tunggal.



Ostin menjadi raksasa pertama yang seluruhnya ditulis pada teknologi baru seperti NodeJS, Vue, SSR, Kotlin, dll. dan mulai berproduksi. Versi situs web Sportmaster saat ini ditulis sekitar 4 tahun yang lalu. Sekarang pengembangan versi baru 3.0 sedang berlangsung dengan teknologi baru dengan desain baru, dan akan segera menggantikan yang lama. Situasinya mirip dengan situs Funday dari grup kedua, situs tersebut saat ini sedang aktif dikembangkan menggunakan tumpukan baru, kami akan segera melihat situs baru.



Grup situs mono-merek adalah iterasi kedua dari pengembangan situs di tumpukan baru. Saya untuk sementara diperkenalkan ke tim pada tahap pembentukannya dan memegang posisi sebagai ketua tim, saat ini saya keluar dari tim dan terus bekerja dengan tim dari posisi kurator.



Situs web Monobrand



gambar



Sedikit latar belakang. Sebelum pindah ke IT, saya bekerja di bisnis selama kurang lebih 5 tahun. Lebih dari sekali saya menemukan perangkat lunak yang baru dibuat, dari mana ada perasaan bahwa programmer menulisnya secara eksklusif untuk diri mereka sendiri. Dan kemudian saya sampai pada kesimpulan bahwa produk harus nyaman untuk semua orang: untuk pengguna di luar, dan untuk semua peserta dalam proses pengembangan dari dalam.



Saat itu giliran situs mono-brand. Sebulan sebelumnya, sebenarnya, awal pengembangan, saya dan tim pergi ke situs studi yang telah dibuat oleh perusahaan lain, dan membawa dua masalah utama.



Pertama, perusahaan mengabaikan metrik pengguna: kami memperhatikan bahwa, misalnya, kartu produk dibuka selama 20 detik, filter apa pun diterapkan selama 10-15 detik. Artinya, ternyata bukan pembelian, tetapi semacam perjuangan dengan situs tersebut.



Kedua, ada masalah dengan tampilan situs di perangkat seluler. Mereka semua bengkok.



Oleh karena itu, ketika giliran kami tiba, hal pertama yang kami lakukan adalah membuat diagram komponen, menggambar semua blok dan koneksi yang seharusnya, dan kemudian mulai bekerja untuk mengoptimalkan setiap blok secara terpisah dan koneksinya dengan blok lain. Kami setuju dengan backend bahwa semua logika, yang bekerja dengan layanan mikro, kalkulasi, agregasi yang diperlukan, dan sebagainya berada di pundak mereka, dan bagian depan terlibat dalam tampilan dan logika interaksi dengan pengguna.



Berkat ini, kami telah meminimalkan ukuran respons dan menstandarkan API secara signifikan, yang memudahkan tim untuk menavigasi dalam proses dan dalam fokus kerja pada fungsionalitas baru, kami dengan cepat menyetujui kontrak.



Dalam bisnis global kedua, kami berdiskusi dan sepakat dalam tim bagaimana kami bekerja dengan statika aplikasi. Statis telah menyebabkan masalah bagi kami pada proyek lain lebih dari satu kali, ketika tiba-tiba menjadi tidak dapat dikelola dan ukurannya dihitung dalam gigabyte. Secara umum, kami setuju untuk meninggalkan folder ini: folder ini akan dibuat dan dikumpulkan secara otomatis oleh aplikasi kami. Proyek ini sudah berumur sekitar satu tahun, dan semua statika memiliki berat tidak lebih dari 30 MB.



Ketika kami sampai pada tata letak, kami memutuskan untuk melakukan pengembangan sehingga tidak ada duplikasi kode - kami melakukan tata letak sehingga kami dapat menyesuaikannya dengan perangkat yang berbeda. Pakar SEO telah melakukan pekerjaan yang bagus dalam masalah ini, memberi tahu blok mana yang bergantung pada seo dan mana yang tidak. Kami telah menyoroti CSS penting. Semua tindakan minimal ini mengarah pada fakta bahwa halaman di situs web merek tunggal memiliki berat rata-rata tidak lebih dari 20Kb dan terbuka hampir seketika.



Ada juga hasil yang tidak terduga. Pada awal proyek, kami mulai mengompilasi dokumentasi tidak dalam bentuk yang biasa ditulis semua orang, dengan daftar komponen dan daftar fungsinya. Kami mendokumentasikan semuanya secara umum: perintah startup, dependensi, lingkungan, gaya kode, dll. Dan mereka melakukan semua ini, pada umumnya, hanya untuk diri mereka sendiri. Tetapi ketika semuanya baru saja dimulai, ada lima orang dalam proyek, dan sekarang ada 20 orang.



Dan sekarang jauh lebih mudah bagi kami untuk memperbarui karyawan baru - kami hanya membiarkan mereka mempelajari dokumentasi selama beberapa hari, setelah itu mereka cukup siap untuk pergi dan terlibat dalam misi tempur sendiri.



All Articles