Buenas:
No te voy a pasar bibliografia porque es muy subjetivo el asunto, sobre que autor es mejor o peor o demás. Lo que si te voy a comentar son algunos tips que me sirvieron en estos años de estudiante de Ing. en sistemas.
Si vas a arrancar cualquier carrera relacionada a la programación lo primero que tenes que hacer es:
ARMARTE DE PACIENCIA Y PERSEVERANCIA .
1) La programación te abre la cabeza, pero para lograr abrirla hace falta mucho laburo. Te vas a topar con innumerables cantidades de problemas, bugs, errores que van a parecer imposibles pero tranquilo, lo mas probable es que alguien ya los haya resuelto en
StackOverflow. Así que no te desesperes, a la larga todo se resuelve y podes continuar.
2) Nunca te quedes en tu "zona de confort". Por estar cómodo programando en un lenguaje, nunca te quedes quieto. Esta industria cambia constantemente y solo los que se adaptan triunfan. Si sos un programador en JAVA y lo amas, perfeccionate, investiga y profundiza tus conocimientos. Otra opción es comenzar algo nuevo, puede ser dentro del mismo paradigma o cambiar (Por ejemplo de web a mobile,etc).
3) Si bien trabajar con otras personas puede ser algo tedioso porque no todos le ponen la misma onda, es la clave de progresar. Ningún gran programa se hace con el laburo de una persona. Otra gente te ayuda a ver lo mismo desde otra perspectiva o sacarte de un quilombo del que no podes salir.
4) Aprende a trabajar con versionadores de código para poder trabajar en equipo de forma organizada. El mas famoso es
Github, pero hay otros tantos y todos cumplen su funcion.
Cualquier duda la vas a poder postear en este foro y alguien te va a socorrer
Saludos y suerte en este camino.