Como miembro senior de un equipo de software que, desafortunadamente, tiene poca documentación por razones heredadas, ¿cuáles son las cosas que uno podría hacer para que una nueva contratación sea cómoda?
He estado planeando sesiones de depuración con la persona sobre defectos específicos / solicitudes de características para familiarizarlo con la base del código. Sin embargo, la base del código es realmente grande, y es solo una cantidad fija de código a la que puedo exponer a la persona de esta manera.
Estoy buscando sugerencias en cualquiera de los casos cuando el nuevo empleado es un recién graduado o un profesional experimentado.
teamwork
knowledge-transfer
Fanático23
fuente
fuente
Respuestas:
Estos realmente se aplican a cualquier nuevo empleado, ya sean nuevos o tengan una amplia experiencia en la industria:
x
subsistema?". Si hay una lista provista para ellos en el alquiler, están mucho más dispuestos a enviar un correo electrónico o hablar con ellos directamente sin tener que pasar por una cadena de personas para encontrar el correcto.fuente
Creo que realmente puedo ayudarte con esto. Cuando tenía 18 años, mi primer trabajo fue un puesto de Desarrollador Jr. .Net. Tenían un marco muy grande y él me hizo saltar directamente a aprender un curso intensivo en CAB, y cuando llegó el primer proyecto, se esperaba que estimara el proyecto y aprendiera SqlServer y su marco. Lo que hizo de esta una experiencia maravillosa fue que mi Desarrollador Sr. estuvo allí para mí durante todo el proceso, desde las estimaciones, hasta SqlServer, hasta su marco. Aprendí lo que necesitaba aprender de manera oportuna porque pude usarlo como un recurso para preguntas y ayuda. Eso sí, esto también se hizo mientras yo estaba en Colorado, y él estaba en California. (Desarrollo remoto). Me hizo leer libros blancos sobre CAB, me señaló buenos recursos, etc., así que no es como si tuviera que hacer toda la enseñanza, pero cuando se trataba de preguntas, él estaba allí. En pocas palabras, necesita a alguien que sea el soporte para sus desarrolladores de Jr. Especialmente si quieres que aprendan y crezcan con la empresa y tengan una buena relación de trabajo. Querían que me mudara a California porque estaban satisfechos con la velocidad a la que pude aprender y progresar, y mi trabajo, desafortunadamente no pude hacer la mudanza debido al costo / etc.
Esa experiencia realmente también estableció un rasgo en mí. Ahora estoy desarrollando software por mi cuenta con éxito para empresas y fundaciones en mi ciudad local y todavía tengo solo 21 años. Fue el mejor primer trabajo y estoy extremadamente agradecido con Tom Anderson en RenEvo Software & Designs (quien fue mi desarrollador sénior). Un mentor asombroso.
fuente
La compañía con la que estoy ahora, IMO, lo hace bien para los nuevos empleados. Estas son algunas de las cosas que he visto que son efectivas.
Mentores
Tal vez sea un poco inapropiado porque algunos desarrolladores experimentados podrían no pensar que necesitan uno, pero tenemos una persona asignada para ser su mentor. Esta persona debe estar disponible para responder cualquier pregunta que pueda tener. Funciona mejor si se sientan cerca del nuevo empleado. El objetivo de un mentor es que los nuevos empleados, especialmente los juniors, se sientan lo suficientemente cómodos como para no caer en la trampa de no hacer suficientes preguntas .
Documentación
Ya lo mencionó, pero la documentación puede ayudar. Aquí tenemos un documento en nuestra wiki que básicamente describe sus primeras dos semanas en el trabajo. En el momento en que terminas tu primera rampa de dos semanas, te has acostumbrado, has conseguido el terreno y te sientes cómodo trabajando allí.
fuente
Paciencia
Unirse a una nueva empresa puede ser bastante desalentador, especialmente si tiene un nuevo producto para aprender y utiliza diferentes herramientas a las que está acostumbrado. Déles tiempo para instalarse en el nuevo entorno y ponerse al día. Asigne tareas para hacer, pero tenga en cuenta que les llevará mucho más tiempo que un programador experimentado normal.
Apoyo
No necesariamente tiene que asignarles un mentor dedicado, pero asegúrese de que haya muchas personas alrededor que puedan ofrecerles ayuda cuando la necesiten.
Todos tienen diferentes formas de aprender, algunos pueden encontrar que necesitan un mentor, otros pueden encontrar que un mentor los ralentiza. No hay una solución única para todos, así que déjelos encontrar su terreno y apoyarlos, y sean pacientes mientras aprenden las cuerdas.
fuente
Comencé en un nuevo trabajo hace 4 meses, y realmente creo que mi nuevo lugar de trabajo hizo un muy buen trabajo en este nuevo material de contratación.
A. Buddy
Tienen un llamado "programa de amigos", donde los desarrolladores pueden inscribirse para ser un amigo / mentor de nuevos empleados. Cuando se contrata a un nuevo desarrollador, se señala que un desarrollador en el mismo equipo (que se inscribió para ser un amigo) es el amigo / mentor del nuevo tipo. Es su responsabilidad poner al nuevo chico en funcionamiento, ayudarlo con los problemas que enfrentará, ir a almorzar con él, presentarle al equipo, etc.
B. Baja dependencia
Esto también se mencionó anteriormente, pero comience con tareas que no son críticas y demasiado difíciles de hacer, sin un conocimiento completo de la base de código. No hay nada peor que ser arrojado a una base de código que no conoce, y luego debe realizar desde el día 1. Si es posible, realice tareas que sean relativamente fáciles Y abarquen todo el sistema. De esa manera obtendrá algún conocimiento del sistema.
Probablemente tengas pequeñas tareas que no tuviste tiempo de hacer, cuando escribiste el código por primera vez. Déle esas tareas a él.
C. Entrenamientos para nuevos empleados
Esto es probablemente un lujo para la mayoría, pero trabajo en una gran corporación que puede permitirse hacer esto. Cada mes o cada dos meses más o menos, se organiza algún tipo de capacitación para nuevos empleados. Básicamente es una serie de presentaciones, con el objetivo de dar a los nuevos empleados algún tipo de conocimiento sobre el sistema, cómo se realizan las pruebas, cómo funciona el seguimiento de errores, etc.
Donde trabajo, hay muchos equipos diferentes, que trabajan en tareas completamente diferentes, pero en la misma pieza de software. Se asigna a un miembro de cada equipo para hacer una presentación de su parte del software, donde dan una introducción a lo que hace esa parte, cómo funciona, etc. Además de eso, hay capacitaciones en pruebas (estoy trabajando como probador) sobre cómo se escriben las pruebas, cómo se ejecutan, cómo se registran en la base de código, etc.
Para resumir, sea amable con los nuevos empleados y no espere un trabajo serio de ellos en el primer mes más o menos. Bríndeles herramientas para obtener ayuda y, si es posible, bríndeles algunas presentaciones o videos.
fuente
Dibuja un boceto rápido en una hoja de papel. Bloques funcionales y datos viajan entre ellos. Para que el nuevo empleado pueda mantener esta lista a mano y buscar dónde está el lugar que está tratando de tocar y qué módulos lo afectan jerárquicamente.
Todo lo demás viene con el tiempo. Pero es el panorama general lo que lo hace sentir tonto cuando necesita cambiar 2 líneas de código, pero no tiene idea de qué efectos secundarios pueden causar en módulos dependientes, bloques de código, etc.
fuente
Además de lo que se ha dicho antes, identifique las necesidades de capacitación y provea para ellas, ya sea proporcionando tiempo, material, clases internas, libros, etc. Lo más probable es que no todos sepan todo. Hágale saber que esto está bien.
Manténgalo alejado de los "malos". Por lo general, hay al menos 1 persona arrogante en cada organización (esta es mi ley :))
Si asigna un mentor, asegúrese de que el mentor sepa que el trabajo del mentor es ayudarlo y que no está fuera de su corazón amable. Haga tiempo en el horario del mentor para eso.
Haga un seguimiento de su progreso durante el primer mes más o menos, infiera sus problemas si puede.
fuente