8+ libros para mejorar como programadores
Escrito por
el , actualizado el .
java
software-libre
planeta-codigo
programacion
Enlace permanente
Comentarios
Hay cantidad de información para aprender y en diferentes formatos desde libros si queremos tener un conocimiento más profundo sobre alguna materia pasando por presentaciones en SlideShare o SpeakerDeck que aún comentando los detalles de forma escueta sirven para conocer los detalles importantes sobre un tema, charlas de hangouts que quizá requieran menos esfuerzo y tiempo por nuestra parte que leer un libro como las compartidas en desarrolloweb o en Virtual JUG, blogs con artículos que explican un detalle específico (aquí hay una buena colección de bitácoras sobre java), katayunos y merendojos en los que se practican técnicas de programación sobre un problema conocido, sencillos, de los que ya se conoce su solución y que se realizan junto a otras personas, convenciones como Codemotion, PyCon, Greach, LibreCon, CAS, Spring I/O, ApacheCon, BilboStack… En estas convenciones se hacen presentaciones de alrededor de una hora para los asistentes, además siendo presenciales permiten reunirse con otras personas con los mismos intereses y de las que algunas los vídeos están disponibles en YouTube… en definitiva, para aprender lo único que se necesita es tiempo y motivación que no es poco después de una jornada laboral que ocupa la mayor parte de nuestro tiempo.
En este artículo comentaré algunos libros que a mí me han gustado y que mucha gente recomienda leer ya que contienen cantidad importante e interesante de información útil para realizar mejor la tarea de programación, algunos tratan sobre el código otros sobre como enfrentarnos a las tareas y problemas que nos encontramos en el desarrollo y trabajo.
Contenido del artículo
Thinking in Java
Yo como programador Java el libro que recomiendo para aquellos que ya tengan unos pocos conocimientos de programación estén empezando a programar en Java es Thinking in Java aunque también es recomendable para aquellos que incluso llevan varios años programando en Java, contiene una explicación detallada de cada uno de los aspectos del lenguaje. Java 8 ha introducido numerosas novedades (streams, lambdas, mejorada la programación asíncrona, date api, default methods, programación funcional, …) y el libro Java 8 in Action nos permite conocerlas detalladamente. En otros lenguajes hay otros libros que nos pueden introducir en la materia como C# 5.0 All-in-One For Dummies o Beginning Python.
Effective Java
Para aquellos que ya tienen varios años de experiencia el libro Effective Java contiene numerosos consejos para usar Java de forma “efectiva” aunque algunos puntos del libro son aplicables a cualquier otro lenguaje de programación orientado objetos. La segunda edición no está actualizada con las novedades introducidas en Java 8 pero prácticamente todo sigue siendo válido, el libro Java 8 in Action también contiene algunos consejos en la misma linea que complementan a este libro.
Head First - Design Patterns
Los patrones de diseño nos presentan una solución que se ha comprobado válida para resolver problemas. En varios casos tratan de hacer que los cambios no afecten de forma notable a la estructura de los programas. Hay patrones de creación, estructurales o de comportamiento, … conviene conocerlos por si en algún momento determinado podemos aplicarlos a nuestro código. El formato del libro Head First Design Patterns no sigue la estructura tradicional de los libros sino una estructura más esquemática y con ejemplos que hacen sencillo comprender los patrones, cuando aplicarlos, que ventajas tienen, que desventajas y como están relacionados los patrones entre ellos. Otro libro con un formato más tradicional y muy comentado es Design Patterns.
Clean Code
El contenido de Clean code es aplicable a cualquier lenguaje y de interés para cualquier programador, contiene consejos para escribir mejor código en nuestras aplicaciones, desde como asignar nombres, como escribir funciones, comentarios, formatear el código, objetos y estructuras de datos, …, temás relacionados con el código que escribimos. El objetivo de la programación es escribir código que funciona y resuelva necesidades pero también es casi tan importante que sea fácilmente entendible por otros programadores o nosotros mismos unas semanas más tarde ya que la mayor parte del tiempo no la dedicamos a escribir nuevo código sino a modificarlo.
Code Complete
Code Complete es otro libro que se centra en como mejorar el código que escribimos de forma similar a Clean Code, explica muchos principios que pueden guiar el código que desarrollamos. Aún no lo he leído pero es mencionado bastante bastantes veces en libros de lectura recomendada. Por una lectura rápida por encima parece que está bastante bien.
The Pragmatic Programmer
El libro Pragmatic programmer también es aplicable independientemente de lenguaje que utilicemos. Contienen consejos que podemos usar como guía para tomar decisiones, para escribir mejor código y también para ser mejores programadores y profesionales.
The Clean Coder
Quizá ya conocieses Clean Code pero conocías ¿The Clean Coder?. Del mismo autor que Clean Code pero en este caso se centra no en el código sino en el programador, explica como enfrentarnos a situaciones que nos encontramos como programadores en el trabajo, en la programación escribir código solo es una pequeña parte y comprende mucho más que escribir lineas de código, también dar solución a las necesidades del negocio y de forma correcta. Trata de explicar como comportarnos de forma profesional, el decir no, el decir sí, practicar, gestión del tiempo, estimaciones, colaboración, equipos, aprender de un mentor, ser un mentor, …
Refactoring
Comenzar un proyecto desde el inicio no es lo habitual y aún así pasado un tiempo no muy grande el código se convierte en heredado, lo habitual es que tengamos que modificar código que ya están escrito. El libro Refactoring nos explica como modificar el código para que tenga mejor diseño y sea más legible o fácil de modificar en un futuro y ante los posibles cambios que se vayan introduciendo. Algunas de las acciones están relacionadas con aplicar algunos principios de los patrones de diseño explicados en Head First - Design Patterns o algunos principios comentados en Clean Code.
- Thinking in Java
- Java 8 in Action: Lambdas Streams and functional-style programming
- Effective Java
- Head First Design Patterns: Building Extensible and Maintainable Object-Oriented Software
- Design Patterns: Elements of Reusable Object-Oriented Software
- Clean Code: A Handbook of Agile Software Craftsmanship
- Code Complete: A Practical Handbook of Software Construction
- Pragmatic Programmer
- The: From Journeyman to Master
- The Clean Coder: A Code of Conduct for Professional Programmers
En una pregunta y respuesta de stackoveflow sobre los libros a leer por un programador, están recogidos una buena colección de los mejores de ellos.
De la lista de este artículo el que me falta por leer es Code Complete el resto por mi propia experiencia recomiendo leerlos incluso más de una vez dependiendo de lo bien que absorbamos el conocimiento recogido en ellos y más tarde lo tengamos presente mientras trabajamos y programamos. Estos son de los libros más mencionados en artículos similares a este como buena documentación que leer sobre programación, si los leemos y nos quedamos con un porcentaje aunque sea pequeño ya mejoraremos bastante, también es probable que algunas cosas de las comentadas en los libros ya las tengamos presentes con la experiencia que hemos adquirido por nosotros mismos, en estos libros ese conocimiento adquirido y más comprobaremos que está documentado. ¡Feliz lectura!