¿Quién debería capacitar a nuevos programadores? ¿Programadores junior o senior? [cerrado]


15

En mi equipo, a menudo requerimos que los programadores más experimentados capaciten / guíen a los nuevos programadores junior. Sin embargo, estos mismos programadores senior son los que están haciendo la mayor parte del trabajo real e importante.

Intenté argumentarle a mi gerente que tiene sentido que los programadores junior, que muestran una alta aptitud, tomen a los nuevos programadores bajo su ala. En primer lugar, liberará a los desarrolladores senior para trabajar en iniciativas más importantes (no es que la tutoría no sea importante). A continuación, les dará a los programadores junior un poco de orgullo en su trabajo por el que se les buscaría tal responsabilidad y podrían aprender algo en la enseñanza. Finalmente, le ahorrará dinero a la compañía, ya que los desarrolladores senior cuestan mucho más que los junior.

Mi jefe no ha sido persuadido ya que así es como ha funcionado en este equipo desde el principio de los tiempos, aparentemente. Suponiendo que se haya tomado la decisión de que algún tipo de capacitación / tutoría es obligatoria, ¿alguien puede proporcionarme mejores argumentos o decirme por qué estoy equivocado? ¿Qué hace tu equipo?

** Todos podemos estar de acuerdo en que la antigüedad no necesariamente denota competencia, por lo tanto, asuma por "programadores superiores", me refiero a "programadores superiores".


1
Desearía haber formulado esta pregunta como "Programadores principales frente a programadores intermedios a intermedios". Algunas buenas respuestas sin embargo.
smp7d

Puedes editarlo, sabes ...
ChrisF

ja, no sería justo para aquellos que ya han respondido.
smp7d

Pensé que estabas hablando del título ...
ChrisF

Bueno, si siempre lo hicieron así, debe ser la forma correcta de hacer las cosas.
SoylentGray

Respuestas:


11

Tuve esta situación en una empresa anterior. Los desarrolladores senior, que eran solo unos pocos, estaban asesorando a un número creciente de desarrolladores junior hasta el punto en que no podían hacer las otras tareas que se les asignaron. Después de un tiempo, los desarrolladores senior lo mencionaron con nuestro gerente y se decidió que los desarrolladores que estaban en algún lugar entre junior y senior actuarían como mentores, pero por problemas difíciles podrían ir a preguntar a los desarrolladores senior.

Funcionó bastante bien. Antes de eso, algunos de los desarrolladores principales comenzaban a buscar nuevos empleos porque no estaban siendo desafiados en el trabajo. Después, pudieron trabajar en nuevas funciones y hacer cosas. ¿Qué piensan sus desarrolladores senior de la situación?

En mi opinión, ser senior no se trata solo de experiencia en el dominio, el título en el pie de página de tu correo electrónico o el tiempo que llevas trabajando. También es una mentalidad, para ayudar y guiar a los desarrolladores junior. ¿Y qué mejor manera de conseguir más desarrolladores senior en un equipo que dejar que los no tan senior hagan la tutoría?


2
Esto suena muy similar a mi situación actual.
smp7d

21

No todos los principales programadores son los mejores maestros. Recomendaría que la capacitación sea realizada por alguien que pueda explicar y que tenga una visión general del "entorno" de su empresa (aspectos técnicos, pero también contactos organizativos).


definitivamente cierto, pero la pregunta correcta puede ser "¿estos adultos mayores técnicamente grandes incluso tratan de ser más solidarios y enseñar menos experimentados?". Creo que les falta una parte importante del trabajo. nadie se hizo mayor por sí mismos, supongo.
zeroDivider

7

Reitero algunas de las cosas que ya se han dicho, pero tengo dos puntos de vista.

Empresa: Como empresa, desea productividad y menos riesgos. Aunque los desarrolladores senior están haciendo la mayor parte del trabajo, desea que transfieran su conocimiento del sistema hacia abajo, lo que reduce el riesgo. La productividad no se vería afectada tanto porque necesita darles a estos adultos mayores un poco de tiempo de descanso para hacer cosas menos críticas (enseñar a los desarrolladores junior). Además de los sistemas, también tienen muchas disciplinas que los desarrolladores junior aún no conocen ni comprenden.

Respeto: los jóvenes que toman a los nuevos desarrolladores bajo su ala son como el ciego que lidera al ciego. Los jóvenes aún no están al día con todo lo que se debe encargar de enseñar a otros. Además, podría no funcionar porque el respeto puede no estar allí. El respeto hacia el desarrollador junior está en duda porque su conjunto de habilidades frente al conjunto de habilidades del principiante probablemente no esté tan lejos. Sin embargo, abordar un problema juntos es una historia diferente. No hay cuestión de respeto en términos de desarrolladores senior que enseñen a principiantes o incluso juniors. Todos sabemos que cuando falta respeto en dos personas o en un equipo, el desastre está a punto de ocurrir ...


6

Mira esto desde otro ángulo. ¿Qué tipo de habilidades y conocimientos desea transferir entre los programadores aquí? Si los programadores senior están haciendo la mayor parte del trabajo real e importante, ¿no mantiene esto un poco de aislamiento en términos de quién sabe qué sistema? Lograr que los juniors conozcan el sistema para que puedan ser copias de seguridad para el senior es una dirección bastante lógica, ya que lo más importante aquí es que el conocimiento senior de potencialmente años de conocimiento acumulado se transmite. Las personas mayores que orientan a los jóvenes sí me parecen una especie de formación natural.

Un programador junior que asesora a otro programador junior no tiene mucho sentido para mí. Sin embargo, unir a un par de programadores junior podría tener sentido. Hacer que un par de personas trabajen juntas en una tarea para que no sea solo la idea de una persona puede ser bastante útil, así como ayudar a fomentar un entorno más colaborativo en el que un equipo se reúne en cierto sentido. Dependiendo del entorno que tenga, esto puede o no tener mucho sentido.


4

Bueno, si los programadores senior del equipo realmente no dominan su oficio más que los juniors, solo han existido por más tiempo y / o tienen un estatus social / político más alto dentro del equipo, entonces en realidad no hace una gran diferencia quien, si alguien, es mentor de los recién llegados. Lo más probable es que todos graviten hacia el mismo nivel de mediocridad de todos modos ... :-(

Si, OTOH, un senior es realmente (al menos notablemente más cercano) a un programador maestro en el verdadero sentido del mundo, puede hacer una gran diferencia. Un junior puede enseñar fácilmente prácticas no tan buenas al nuevo chico en el bloque. Y es mucho más difícil desaprender un enfoque subóptimo o malo más tarde, que comenzar por aprender las mejores prácticas .

Dicho esto, si un joven tiene el talento y ha demostrado de manera confiable que sabe lo que está haciendo con respecto a cierta herramienta, técnica o área, puede ser un entrenador útil en esa área específica. .

Pero tenga en cuenta que, desde un cierto punto de vista, el objetivo de la tutoría / capacitación es permitir a las personas mayores delegar algunas de sus tareas no tan desafiantes a otros, para que puedan concentrarse en las cosas realmente difíciles. Para que esto suceda, primero deben enseñar esas tareas y habilidades a sus compañeros, y enseñarles bien, para que las tareas se realicen correctamente, de una vez por todas.


4

Respuesta simple: la persona que realiza la capacitación debe ser la persona que mejor se capacita y que también desea realizar la capacitación.

Algunas personas disfrutan de la capacitación y la tutoría. Algunas personas lo odian. No quieres que las personas hagan cosas que odian: es malo para ellos, probablemente sea malo para la persona que está siendo entrenada y probablemente sea malo para todo el equipo. No agrega nada. Mientras tanto, dejar que las personas hagan lo que disfrutan es bueno para ellos, el equipo y, con suerte, el alumno captará algo de entusiasmo.

Del mismo modo, algunas personas son buenas para entrenar y otras no. Existe un tipo de interacción o inteligencia humana que permite que algunas personas sean buenas para comprender cómo funcionan otros; Un capacitador debe ser capaz de entregar conocimiento de una manera que el aprendiz lo entienda. Un buen entrenador puede hacer esto y puede aprender que al aprendiz le gusta "entender" las cosas, o "ver" las cosas o "hacer" las diferentes formas en que las personas aprenden. Un mal entrenador ofrece un discurso ensayado y es inflexible, y se frustrará cuando el aprendiz no capte sus formas idiosincrásicas de aprendizaje.

Supongo que quiere que los alumnos obtengan la mejor capacitación: exhaustiva pero eficiente. Si sus "mejores programadores" están dispuestos a entrenar, entonces deberían hacerlo. Si los 'programadores junior' están a la altura, también deberían tener una oportunidad. No está de más tener pocas personas que participen en el programa de capacitación, de esa manera usted puede determinar quién quiere entrenar y quién es bueno en la capacitación.

No estoy seguro de su pregunta si es un programador sénior que quiere salir de la capacitación (sin críticas, tiene cosas más importantes que hacer, o simplemente no lo ama), o un programador junior que quiere entrar en eso. Pero de cualquier manera, estás tratando de hacer lo que disfrutas, ¿y no todos queremos hacer las tareas que disfrutamos? Los empleados felices conducen a mejores entornos de trabajo y mejores resultados.


3

En la mayoría de las empresas en las que he trabajado, un programador junior era alguien con menos de 3 años de experiencia. Aunque sería feliz, como un programador experimentado con experiencia en mentoría para referir a un nuevo programador a un programador junior para capacitación sobre un tema en particular, quisiera mantener el control, en lugar de delegar toda la responsabilidad de mentoría a alguien que todavía necesita supervisión de mentoría sí mismos.


2

Descubrí que cosas como las reglas de negocios y las pautas de diseño son las cosas más críticas que un programador de más antigüedad debe transmitir a desarrolladores junior o incluso desarrolladores o contratistas senior / expertos recién contratados. Los problemas tienden a surgir cuando esta información clave se acumula o nunca se explica. Quizás esto es lo que le preocupa a su gerente más que el conocimiento de programación real.

En cuanto al conocimiento de programación en sí, es mejor transmitirlo a todos los niveles del grupo. Incluso los programadores experimentados aprenden cosas nuevas todo el tiempo, especialmente en marcos de desarrollo complejos. Este intercambio puede ser formal, como en una sesión de almuerzo y aprendizaje, o mediante discusiones informales cuando el tiempo lo permite.


1

Optaría por que los mentores estuvieran uno o dos pasos por debajo de los mejores programadores de la organización.

Si bien ha dado algunas buenas razones para eso, señalaría una más que creo que es particularmente importante: la enseñanza es una de las mejores formas de aprender, especialmente aprender lo suficiente como para que algunos de esos últimos pasos sean realmente buenos a genial Una parte particularmente importante de esto es aprender a no solo hacer bien las cosas, sino a hacer un buen trabajo articulando lo que estás haciendo y por qué. Por mi parte, con frecuencia he encontrado que para hacer un buen trabajo al explicar por qué estoy haciendo algo de una manera particular, tengo que sentarme y pensar lo suficiente como para que 1) mi propia comprensión mejore considerablemente y 2) yo A menudo reevalúo la situación lo suficiente como para mejorar mi propio trabajo.

Aunque puede ser más difícil para ellos hacerlo, esto puede ser particularmente útil para los programadores cuyas habilidades sociales pueden ser algo ... carentes en comparación con sus compañeros. Sacarlos un poco de su zona de confort de la codificación pura a aspectos más sociales como la tutoría puede ayudarlos tanto como a las personas a las que orientan. Obviamente, si vas a hacer eso, debes ser especialmente cuidadoso al elegir a quién emparejar: el emparejamiento incorrecto podría terminar perjudicando a ambos.


0

Creo que funciona mejor cuando los mentores se ofrecen como voluntarios para la tarea. Por aquí, no tenemos un proceso de tutoría muy formal. A veces nuestro gerente tiene algo específico en mente, pero otras veces dice algo como "¿Alguien tiene una buena idea sobre un proyecto para el nuevo chico?" y quien tenga la mejor idea termina haciendo la tutoría.

Lo que termina sucediendo es que el nuevo empleado se coloca en un proyecto que puede permitirse el tiempo de la curva de aprendizaje, y es asesorado por la persona más familiarizada con el proyecto. Puede ser alguien que haya estado aquí 10 meses o 10 años. A veces las personas terminan asesorando a los mentores un poco, pero la ventaja es que las personas más nuevas aún recuerdan todas las dificultades de ser nuevos y cómo los superaron.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.