5 libros técnicos que deberías leer este verano

por:

5 libros técnicos que deberías leer este verano

Llega agosto, un mes que clásicamente se ha asociado a vacaciones (si nos lees desde España), por ello os propongo unas lecturas para este periodo donde tenemos más tiempo libre. En la piscina, en la playa, en casa a la hora de la siesta…, nunca es mal momento para saborear un buen libro. Aunque, como no podria ser de otra forma, tratándose de una página sobre informática, os vengo a recomendar algunos libros técnicos imprescindibles.

Pero, ¿me tengo que formar en mi tiempo libre?, ante esta pregunta que muchas veces me han planteado, te respondería que sí y no. En mi opinión, lo divido en 3 supuestos:

  1. Si la formación es necesaria para realizar tu trabajo, tendría que dartela tu empresa en tiempo de trabajo
  2. Si son conocimiento que te van a ayudar a mejorar cómo haces tu trabajo, debería dartelo tu empresa, aunque podría que parte fuera en tu tiempo libre
  3. Si las enseñanzas no están relacionadas con tu puesto, tu empresa debería apoyarte con algún medio (tiempo, materiales, cursos…) pero caería más en tu tiempo libre

 

Clean code

El primero de todos es quizás el libro más conocido de programación, Clean Code, en español, Código Limpio. Este libro, que actualmente estoy leyendo es una recopilación de consejos, buenas prácticas y técnicas para que tu código sea de mayor calidad. A mí me gusta mucho decir, que un código que funciona es como sacar un 5 en un examen, es lo mínimo para pasar la prueba. Sin embargo, entre ese 5 (que funcione) y el 10 (que sea de gran calidad), hay mucho espacio por recorrer. Este libro justamente trata de eso, cómo coger un código de 5 y llevarlo lo más cercano posible al 10. Para ello aborda cuestiones como:

  • El estilo del código (identación, nombres, formatos)
  • Gestión de errores
  • Testing
  • Diseño de objectos y clases
  • Concurrencia

Mi recomendación, es que no es un libro que sea lea bien como una novela (leyendo decenas de páginas de seguido), sino que es mejor leer un capítulo cada día o semana, e ir aplicando e interiorizando lo que propone.

Head first

Head First, design patterns es el libro más conocido sobre patrones software. Como su propio nombre dice, todo se basa en pensar antes de ponerse a programar, para evitar el código spaguetti y conseguir un buen producto. Este libro utiliza para sus ejemplos las metodología orientada a objetos y el lenguaje de programación Java. Por esta razón te será mucho más útil y fácil de seguir si conoces el paradigma y lenguaje usados. Algunos de los patrones que explica son:

  • Observador u observer
  • Decoración o decorator
  • Factoría o factory
  • Proxy

En definitiva, me parece un gran libro para leer, y además para tenerlo cerca como libro de consulta.

UML destiled

¿Estás trabajando en un proyecto de grandes dimensiones?¿Formas parte de un proyecto con cientos de programadores?¿Debes diseñar la arquitectura de un nuevo proyecto o módulo? Si la respuesta a alguna de las anteriores preguntas es afirmativa, seguramente te sea muy útil leer este libro. La principal razón de aprender hoy en día el Lenguaje Unificado de Modelado (UML), es que existe muchísima documentación de grandes proyectos escrita con el mismo. Además permite comunicar de manera efectiva un diseño a los ingenieros de software.

Working Effectively with Legacy Code

El código legacy podría ser perfectamente una de las mayores pesadillas de los programadores. Quien más y quien menos hemos sufrido día a día proyectos con código de calidad muy cuestionable, con dependencias totalmente obsoletas y donde cada vez que se toca una cosa, fallan tres. Sí me refiero al clásico código donde se aplica la frase, cuesta menos hacerlo de nuevo que arreglarlo. Este libro, que no he acabado, personalmente me ha parecido una lectura imprescindible si estás en un proyecto con código legacy. La principal razón es que parte de este supuesto y te proporciona un conjunto de reglas y técnicas para gestionarlo de la mejor manera posible. Una de ellas es utilizar ese código como caja negra, hacerle un conjunto de test, realizar los cambios y comprobar que todo sigue funcionando.

Patterns, Principles and Practices of Domain-Driven Design

El último libro que os recomiendo versa sobre Domain Driven Design, conocido también como DDD o diseño centrado en el dominio. Esta metodología de diseño de software la he estado utilizando en el último año y los resultados han sido muy positivos. En mi opinión, permite estructurar de manera modular grandes proyectos de software y comunicar cómo funcionan de manera efectiva, gracias a:

  • Lenguaje ubicuo, es decir, mismo lenguaje para desarrolladores y usuarios
  • Separación de entidades, estando la lógica dentro de las propias entidades, en contraposición a los modelos anémicos
  • Estructuración en contextos
  • Comunicación basada en servicios que definen contratos

 

Espero que estos libros os resulten útiles y si crees que me he dejado alguno, déjalo en un comentario.

 

Iconos hechos por Zlatko Najdenovski de www.flaticon.com bajo la licencia CC 3.0 BY

Deja una Respuesta