Saat ini perusahaan kami mengembangkan aplikasi yang sebagian besar terdiri dari server web Ruby on Rails dan sekelompok klien REST yang berbeda, dari sistem kios di Jawa hingga perangkat yang disematkan di C / C ++ (di samping antarmuka untuk browser web standar). Kami perlu memperluas tim kami dan, setelah gagal menemukan programmer senior yang baik, kami memutuskan untuk berupaya melatih para programmer junior yang akan tumbuh bersama dengan perusahaan.
Kami telah memberi mereka beberapa buku Ruby dan Rails dan meminta mereka untuk membuat beberapa program mainan, tetapi sekarang saya menyadari betapa curamnya kurva belajar untuk kondisi pemrograman web saat ini.
Ketika saya mulai pemrograman 15 tahun yang lalu saya hanya menggunakan Delphi dan Source Safe dan mampu menghasilkan perangkat lunak yang dapat digunakan sejak awal. Keduanya adalah alat sederhana dan mudah untuk mempelajari cara kerja lingkungan di dalam. Perlahan-lahan saya mulai menggunakan kerangka kerja pihak ketiga, telah beralih ke CVS, SVN dan akhirnya Git, mempelajari bagian-bagian yang membuat web saat ini, seperti HTTP, JavaScript, CSS, REST dll. Hari ini, bahkan setelah bertahun-tahun pengalaman, saya tidak tahu sebanyak tentang bagaimana Ruby on Rails bekerja di dalam seperti yang saya lakukan di masa lalu tentang Delphi, dan bagi saya itu penting agar saya bisa menghubungkan blok belajar dasar ke alat yang saya gunakan.
Sepertinya saya bahwa programmer yang saya rekrut akan membutuhkan waktu lama untuk berintegrasi dengan tim dan menghasilkan sesuatu yang dapat digunakan, karena ada begitu banyak hal untuk dipelajari menggunakan kerangka kerja tunggal (Rails): Ruby, HTML, CSS, JavaScript, REST, test-case, akses basis data (dengan SQL dibangun secara ajaib di dalam framework!), MVC, tiga manajer paket yang berbeda (apt untuk Ubuntu, gem dan bundler untuk Ruby), ssh, git, Apache dan Phusion Passenger untuk digunakan, dll.
Saya merasa tersesat karena ini adalah pertama kalinya saya harus berurusan langsung dengan programmer junior. Apa cara terbaik untuk melatih programmer junior dalam praktik terbaik saat ini untuk pengembangan web ketika ada begitu banyak pilihan?