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.