En este artículo echamos un ojo a los mejores libros de programación, aquellos libros que todo buen programador debe leer (o conocer).

Algunos de los libros que recomendaremos están únicamente en inglés, pero siempre que esté disponible una edición en castellano así lo recomendaremos y enlazaremos. Lamentablemente la mayoría de libros de esta temática siguen estando en inglés, pero si estás acostumbrado a leer documentación en inglés no te supondrán ningún problema. Por suerte esto no es una novela de Shakespeare. ¡Empezamos!

Código Limpio (Clean Code)

Uno de los mejores libros que puedes leer durante tu carrera profesional. No sólo te ayudará a mejorar tu manera de programar, sino que tus compañeros y jefes de proyecto lo verán y valorarán: no hay nada mejor que un programar que escribe código correctamente.

Desde cómo nombrar a las variables, cómo testear tu código, este libro cubre todos los temas que necesitas para mejorar tu código. Si tuvieras que leer un sólo libro de los aquí recomendados, sería este.

Arquitectura Limpia (Clean Architecture)

Este libro se trata de una continuación del anterior y es otro libro recomendadísimo para cualquier programador que se precie. En el aprenderás a mejorar la forma en que estructuras y diseñas software, con el objetivo de conseguir que tu producto sea mantenible y funcione como un reloj. Primero lee Código Limpio y luego ponte con este.

Grokking Algorithms (inglés)

Grokking Algorithms no está disponible en español y es una pena, porque es un libro extraordinario y además muy fácil de leer. Se trata de una guía explicativa de los algoritmos más usados en programación. Atención, porque es tan fácil de leer que incluiso los no son programadores podrán entender cómo estos algoritmos funcionan. Aquí podéis echarle un vistazo.

Head First Design Patterns: A Brain-Friendly Guide

Los patrones de diseño son muy importantes a la hora de diseñar software. Te permiten que no tengas que estar reinventando la rueda constantemente. Si alguien ya se ha enfrentado a un problema parecido, ¿por qué no reutilizar su solución? Eso es lo que hacen los patrones de diseño.

Los libros de la serie Head First son conocidos por haber cambiado el paradigma de libro pesado y denso de programación (¿quién puede leerse 600 páginas de puro texto sobre programación?). Son libros muy esquemáticos, con muchos ejercicios prácticos, dibujos, etc. En este concretamente aprenderás a cómo utilizar patrones de diseño a la hora de crear software.

Test Driven Development By Example 

El desarrollo guiado por pruebas (o Test Driven Development, TDD) te permita programar tu software de modo incremental, definiendo primero las reglas de lógica de negocio (qué debe hacer tu software) a través de tests, ver cómo fallan y producir la cantidad mínima de código para ver cómo pasan los tests. Una vez hecho esto vuelves a definir reglas de negocio (tests) hasta que tu software esté completo y sin fallos.

A primera vista esto puede parecer que estás haciendo más trabajo que el que deberías, pero una vez que adoptas esta metodología comprobarás que según avance el tiempo irás creando menos código, de mayor calidad y con la seguridad de que cambiar tu código no romperá todo el proyecto.

Este libro te permitirá conocer cómo implementar esta metodología y cómo ir generando código de mayor calidad. Es otro ‘must’ porque hoy en día el 95% de las empresas desarrollan código siguiendo esta metodología: será el día a día en tu trabajo.

Soft Skills: The software developer’s life manual

Hasta ahora todos los libros recomendados han sido sobre tus “technical skills”, es decir, habilidades técnicas. Éste sin embargo trata sobre las “soft skills”, es decir, todas esas habilidades que no forman parte de tus conocimientos técnicos y que tienen que ver más con la interacción con otras personas: compañeros, jefes y clientes.

Cracking the Coding Interview: 189 Programming Questions and Solutions

Otro punto super importante: las entrevistas de trabajo. Este libro fue diseñado para prepararte de la mejor manera posible para las entrevistas de trabajo como programador. Programar es saber resolver problemas y este libro te entrena para precisamente eso. Muy interesante.