Por otro lado, ¿no puede pasar que haya software grande y mal documentado, y ahí no importe que el que venga sepa mucho o poco porque igualmente va a ser un pardo? Casos en los que gente de dentro va a tener que estar enseñando y solventando sin parar.
Podría ser un 'agravante'.
Pero en cualquier caso, la diferencia entre un senior y alguien que nunca ha trabajado siempre va a ser brutal.
Si el senior es competente, siempre va a tener mucho más claro qué es peligroso y qué no, qué documentación debe reclamar, donde tiene que pararse. Y lógicamente, va a aprender mil veces más rápido a ser producto.
Con un junior te puede pasar dos cosas un poco extremas. Que sea un inconsciente y se tire a la piscina (convirtiéndose en un auténtico peligro, a la primera de cambio obviamente le pones supervisión constante...), o que sea lo contrario, y no se atreva a tocar nada por no saber muy bien las consecuencias. Con lo cual, igualmente, supervisión constante.
De hecho, seguramente un software de producto no es el mejor ambiente para aprender para un junior, precisamente por esto. Porque el software va a estar muchísimo más depurado y el margen para meter la pata es mínimo. Es mejor una charchutera donde hagas un código a medida para una sola empresa, donde la tolerancia al error es mayor.
Más luego, también hay que tener en cuenta de que un junior le va a costar muchísimo más entender ese software a nivel estructural. Pero muchísimo más. Seguramente, nunca se ha enfrentado a algo razonablemente grande.
Con lo cual terminará trabajando muy 'arriba' en la aplicación, en capas donde si mete la pata las consecuencias sean mucho menores.
Eso también afecta a la productividad, obviamente. Un senior con la suficiente experiencia puede hacer ambas cosas...