Primero comienza aprendiendo qué es la computación, una visión general:
Después deberías aprender a pensar computacionalmente, es decir, a diseñar algoritmos:
(El libro superior es distinto a la mayoría, porque se centra en como pensar en el diseño de algoritmos y no en ser un libro de referencia donde se presentan una lista de los principales algoritmos).
Podrías leer en paralelo con el anterior:
Este libro te enseña a pensar matemáticamente, lo cual es importante.
Después de eso podrías mirar mis otras respuestas.
En esta menciono algunos libros, que podrían ser de ayuda a programadores (no todos son técnicos):
Respuesta de Camilo Chacón Sartori a ¿Qué libros me recomiendan sobre programación y programadores?
Y si quieres ir más allá de la programación, obteniendo conocimiento en aspectos generales de la ciencia de la computación:
O, aún más allá:
Respuesta de Camilo Chacón Sartori a ¿Cómo comienzo a aprender la filosofía de la ciencia de la computación?