5 libros que todo programador debería leer

5 libros imprescindibles para programadores

Mucha gente sigue pensando que las personas que nos dedicamos a todo eso que se llama «informática» leemos poco. Esta creencia en la mayoría de los casos es errónea; por visicitudes del sector los profesionales de estos gremios tecnológicos no tenemos más remedio que seguir leyendo pues lo aprendido hoy mañana está ya obsoleto. La formación continua es esencial para los profesionales IT.

Hoy me gustaría traeros 5 libros que todo programador debería leer; son libros que he ido leyendo a lo largo de mi carrera profesional y que considero indispensables para todos aquellos que quieran ir un paso más allá; hay alguno que os podrá sonar a gran clásico y alguno que os sorprenderá.

«CLEAN CODE» de Robert C. Martin

Libro indispensable donde los haya dentro del mundo de la informática; nos ayudará a comprender los conceptos imprescindibles para mejorar la escritura de código.
Podríamos dividir el libro en 2 partes; una primera, de muy fácil comprensión, en la cual se explican una serie de conceptos muy aclaratorios que enseguida podrás ponerlos en práctica en tu trabajo diario y una segunda parte algo más compleja que nos servirá como base para poder detectar «situaciones» en las que algo no se está haciendo bien.

El autor, Robert C. Martin (aka Uncle Bob), es un reconocido ingeniero de software y autor de numerosos libros de informática. Destacar su participación en el desarrollo de los principios SOLID y el Manifiesto Ágil. Toda una garantía de que todo lo escrito en este libro funciona.

TEMAS TRATADOS:

  • Cómo escribir código limpio.
  • Cómo escribir buen código y transformar el código malo en código bueno.
  • Cómo realizar test unitarios y poner en práctica el desarrollo orientado a pruebas (test-driven development).
  • Cómo realizar una correcta gestión de errores.
  • Metodologías ágiles.
 

 

«MYTHICAL MAN-MONTH: ESSAYS ON SOFTWARE ENGINEERING» de Frederick Brooks.

Nos encontramos ante un libro algo diferente al resto, en este caso más orientado a la administración de proyectos software e ingeniería del software lo cual puede considerarse un paso hacia adelante en la vida de un programador (¿o no?).
El hecho de que la primera edición fuese publicada en 1975 no convierte a este libro en un dinosaurio pasado de moda, en absoluto; además, en la revisión de 1995, se introdujeron 4 nuevos capítulos – incluido el famoso artículo «No Silver Bullets» – y anotaciones de qué temas siguen siendo válidos después de 25 años. Sí que es cierto que la tecnología que sirve de base para el desarrollo de este libro es obsoleta, pero los conceptos que se desarrollan relativos a organización, liderazgo, administración etc.. son perfectamente aplicables a todo tipo de proyectos de ingeniería de sistemas.

«Ley de Brooks: añadir recursos humanos a un proyecto retrasado lo hace demorarse aún más»

Dejar también constancia de que muchas de las observaciones de Brooks están basadas en su experiencia en IBM la estar gestionando el desarrollo del OS/360.

EL autor, Frederick Brooks, es un ingeniero de software habiendo trabajado para IBM y posteriormente impartiendo clases en la Universidad de Carolina del Norte, Chapel Hill. Su mayor «legado» ha sido la contribución al Sistema Operativo IBM OS/360. Ganador en 1999 del prestigioso premio A.M. Turing Award, el más alto reconocimiento en ciencias de la computación.

TEMAS TRATADOS:

  • Cómo solventar errores sin generar más.
  • Gestión de proyectos.
  • Errores más comunes al gestionar proyectos y cómo evitarlos.
 

 

«HEAD FIRST – DESIGN PATTERNS» de Eric & Elisabeth Freeman

Libro de informática muy interesante en el cual se nos habla de algunos de los patrones de diseño software más utilizados en la actualidad. Los autores recurren, creo que de manera acertada, a un modelo con muchas ilustraciones lo cual facilita enormemente el entendimiento de la materia expuesta en el mismo. El texto viene acompañado de unos cuantos ejercicios que sirven de refuerzo de lo aprendido habiendo incluso huecos para poder resolverlos sobre el propio libro. Adicionalmente se exponen una serie de buenas prácticas de programación que nos permitirán profesionalizar nuestros trabajos.

Es un libro extenso el cual os recomiendo tomar con calma.

TEMAS TRATADOS:

  • Cómo afrontar y solucionar problemas de diseño.
  • Cómo crear software reutilizable.
  • Principios de diseño orientado a objetos.
 

 

«JOEL ON SOFTWARE» de Joel Spolsky

Realmente el título completo es «Joel on Software: And on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, and Managers, and to Those Who, Whether by Good Fortune or Ill Luck, Work with Them in Some Capacity» ¡ojito que vienen curvas! Y la verdad es que, siendo fieles a lo leído, es un libro que cubre una gran cantidad de temas ya que está construido sobre la base de los diversos artículos que J. Spolsky ha ido publicando en su blog – joelonsoftware.com – entre 2000 y 2004 los cuales cubrían una innumerable cantidad de temáticas.

Al ser una composición de muchos artículos, es un libro muy dinámico y que no necesariamente hay que leer según el orden marcado por los capítulos; de igual manera, cualquier pausa prolongada en su lectura no será un obstáculo para retomarlo sin sentirse perdido. Queda reflejado en el mismo la amplia experiencia que atesora el autor tanto desarrollando software como gestionando equipos de desarrollo.

Para mi un gran desconocido que merece la pena leer.

TEMAS TRATADOS:

  • Buen humor
  • Desarrollo software
  • Gestión de proyectos/equipos
  • Arquitectura software
 

 

«CRACKING THE CODING INTERVIEW: 189 PROGRAMMING QUESTIONS AND SOLUTIONS» de Gayle Laakmann

El principal objetivo de este libro es ayudarnos a pasar un proceso de selección IT, así, tal cual; nos mostrará qué es lo que tenemos que saber y cómo poder demostrarlo de la mejor manera.
Hay una primera parte en la cual nos describe cómo son las entrevistas en empresas como Apple, Microsoft, Google. En la segunda, que es la realmente interesante, es donde ya se abordan las distintas preguntas de programación, diseño etc.. junto con sus respectivas respuestas.

TEMAS TRATADOS:

  • Tipos de entrevistas según empresa.
  • Errores más comunes.
  • Preguntas usuales: estructuras de datos, algoritmos.
 

He intentado incluir algún libro escrito por un hispano parlante pero creo que por lo menos, estos 5, están por delante de cualquiera de los que yo conozco. Os agradecería, para un próximo post, que dejaseis en los comentarios algún libro que vosotros consideréis como una joyita, y si es de autor hispano, ¡mejor!

Deja una respuesta

Tu dirección de correo electrónico no será publicada.