A medida que sigue aumentando la necesidad de soluciones tecnológicas para negocios digitales, también crece la demanda de ingenieros de software. Sin embargo, para poder iniciar su carrera, los estudiantes de desarrollo de software tienen que superar un obstáculo más: la experiencia.
Hoy las empresas tecnológicas piden algo más que un título cuando buscan posibles empleados. Para ellas es igual de importante que los nuevos miembros del equipo puedan demostrar que saben trabajar en este entorno y producir resultados.
Según las estadísticas más recientes del sector, aproximadamente el 70% de los empleadores ofrece puestos a tiempo completo a sus becarios, y el 56% de todos los becarios en Estados Unidos ha aceptado ofertas de trabajo de la empresa en la que hizo sus prácticas. Así que, si eres fundador de una empresa de software o estudiante de ingeniería de software, ambos podéis beneficiaros de un programa de prácticas: es una situación en la que todos ganan.
Así es como puedes estructurar un programa de prácticas exitoso para que ambas partes tengan la mejor experiencia posible.
Los pilares de un marco de prácticas para ingenieros de software
Hay cuatro elementos principales en el núcleo de un programa de prácticas exitoso en desarrollo de software. Definición de objetivos: ayuda al supervisor a planificar las tareas y a ofrecer al becario una experiencia valiosa. Mentoría: motiva y capacita a los becarios para identificar sus propios retos en el proceso de desarrollo y recibir feedback útil en cada paso. Formación: ayuda a los becarios a poner en práctica los conocimientos recién adquiridos y ampliar sus habilidades técnicas. Desarrollo profesional: el objetivo de un programa de prácticas es formar desarrolladores competentes y preparados que, idealmente, puedan convertirse en empleados a tiempo completo.
Resumen de nuestro programa de prácticas para ingenieros de software: el último programa de prácticas de desarrollo front-end en nuestra empresa duró 3 meses y fue guiado por nuestros desarrolladores sénior Nenad y Hristijan. Más concretamente, el programa cubrió HTML, CSS, SCSS, fundamentos de JavaScript, el framework React JS, flujo de trabajo con Git y desarrollo ágil. Esta vez decidimos documentar el proceso y convertirlo después en un marco visual.
También preparamos una checklist útil que podemos compartir con la comunidad. Checklist rápida: evalúa el nivel del becario y crea un programa adaptado a su experiencia para optimizar la curva de aprendizaje. Diseña un programa diverso que cubra múltiples aspectos de la ingeniería, no solo la parte de programación.
Por ejemplo, incluye DevOps, buenas prácticas ágiles, bases de datos, etc. Ofrece cursos al becario, pero no dejes que se limite a repetir los ejercicios de programación del curso; rétale a resolver problemas similares fuera del curso y a programar por su cuenta. Da feedback constante y constructivo, y no te quedes solo en los comentarios de las pull requests. Intenta leer entre líneas, porque los becarios suelen ser tímidos y muchas veces no expresan sus miedos o su necesidad de ayuda. Escribe feedback cada semana para seguir fácilmente el progreso y planificar toda la práctica.
Incluye una checklist de habilidades para cada semana o mes. Pídeles que hagan demos de su trabajo ante una audiencia más amplia siempre que sea posible.
Tener fluidez técnica es tan importante como programar bien. Enséñales cómo pensar cuando tienen que estimar; deja que estimen pequeñas historias de usuario dividiendo la historia en tareas para que aprendan el proceso mental y la ingeniería que hay detrás.
No olvides enseñarles la definición de terminado y las pruebas unitarias. ¡El código de calidad es muy importante!
Intentamos reclutar únicamente becarios a los que podamos apoyar correctamente y, si es posible, retener como ingenieros a tiempo completo. Seguimos intentando hacerlo de la forma adecuada.
Aunque tienen habilidades de programación, muchos becarios de nuestro programa nunca han tenido un empleo formal en el sector tecnológico. La mayoría de empresas pueden ayudar con este tipo de prácticas.
Sin embargo, muchas compañías simplemente no están en posición de apoyar a becarios que nunca han visto código antes. Invertir recursos en forma de tiempo, esfuerzo, dinero y formación, y llevar a personas desde ese nivel, requiere una estructura determinada.
Evita contratar personas a las que no puedas apoyar cuando desarrolles un programa de prácticas que pretendas usar para detectar talento. Es decepcionante para ambas partes: tus becarios se decepcionan porque al final no los contrataste, y también lo es para la empresa porque el programa no cumple los objetivos previstos.




