¿Qué habilidades técnicas importantes les faltan a los nuevos graduados?

En mi experiencia, los nuevos graduados generalmente no tienen buenas habilidades de depuración.

Reproducir errores de aspecto extraño, descubrir la causa raíz subyacente y luego encontrar una solución adecuada es un arte y una ciencia. A lo largo de los años, he visto muy pocos graduados nuevos que tengan habilidades de depuración a la par con sus propias habilidades de codificación. Esto es cierto incluso cuando están depurando su propio código.

Parece que la depuración es una habilidad que mejora solo con la experiencia. Se puede enseñar hasta cierto punto ilustrando patrones básicos / comunes, pero no hay sustituto para pasar innumerables horas depurando errores desagradables en una base de código grande por su cuenta y la epifanía que surge cuando finalmente los resuelve.

PD: estoy hablando de habilidades técnicas relacionadas con la ingeniería de software, pero creo que también es aplicable a otras disciplinas de ingeniería.

Hay muchas habilidades técnicas por ahí que un graduado podría tener o no tener, dependiendo de lo que haya estudiado.

Yo mismo obtuve un título en física, pero muchos de los cursos que elegí eran sobre IA y aprendizaje automático. Después de mi graduación, comencé a trabajar como Data Scientist, por lo que la mayor parte de mi trabajo está relacionado con la programación. Ya se trate de consultar datos de bases de datos, construir modelos de aprendizaje automático o escribir informes y visualizar los resultados.

Aquí están las cosas técnicas que me faltaban al principio, pero pude ponerme al día con bastante rapidez:

  • Escribir código que sea limpio y fácil de entender siguiendo buenas prácticas de codificación:
    En la universidad, a nadie le importa cómo se ve tu código, siempre y cuando obtengas los resultados correctos para las tareas. Si trabaja en un proyecto en la industria, otros también deben poder entender su código. Por lo tanto, defina bien sus funciones, use una sintaxis lógica, buenos nombres para variables y funciones y comente su código.
  • Escribir programas eficientes:
    Si como estudiante nunca tuvo en sus manos grandes datos, nunca tuvo que preocuparse por lo bien que las estructuras de datos que utilizó fueron adecuadas para la tarea. Los bucles dentro de los bucles funcionaron bastante bien. El tipo de clasificación que usaste no importó mucho, todos fueron lo suficientemente rápidos. Con muchos más datos, este enfoque está destinado a fallar en algún momento y tienes que generar más memoria y programas computacionalmente eficientes.
  • Trabajar con bases de datos e idiomas de consulta:
    Mientras era estudiante, nunca trabajé en conjuntos de datos muy grandes, por lo tanto, generalmente un archivo csv era lo suficientemente bueno como para almacenar todos los datos. Sin embargo, si tuviera que volver a hacer los cursos, ciertamente usaría SQL para esas tareas para aprender y solo por diversión. Una cierta exposición a las bases de datos mientras se es estudiante facilitará el trabajo con las bases de datos utilizadas en la industria, ya sea RDBMS u otros.

Sin embargo, su nuevo empleador no esperará que usted ya posea todas las habilidades técnicas desde la universidad. Su empleador sabe que se está embarcando en un nuevo viaje. Sin embargo, lo que su jefe esperará es que sea lo suficientemente inteligente como para aprender y descubrir las habilidades tecnológicas que necesita para hacer el trabajo.