Actualmente, nuestra empresa desarrolla aplicaciones que consisten, la mayoría de las veces, en servidores web Ruby on Rails y un montón de diferentes clientes REST, desde sistemas de kiosco en Java hasta dispositivos integrados en C / C ++ (además de las interfaces para navegadores web estándar). Necesitamos expandir nuestro equipo y, al no haber encontrado buenos programadores senior, decidimos poner un poco de esfuerzo en capacitar a programadores junior que crecerían junto con la compañía.
Ya les hemos dado algunos libros de Ruby and Rails y les pedimos que construyan algunos programas de juguetes, pero ahora me estoy dando cuenta de cuán empinada es la curva de aprendizaje para el estado actual de la programación web.
Cuando comencé a programar hace 15 años, utilicé solo Delphi y Source Safe y pude producir software utilizable desde el principio. Ambas eran herramientas simples y era fácil profundizar en el funcionamiento interno del entorno. Poco a poco comencé a usar marcos de terceros, me cambié a CVS, SVN y finalmente a Git, aprendí las piezas que hacen que la web de hoy, como HTTP, JavaScript, CSS, REST, etc. Hoy, incluso después de años de experiencia, no sé tanto sobre cómo funciona Ruby on Rails por dentro como lo hice sobre Delphi en el pasado, y para mí eso fue importante para poder conectar los bloques básicos de aprendizaje con las herramientas que estaba usando.
Me parece que los programadores que estoy contratando tomarán mucho tiempo para integrarse con el equipo y producir algo utilizable, porque hay muchas cosas que aprender a usar un solo marco (Rails): Ruby, HTML, CSS, JavaScript, REST, casos de prueba, acceso a la base de datos (con SQL creado mágicamente dentro del marco), MVC, tres administradores de paquetes diferentes (aptos para Ubuntu, gem y bundler para Ruby), ssh, git, Apache y Phusion Passenger para la implementación, etc.
Me siento perdido ya que es la primera vez que necesito tratar directamente con programadores junior. ¿Cuál es la mejor manera de capacitar a los programadores junior en las mejores prácticas actuales para el desarrollo web cuando hay tantas opciones?