Los 10 mejores libros para desarrolladores

Mejorar en el campo del desarrollo no es solo escribir un buen código, sino también leer sobre cómo escribirlo.




Hola Habr! Sigo compartiendo selecciones útiles. Más recientemente, publiqué 2 publicaciones que enumeran los repositorios de Github: Parte 1 y Parte 2 . Esta vez les traigo una selección de libros útiles para desarrolladores. A quién le importa, bienvenido a cat.

Además de todas las bendiciones del mundo moderno: podcasts, videos, blogs, etc., leer un buen libro es algo que todavía tiene demanda. He leído muchos buenos libros sobre tecnología y desarrollo de software, y todavía leo para estar al día de los nuevos patrones y las mejores prácticas.

Encontrar buenos libros para el desarrollo de software no es una tarea fácil, ya que el ecosistema cambia tan rápido que muchas cosas se vuelven obsoletas en poco tiempo. Esto es especialmente cierto para aquellos libros que describen una versión específica de un lenguaje de programación.
Sin embargo, hay libros "eternos": están dedicados a metatemas, patrones de diseño o conceptos generales.

La siguiente selección consiste en los libros más populares y más leídos. Libros que todavía son relevantes hoy y que los desarrolladores experimentados suelen recomendar a los profesionales novatos. Sé que el tiempo es precioso, especialmente para los desarrolladores. Pero si puedes leer algunos de estos libros, definitivamente te ayudará a ti y a tu carrera. Tenga en cuenta que los libros de la lista no están ordenados por grado de importancia; todos son igualmente recomendados para leer.

1. Descifrando la entrevista de codificación o programador de carrera



Recomiendo este libro a todos aquellos que quieran prepararse a fondo para la entrevista. El autor, G. Luckman MacDowell, un experimentado ingeniero de software, fue tanto entrevistador como candidato. Ella le enseñará a encontrar detalles ocultos en las preguntas, dividirá los problemas en pedazos pequeños y también lo ayudará a mejorar sus habilidades de aprendizaje.

Además, el autor nos proporciona 189 preguntas reales para la entrevista y sus soluciones reales para que pueda prepararse bien para la próxima entrevista.

2. Código completo o código perfecto



Este libro de Steve McConnell es uno de esos libros que cada programador probablemente hojeó al menos una vez en su vida.

Este es un análisis exhaustivo del diseño de software, bien escrito y muy solicitado en la industria. El libro cubre temas como diseño, redacción de códigos, depuración y pruebas.

Es probable que este libro sea la inversión más rentable para desarrolladores con experiencia profesional de uno a tres años. Pero también recomiendo la publicación a principiantes, ya que ayuda al comienzo del desarrollo de software.

La conclusión principal: los desarrolladores deben administrar la complejidad y escribir código que sea fácil de mantener y leer tanto para ellos como para otros.

3. Código limpio o código limpio



El libro de Robert Martin (o el tío Bob), Clean Code, es uno de los libros de programación más populares. Fue escrito para enseñar a los ingenieros de software cómo escribir código limpio. El libro contiene muchos ejemplos que muestran cómo refactorizar el código para hacerlo más legible y fácil de mantener. Pero tenga en cuenta que la publicación se centra específicamente en Java. Aunque algunos de los patrones y técnicas se extienden a la programación general y otros lenguajes, la audiencia principal del libro son los desarrolladores de Java.

También debe tenerse en cuenta que el libro fue publicado en 2008. Alguna información, como el formato de código, es menos relevante hoy en día debido a las herramientas e IDE disponibles. Pero aún así, este es un gran libro.

4. Refactorizar o mejorar el diseño del código existente



La segunda edición del libro de Martin Fowler explica qué es realmente la refactorización, sin embargo, como la primera edición, lanzada hace 20 años. Después de leer el libro, encontrará respuestas a las siguientes preguntas:

  • ¿Por qué necesito refactorizar mi código?
  • ¿Cómo puedo reconocer el código que necesita refactorización?
  • ¿Cómo puedo refactorizar con éxito mi código?

Después de leer este libro, comprenderá el proceso en sí y los principios generales de refactorización, que puede aplicar inmediatamente a su código. También aprenderá a detectar cardúmenes en el código de su compañero de equipo que requieren refactorización.

5. Head A First Patrones de diseño y Patrones de diseño



Este libro, que tiene 4 autores a la vez, le enseña los patrones de diseño y las mejores prácticas utilizadas por otros desarrolladores para crear software funcional, reutilizable y flexible. La publicación tiene muchas presentaciones visuales que lo ayudarán a dominar nuevos conceptos más fácilmente.

Si desea aprender sobre cosas como fábricas, singletones, inyección de dependencia, etc., este libro es una excelente opción. Los ejemplos están escritos en Java, por lo que sería bueno saber esto o cualquier otro lenguaje orientado a objetos.

6. Patrones de arquitectura de aplicaciones empresariales o plantillas de aplicaciones empresariales



Otro gran libro de Martin Fowler sobre desarrollo de aplicaciones empresariales. Después de un tutorial rápido, Martin le ofrece más de 40 plantillas como solución a problemas comunes en el desarrollo de aplicaciones empresariales. En el libro encontrará una gran cantidad de visualizaciones UML y ejemplos de código escritos en Java o C #.

Después de leer el libro, puede dividir las aplicaciones corporativas en niveles, conocer los enfoques básicos para organizar la lógica empresarial, utilizar plantillas MVC para organizar aplicaciones web y administrar el procesamiento paralelo de varias transacciones.

Sin embargo, el libro es bastante antiguo, por lo que no se mencionan conceptos modernos como REST, cloud o JSON. Este es un buen material para estudiar, pero aún así ser crítico con él.

7. Trabajo efectivo con código heredado o trabajo efectivo con código heredado



En el libro, el autor ofrece estrategias para trabajar con bases de prueba grandes y descubiertas de código heredado. Puede pensar: “2020 es el año. El código heredado ya no es un problema, porque tenemos código y microservicios limpios y compatibles ". Déjame asegurarte que esto es un error. El código heredado sigue siendo uno de los mayores desafíos para muchas empresas.

Después de leer este libro, podrá comprender los mecanismos generales para cambiar el software, por ejemplo: agregar funciones, corregir errores, optimizar el rendimiento y mejorar el diseño. Además, aprenderá cómo preparar el código heredado para las pruebas y determinar dónde debe cambiarlo.

El libro contiene ejemplos escritos en Java, C ++, C y C #, y también contiene consejos para trabajar con código heredado, que no está relacionado con el código orientado a objetos.

8. El codificador limpio o programador perfecto



Otro libro del tío Bob que enseña técnicas, prácticas y herramientas para verdaderas habilidades de software. Contiene consejos prácticos para evaluar proyectos, escribir código, refactorizar y probar.

Después de leer este libro, aprenderá a lidiar con conflictos, horarios ocupados y gerentes irracionales; aprender a lidiar con la presión constante y evitar el agotamiento; aprenda cómo administrar su tiempo, cómo escribir código de alta calidad y ayudar a crear un entorno en el que los desarrolladores y los equipos puedan desarrollarse con éxito.

Este libro es bastante popular, pero creo que no todo es oro puro. Contiene muchas historias de la vida y conversaciones hipotéticas, que en la mayoría de los casos llevan a la conclusión de que el desarrollador es el responsable final de lo que hace. A veces, dichos pasajes van demasiado lejos: en uno de estos pasajes, el desarrollador cuyo código generó el error sugiere compensar a la empresa por las pérdidas financieras.

Por lo tanto, le aconsejo que lea este libro cuidadosamente y con algunas críticas.

9. Introducción a los algoritmos o algoritmos: construcción y análisis



Esta publicación no es más que una guía obligatoria de varios tipos de algoritmos. El libro tiene un perfil muy amplio y es adecuado tanto para principiantes como para profesionales. El material está claramente establecido y revela la esencia del problema. Pero al mismo tiempo, el libro no es del todo simple.

Cubre temas como estructuras de datos, algoritmos rápidos, algoritmos polinómicos para problemas difíciles, teoría de grafos, geometría computacional y mucho más. Aunque el libro contiene varios ejemplos de pseudocódigo, en mi opinión, es muy "teórico".

10. de The the Pragmatic the Programmer o Pragmatic Programmer



Este es uno de los libros más serios que he leído. La publicación está llena de consejos prácticos técnicos y profesionales que me han ayudado en muchos proyectos y me han ayudado a mejorar como desarrollador.

El libro es muy relevante incluso en 2020, especialmente la última edición. Aquí, el autor analiza lo que significa ser un desarrollador moderno, explora varios temas: desde la responsabilidad personal y el crecimiento profesional hasta las técnicas arquitectónicas.

Después de leer el libro, comprenderá qué es el aprendizaje continuo y cuán importante es; aprenda a escribir código flexible, adaptable y dinámico, cómo resolver problemas competitivos, cómo proteger la seguridad, cómo realizar pruebas "despiadadamente y con eficacia" y mucho más.

Si tuviera que elegir un solo libro para aconsejarle, ¡elegiría este!

Conclusión


Era una lista de algunos de los libros más populares para desarrolladores. El mejor de la lista, en mi opinión, es el "Programador pragmático" de E. Hunt y D. Thomas. Los libros de Robert S. Martin tienen demanda y son populares entre muchos desarrolladores, pero le aconsejaría que sea crítico al leerlos, ya que no estoy de acuerdo con el tío Bob en muchos temas.

Seguramente, ya has leído muchos de estos libros, o al menos los has tenido en tus manos, o al menos los has visto en Internet. Como lo expresó el autor del artículo, estos son libros "eternos" dedicados a lo básico. Si tiene algo para complementar la lista, comparta en los comentarios, creo que será útil para todos.

All Articles