Visita nuestro canal de YouTube para encontrar temas similares en video: The Dojo MX en YouTube

Hablemos de algunos libros que te pueden ayudar a avanzar en tu carrera como desarrollador de software, por diferentes razones, por ejemplo te ayudarán a fortalecer tus bases, o te darán ideas para hacer mejor software, mejores arquitecturas o a mejorar como profesional en general.1

Empecemos por los fundamentos mismos de lo que hacemos. Los siguientes libros te ayudarán a entender mejor cómo funciona la computación desde sus raíces.

Aunque esta sección está en primer lugar, no significa que debas leerlos antes que todo. Por ejemplo, cuando aprendiste español no aprendiste primero teoría de lenguajes, semántica, semiótica y todas las cosas que soportan el lenguaje. Aprendiste a hablar y a escribir, y luego, para profundizar aprendiste los soportes teóricos, por gusto o por necesidad. Lo mismo pasa con la computación.

Lamentablemente, la mayoría de los libros de este artículo están en inglés. Pero aquí viene otro consejo que hemos aprendido con los golpes de los años: la gran mayoría de la información en ciencias de la computación está en inglés, y es un idioma indispensable para un desarrollador de software.

Empecemos con la lista de libros.

Computational Thinking - Peter J. Denning y Matti Tedre

Portada de Computational Thinking

Este libro me parece una lectura fundamental para todos los estudiantes de ciencias de la computación pero también para desarrolladores de software con más experiencia práctica.

Está escrito por Matti Tedre y Peter J. Denning, y es una lectura muy amena y fácil de entender. Pero no por eso es superficial, trata profundamente una pregunta: ¿qué es el pensamiento computacional? Explora el tema por varios aspectos:

  • Las máquinas y el nacimiento de la computación como disciplina
  • La ingeniería y el diseño de software
  • La educación de las ciencias de la computación
  • La relación de la ciencia tradicional con la computación

Los dos autores son parte del grupo que se encarga de la recomendación de los temarios de ciencias de la computación de la ACM. Por lo que tienen una visión muy amplia de lo que es la computación y cómo se enseña. Este libro te dejará claro de lo que hablamos con “computación” y el tipo de pensamiento que se requiere para hacerla. También aclarará si todos necesitan estudiarla y algunos mitos alrededor de ella.

Puedes comprarlo aquí: https://amzn.to/3LJf95S

Computer Science Distilled - Wladston Ferreira Filho

Portada de Computer Science Distilled

Para muchos esto parecerá una mala elección, sin embargo, para mi este libro tiene todo lo que se necesita para ser una buena introducción a los temas principales de la ciencias de la computación, de manera práctica y sencilla. Es cierto que por su extensión no puede tratar ninguno a profundidad, pero te da una visión amplia de todos los temas que tienes que conoces.

Explica de manera sencilla los pilares principales de las ciencias de la computación y lo mejor es que te da referencias para que puedas profundizar en cada uno de los temas. Te servirá más si eres un principiante, pero aún si eres un desarrollador experimentado te puede servir para reforzar algunos temas que no tengas claro o para tener una referencia rápida de algunos temas.

Este es un libro que creo que sí debes leer lo más temprano posible en tu carrera.

Puedes comprarlo en Amazon o en su página oficial.

The Elements of Computing Systems: building a modern computer from first principles - Noam Nisan y Shimon Schocken

Portada de The Elements of Computing Systems

En este libro encontrarás un entendimiento básico del funcionamiento de una computadora digital, pero desde el mismísimo fondo. Es un libro MUY profundo, en el que contruirás una computadora digital desde cero, tanto el hardware como el software.

No es un libro que recomiende leer al principio de la carrera ni mucho menos como un prerrequisito para empezar a trabajar, es más bien, algo que ir consumiendo con los años, para entender cada vez mejor cómo funciona fundamentalmente el aparato que usas a diario.

El principio más fundamental de este libro es “aprender haciendo”, por que lo que mejor se aprende es mediante la práctica.

Lo puedes comprar aquí: The Elements of Computing Systems

The Great Principles of Computing - Peter J. Denning

Portada de The Great Principles of Computing

En este libro, Peter J. Denning y Craig H. Martell explican los principios que le dan forma e influyen en el campo de la coputación. Estos principios están divididos en 6 categorías:

  • Cálculos
  • Comunicación
  • Coordinación
  • Recolección
  • Diseño
  • Evaluación

Cada uno de estos principios limitan y le dan formas a las tecnologías que usamos, por lo que entenderlos profundamente sin duda te ayudará a ser mejor usando las computadoras y más específicamente, a ser un mejor desarrollador de software.

No creo que este libro se tenga que leer antes de cualquier otra cosa, pero sí siento que mientras más temprano lo hagas en tu carrera, mejor.

Lo puedes comprar aquí: The Great Principles of Computing

The Algorithm Design Manual - Steven S. Skiena

Portada de The Algorithm Design Manual

Este es uno de los mejores libros para aprender sobre algoritmos y estructuras de datos, es una lectura que te ayudará mucho.

Está escrito por Steven S. Skiena y va en su 3ra edición. Y es una lectura que puede ayudarte de manera no tan compleja a aprender sobre algoritmos y estructuras de datos. Es un libro bastante extenso y que va avanzando poco a poco en los temas relacionados con algoritmos y estructuras de datos, bellamente ilustrado, sin demasiada carga matemática.

Tampoco es un libro que te tengas que leer de principio a fin, o muy temprano en la carrera. Puedes empezar con los primeros capítulos lo más pronto posible e irlo estudiando con el tiempo, o dejando los temas más avanzados para cuando los necesites puntualmente.

Puedes comprarlo aquí: The Algorithm Design Manual

También puedes leer de manera gratuita la segunda edición en este link

Conclusión

Estas son mis recomendaciones en este apartado importante de nuestra área del conocimiento. Si tienes alguna recomendación, no dudes en ponerte en contacto conmigo para que la agregue.

Personalmente, siento que los libros son los mejores maestros que puedes tener. Un libro serio, bien escrito y bien editado es un maestro que acumula la experiencia de muchas personas, principalmente del autor, pero también de los editores, correctores y otras personas que participan en su creación.

Un libro acumula muchos años de experiencia, y es la forma más directa de “parte en hombros de gigantes”. Es cierto, leerlos cuesta trabajo, pero es algo que te va a devolver mucho más de lo que inviertes en ellos.

En los próximos artículos hablaremos de libros de otras áreas relacionadas con el desarrollo de software, como la ingeniería de software, la arquitectura y otros temas variados.

  1. Algunos de los links son links de afiliado de Amazon, por lo que puede que me lleve una pequeña comisión si compras el libro a través de ellos. Esto no afecta el precio que pagas por el libro además de que no afecta para NADA mi recomendación. 

Visita nuestro canal de YouTube para encontrar temas similares en video: The Dojo MX en YouTube

Comentar