Soy estudiante aún, estoy preparándome para salir al mercado antes de que termine el año (ojalá en junio/julio). Con eso dicho, como punto de partida, leer sobre las diferentes áreas de TI (asumiendo que tu amigo buscará algo relacionado a eso). Cuando vea algo que le llame la atención, si tiene que ver con programar (que es lo más probable), enfocarse en aprender la lógica de programación, no obsecionarse con un lenguaje de programación al principio. Aprender las bases sobre conectividad y redes, también sobre el sistema operativo que vaya a usar. No es lo mismo trabajar desde Windows, que desde Linux o Mac.
Ya definido algo que le interese, buscar los lenguajes de programación más usados y elegir uno, manejando bien la lógica de programación lo que debes aprender es la sintaxis del lenguaje, en principio. En mi opinión es mejor aprender muy bien
un lenguaje de programación, luego ya puedes moverte a otros, igual depende de tu enfoque.
Algo que considero primordial, en lo que fallé en mis inicios y recién ahora estoy haciendo, meter mano. Programar cualquier cosa que se te ocurra, buscar proyectos y recrearlos, todo lo que sea práctica. Me enfoqué mucho en la teoría, creo tener buen nivel de conocimiento teórico, pero al comenzar un proyecto desde cero, quedo en blanco muchas veces. Aunque con un empujoncito puedo fluir bien, no quiero tener que depender del empujoncito, claramente me falta práctica.
Otras cosas a aprender dependerá del camino elegido, aunque SQL y AWS (o alguna otra nube) las considero opciones que todo programador debería manejar.
Luego de estar familiarizado con un lenguaje de programación y tener claro la rama a la que se quiere dedicar, Github + portafolio, son clave para diferenciarte del resto y son tu mejor curriculum.
Y un plus muy grande es saber inglés, me han llamado para hacer un par de prácticas solo por hablar inglés fluido, aunque las prácticas eran callamperas para lo que apunto, así que las rechacé. Además la información disponible en inglés es mayor en cantidad y mejor en contenido.
Resumen:
-Elegir la ruta que más le guste o llame la atención.
-Aprender lógica de programación.
-Familiarizarse con un lenguaje de programación adhoc a la ruta de aprendizaje elegida. (Aquí creo que también sería bastante bueno aprender otras cosas en paralelo, como SQL por ejemplo, o Git, o ambas).
-Explorar otras herramientas escenciales dependiendo de la elección. (No volverse loco aquí, lo necesario como base, en principio).
-Programar, programar, programar.
-Subir los proyectos a Github.
-Crear un buen portafolio.
-Aprender inglés.
Dejo un par de recursos interesantes:
PS: Recordar que soy estudiante aún, me falta bastante por aprender y no tengo experiencia laboral en el campo todavía.
Edit: Agregué un par recursos online y cambié una palabra.