Apa artinya lebih tepat - lebih stabil, toleran terhadap kesalahan, lebih mudah dipahami - entri cepat, cepat dipulihkan jika terjadi kesalahan atau kerusakan, dengan metrik dan peringatan yang tepat untuk semuanya.
Mengapa tidak langsung merekrut pengembang keren:
- Mahal, sulit ditemukan.
- Diharapkan agar kompetensi tetap didistribusikan.
- Mereka tidak selalu akur karena persaingan, itu terjadi.
- Persyaratan Berlebihan
Pengembang Junior - Kontra:
- Tidak ada dasar dan pengetahuan tentang desain yang tepat.
- Dia tidak memeriksa dirinya sendiri, mereka buru-buru mengatakan "Saya lakukan" lebih cepat.
- Mereka tidak tahu peraturan Malomalsky.
- Tes - mereka tahu apa yang berguna, tetapi tidak pernah ditulis.
- Metrik - apa-apaan ini.
- Mudah berburu ke samping.
Pengembang junior - plus:
- Harganya satu sen, lebih mudah ditemukan
- Anda dapat memasak seseorang di bawah perintah.
Dari sini jelas bahwa mereka memiliki lebih banyak minus daripada plus, jadi bagaimana minusnya menjadi plus? Pertama, Anda harus sedikit berkeringat dan membuat fondasi untuk ini:
- Lingkungan layanan-mikro, dan layanan-layanan mikro harus distandarisasi mungkin. Tentang arsitektur microservice dapat berada di sini - dan dalam bahasa Rusia . Layanan microsoft harus jelas bahkan untuk ibu pengembang, yang bekerja di perpustakaan.
- Mendokumentasikan seluruh sistem (tidak, tidak, ini tidak sebodoh itu, dokumentasi tanpa pertimbangan yang tidak dibaca oleh siapa pun) adalah skema yang dapat dimengerti dan jika lebih interaktif. Jika pengembang dalam 1 hari tidak memahami microservice Anda, maka Anda memiliki masalah dengan dokumentasi.
- Tes, tes, tes. Menurut pendapat saya, tes penerimaan fungsional serta tes real-time pada lingkungan pertempuran memberikan hasil yang paling efektif. Tes tidak boleh ditulis oleh pengembang perangkat lunak sama sekali - pengembang menulis tes yang ternyata ... mo.
- PERATURAN - itulah yang benar-benar perlu Anda kerjakan dan tindak lanjuti hal ini. Saya menganggap ini masalah yang paling signifikan. Mulai dari pengembangan, deskripsi standar pengkodean, deskripsi untuk pengujian, tes, pengiriman metrik dan peringatan, budaya penyebaran, dan bahkan aturan untuk minum teh - semua ini harus memakan waktu sekitar 50% dari seluruh waktu.
- Pengembangan dengan pengembang Junior hanya didasarkan pada prinsip - dikembangkan, lulus tes, metrik, peringatan, dokumentasi = lulus tugas.
Apa yang akhirnya memberi:
- Pertama-tama, Anda selalu mengontrol prosesnya dan tidak pernah menyerah dalam pekerjaan yang tidak Anda pahami dengan baik.
- Jika ada yang rusak, Anda selalu tahu apa, di mana, dan bagaimana cara memperbaikinya.
- Anda memiliki 2 kali lebih banyak orang (jaminan tim MVP Anda) dengan lebih sedikit uang.
- Sebagai bonus, Anda mendapatkan yang paling berharga dalam pengembangan - metrik, peringatan, dan tes yang relevan - untuk ini, semuanya dilakukan.
Ide utama dari posting ini adalah bahwa dengan pendekatan ini
Anda dipaksa untuk membangun fondasi untuk pekerjaan layanan berkualitas.