¿Cómo puedo hacer que la vida de un nuevo empleado sea cómoda? [cerrado]

36

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.

Fanático23
fuente
3
¿Qué significa "razones heredadas"?
Trabajo
99
@ Job: significa que los arquitectos originales del código no creían en la documentación. Eran personas místicas.
Fanatic23
77
¡Diría que su nuevo empleado necesita tiempo y apoyo y no tiene plazos inmediatos! He sido ese nuevo empleado donde los errores debían repararse lo antes posible para el parche de un cliente, pero muchos de ellos estaban bastante involucrados: necesitaba caminar y hablar con literalmente 6 personas, produciendo respuestas contradictorias. Alguien se volcó porque hice muchas preguntas. Hubiera sido más fácil si ese tipo arregló el código él mismo. Necesitaba disponibilidad de personas + sin plazos inmediatos + una capacidad (tiempo asignado) para mejorar las cosas a medida que avanzaba. No tenía esos, así que casi renuncié pero decidí no por la experiencia :(
Trabajo
@ Job: muy útil, gracias. Sin plazos inmediatos es un buen comienzo, y una mano libre para mejorar las cosas definitivamente mejoraría la confianza de los candidatos.
Fanatic23

Respuestas:

31

Estos realmente se aplican a cualquier nuevo empleado, ya sean nuevos o tengan una amplia experiencia en la industria:

  1. Asegúrese de que usted está accesible. Si está demasiado ocupado para ayudarlos a familiarizarse con su sistema, asígneles un mentor. Asegúrese de que el mentor sea agradable y esté dispuesto a hacer cosas como salir a almorzar con el nuevo empleado. El trabajo del mentor es responder cualquier pregunta que pueda tener el nuevo empleado y brindarle una mano de ayuda cuando sea necesario.
  2. Asegúrese de que las tareas que se les asignen tengan la menor cantidad de dependencias posible. No hay nada que cause que alguien nuevo en su sistema (experiencia reciente o de más de 5 años) se sienta abrumado más que asignarles una tarea que tenga dependencias esparcidas por todo su sistema (que también deberán aprender para completar su tarea)
  3. Tenga alguna forma de lista de contacto / propiedad disponible a través de un sitio de intranet o algo por el estilo. Las personas nuevas (especialmente las de primer año) suelen ser bastante vacilantes al preguntar "¿a quién le pregunto sobre el xsubsistema?". 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.
  4. Obtenga documentación . Haga cumplir los estándares de codificación que incluyen comentarios que se pueden analizar con una utilidad como Doxygen. Como mínimo, esto proporcionará nuevas contrataciones con la capacidad de navegar a través de su API. Si usa un IDE como Netbeans, el uso del formato de comentarios Javadoc proporcionará documentación junto con la finalización del código. Inestimable al aprender un nuevo sistema.
  5. Tener alguna reunión de bienvenida / almuerzo / novatadas / etc. El hecho de hundir a alguien en su escritorio sin algunas cortesías personales básicas puede hacer que se sienta bastante distante del equipo.
Demian Brecht
fuente
1
Gracias, pero ¿qué pasa si un nuevo empleado es demasiado difícil de entender e intenta no aceptar su culpa, incluso si se lo enseñamos a un nivel máximo? gracias una vez más
Naveen Kumar
2
@naveen: Existe una mala contratación. Si no están dispuestos (o no pueden) aprender o asumir la responsabilidad de sus tareas, entonces hablaría con su gerente y lo dejaría en sus manos, o hablarán con el nuevo empleado para ver si pueden ayudar más y tal vez (con suerte) ponerlos en marcha, o el nuevo empleado puede encontrar que él / ella prefiere perseguir otros intereses fuera de su empresa.
Demian Brecht
10

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.

David Anderson
fuente
Gracias por compartir tu historia. Entiendo cómo se siente estar allí para un candidato junior, haber estado allí en algún momento.
Fanatic23
Bien hecho Tom Anderson. Buena historia.
Gary Rowe
Tom Anderson - David Anderson. ¿Coincidencia o estás relacionado con Tom?
zeroef
Bastante extraño, coincidencia.
David Anderson el
4

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í.

Steven Evers
fuente
Demasiada tutoría lleva a un empleado que necesita una niñera la mayor parte del tiempo y pregunta cualquier cosa, realmente cualquier cosa en lugar de leer el código, etc. Solo lo recomendaría a los jóvenes.
Falcon
1
@Falcon: No he visto que eso suceda en la práctica, pero tal vez pueda aclarar que el mentor es más una persona cuyo papel está bien definido para el nuevo empleado como alguien que debe mantener una alta disponibilidad para el nuevo empleado para responder preguntas o dirigir la nueva contratación a cualquier información que necesiten. Una vez más, es un nombre poco apropiado, pero no puedo pensar en un mejor nombre para el papel.
Steven Evers
1
@falcon: no estoy de acuerdo (sobre recomendarlo solo para juniors). ¿Los que tienen experiencia mejoran por sí solos (está bien, la mayoría pueden hacerlo ) o se vuelve más fácil con la tutoría? Hay siempre alguien mejor que tú, alguien que ha estado por más tiempo y alguien que puede aprender, para ayudar a llegar a ese siguiente paso en su carrera, si usted es un nuevo empleado o director de tecnología.
Demian Brecht
1

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.

Gavin Coates
fuente
1

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.

Niklas H
fuente
1

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.

Descifrador
fuente
0

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.

Ninguna posibilidad
fuente