10 libros míticos sobre programación que todo desarrollador debería leer

10 libros que toda persona que se dedique al desarrollo de software, en cualquiera de sus formas, debería tener en su estantería. También sería conveniente leerlos un par de veces, porque a pesar de que son tremendos como pisapapeles y para nivelar muebles, no es su única utilidad…

1. Code Complete

Si sólo tienes oportunidad de leer un libro sobre desarrollo de software en toda tu vida, procura que sea este. Code Complete es prácticamente la biblia del desarrollo de software, además de una de las mejores guías prácticas sobre la programación de todos los tiempos. Es un libro muy fácil de leer, entretenido, y tremendamente práctico, con montones de recomendaciones útiles para cada fase del ciclo de vida del software. El simple hecho de leerlo te hará mejor programador. Seguro.

2. The Pragmatic Programmer: From Journeyman to Master

“El programador pragmático: de oficial a maestro” es un libro que hace verdadero honor a su nombre. Su objetivo es ayudarte en el difícil camino de aprendiz a artesano del bello arte que es la programación. No sólo trata los aspectos técnicos del oficio, sino también los filosóficos, y otros más abstractos. Yo, personalmente, se lo recomendaría como libro de cabecera a más de uno.

3. Design patterns: elements of reusable object-oriented software

Si has recibido algún tipo de educación formal, como ingeniero, licenciado, graduado, … es más que probable que ya hayas tenido algún contacto previo con este libro, porque es, sin lugar a dudas, EL LIBRO sobre patrones de diseño. ¿Has oído hablar alguna vez de los patrones Singleton, Decorator, Observer, Composite, …? Aquí empezó todo, gracias al Gang of Four (Erich Gamma, Richard Helm, Ralph Johnson y John Vlissides).

Para una introducción más ligera, con fotografías simpáticas y mucho humor, también te puede interesar Head First Design Patterns. Muy buen libro.

4. Don’t Make Me Think!

Muchas veces los programadores olvidan que las aplicaciones no son un fin en sí mismo, sino que son meras herramientas para los usuarios. Si alguna vez tienes que diseñar una interfaz de usuario, y especialmente interfaces web, empieza por leer este libro; no te defraudará. Uno de los clásicos en cuanto a usabilidad se refiere.

5. The Mythical Man Month and Other Essays on Software Engineering

Como muestra, un botón: “Nueve personas no pueden producir un bebé en un mes. -– Frederick Brooks”

The Mythical Man Month es, como su nombre indica, una colección de ensayos sobre la ingeniería del software y la gestión de proyectos. Un verdadero clásico, y obligada lectura para los interesados en el tema.

6. Refactoring: Improving the Design of Existing Code

Si “Design patterns” es la referencia básica sobre patrones de diseño, este libro, escrito por Martin Fowler, el famoso experto en desarrollo ágil y análisis y diseño de software, lo es para las refactorizaciones. ¿Que no refactorizas tu código? ¡¿a qué estás esperando?!

7. The Dilbert Principle

Seguramente esta sea la entrada más discutida de la lista, pero no me resisto a incluirla, porque más allá de las tiras cómicas o de los chistes, cualquier libro de Dilbert puede enseñarte más sobre el mundo real que 10 seminarios de empresa. En serio. Haz buen uso de sus consejos y recomendaciones.

De “The Dilbert Principle” ya publiqué en su día una entrada con algunas citas seleccionadas con el que os podéis hacer una idea del contenido del libro. Especialmente recomendado para ingenieros en general.

8. Software Project Survival Guide: How to be Sure Your First Important Project isn’t Your Last

Esta vez Steve McConnell, el autor de Code Complete, se centra en la gestión de proyectos. Otro añadido imprescindible en tu biblioteca particular, y una lectura obligatoria para cualquiera que tome parte en proyectos de desarrollo de software, desde el jefe de proyecto, hasta el apuntador.

9. Clean Code: A Handbook of Agile Software Craftsmanship

Principios y patrones para lograr un código más limpio, más legible y más fácil de mantener. Y es que, recuerda, como dijo Martin Golding, siempre deberías programar como si el tipo que acabe manteniendo tu código fuera un psicópata violento que sabe dónde vives.

10. UML Distilled

Como Design Patterns, si has estudiado algún módulo, ingeniería, máster, … relacionado con la informática, es probable que ya conozcas este libro.

UML es el lenguaje de facto para el modelado de software hoy en día, y UML Distilled, también de Fowler, es la guía básica para todo aquel que quiera aprenderlo.

Comentarios
  1. Quizás un título más correcto hubiera sido “10 libros míticos sobre desarrollo que toda persona implicada en el desarrollo debería leer”… Pero habría sido demasiado largo. Y repetitivo.

    Por cierto, los enlaces son de afiliado, así que si os animáis a comprar algún libro yo me llevo unos euros 🙂

    Responder

    • La vi en su día, Coding Horror es una de mis bitácoras favoritas 🙂 Lástima que últimamente escriba tan poco.

      De hecho creo que me compré Code Complete por su recomendación…

      Responder

      • tekilux

        No Me Hagas Pensar
        y el Principo de Dilbert tambien estan en castellano.

        Responder

  2. byJonyB

    Con lo poco que me gusta leer, dudo mucho que los lea alguna vez. Aún así les intentaré echar un vistazo.

    by JonyB

    Responder

  3. pp

    Creo que el primer libro que un programador debería leer es “The Art of Computer Programming” de Donald Knuth. Desde hace unos años no se entiende la esencia de programar como una forma de arte. Y así nos va.

    Responder

    • Teby

      No he leído ese libro que dices, pero comparto tu opinión respecto a que programar es también una forma de arte. Llega un punto que es como hacer magia ^^

      Responder

  4. muzikizum

    ¿Alguno de ellos está en castellano?

    Gracias

    Responder

    • Design patterns seguro. UML distilled creo que también. El resto, ni idea.

      Ya sabes cómo es la informática. Hay que saber inglés sí o sí.

      Responder

      • Leer libros en inglés siempre resulta algo más tedioso que en español (excepto para los ingleses y otros súbditos de naciones de la Camonguelf) pero si lees un libro en su traducción española y te resulta ininteligible, prueba con su versión inglesa.
        La mayor parte de las veces llegas a la conclusión de que el traductor no sabia informática…ni inglés.

        Responder

  5. […] 10 libros míticos sobre programación que todo desarrollador debería leer mundogeek.net/archivos/2010/02/04/10-libros-miticos-sobre-pr…  por korroskada hace 2 segundos […]

    Responder

  6. Que bueno es lo de “programar como si el tipo que acabe manteniendo tu código fuera un psicópata violento que sabe dónde vives” XDD La verdad es que algunas veces, para entender el código de otro ni la piedra roseta 🙂

    Responder

  7. “Design patterns: elements of reusable object-oriented software” y “UML Distilled”

    Los recomiendo encarecidamente; no concibo el desarrollo de un proyecto sin lo que ahí se explica 🙂

    Responder

    • El mundo sería un lugar mejor si todo el que trabaja en desarrollo los hubiera leído. El cielo más azul, la comida más sabrosa, las mujeres más guapas, …

      Responder

      • Y me parece que te quedas corto … :\
        La de burradas que he oido/visto.

        Responder

      • Chikitulfo

        Bueno, la verdad es que la versión de matrix actual está bastante bien, aunque si todos los desarrolladores conocieran estos libros, seguro que estaría aún mejor.

        Conozco varios de ellos, aunque todavía no me he puesto con ninguno.

        A ver si saco un hueco y me leo alguno.

        Responder

  8. Rafa Muñoz Cárdenas

    Yo en el número 3 tengo el Head First Design Patterns, ya que me parece más ameno que el de Gang of Four.

    Responder

  9. Y e ahí por que a los ebook les cuesta tanto calar entre la gente de a pie… ¿Tú sabes la cantidad de ebooks necesarios para nivelar una mesa? Sí es que sale carísimo, hombre… XD lol

    Bromas a parte, interesante post.

    Un saludo.

    Responder

    • Jorge

      este chiste es tan bueno como el de que un programa en perl se ve igual antes y despues de pasarlo por el rot5 !! jajaja

      Responder

  10. ezex

    Muy buena recopilación, personalmente recomiendo uno que si bien es para niveles un poco superiores al inicial es muy bueno, se llama “Programming Collective Intelligence” y el ebook esta dando vueltas por la red.

    Saludos

    Responder

  11. Zeioth

    Que bien gracias por recomendarlos! a mi me pasa una cosa muy mala, y esque quiero libros a pesar de que no me da tiempo a leerme los que tengo ya. Los libros de programacion tienden a tener una densidad de paginas bastante… generosa.

    Responder

  12. Muchísimas gracias! Tremendamente útil me seria, si no fuese por mu pésimo nivel de ingles… pero gracias de todos modos 🙂

    Responder

  13. Cuando vi libros que todo programador debería leer, pense en encontrarme con: Introduction to Algorithms de Kormen o por lo menos con Python para Todos, jeje

    Responder

  14. Anónimo

    Tendré que leerlos en especial me llaman la atención el 1,2 y 5to libro. Y mas ahorita que me estoy adentrando al mundo de la programación van a ser lecturas obligadas.

    Responder

  15. Excelente! Puedo comenzar a empaparme del conocimiento de todos estos libros desde ahora.

    Me parece genial que menciones a los Ingenieros, por cierto ¿Tu eres ingeniero Zootropo?

    Estaria bien acompañar con links de consulta en Google Libros.

    Responder

  16. ¿Y el primer libro recomendado es de Microsoft?

    Bueno, no voy a juzgar el libro por las tapas ni por la empresa que lo ha patrocinado, pero las API de Microsoft no son precisamente las mejores del mercado, sobre todo las de Win32, aunque es cierto que han mejorado con .NET.

    De todas formas voy a ver si consigo echarle un vistazo.

    Responder

  17. Demostrado que la ciencia infusa no sirve para mejorar en el desarrollo de aplicaciones, mil gracias por la lista de libros.

    Responder

  18. […] Ver información aquí. Categorías:Programación y Base de Datos Comentarios (0) Trackbacks (0) Dejar un comentario Trackback […]

    Responder

  19. Alex

    a mi me gusto programacion for dummies jejeje, deben ser un poco costosos los libros intentare comprarlos luego je

    Responder

  20. DoodoM

    Muy bueno. Ahora lo difícil va a ser encontrarlos en formato ebook y en castellano. 😐

    Responder

  21. Buena lista, aunque DON’T MAKE ME THINK! está tremendamente sobrevalorado. Y sino UML DISTILLED :S

    Responder

  22. Alvaro

    Yo añadiría “Practice of Programming” de Brian Kernighan y Rob Pike.

    Responder

  23. excelente, voy a guardar los titulos de los libros para un futuro 😀

    Responder

  24. Miguel BR

    No conozco ninguno, nunca he sido de comprar libros de informatica, pero si estan aqui es que realmente son muy buenos y valdra la pena buscarlos.
    gracias por las recomendaciones

    Responder

  25. Carlos Morales

    Ahhh yo tengo el de “No me hagas pensar” es bueniiiiisimo, 100% recomendado para diseñadores y programadores de páginas web

    Responder

  26. ivan

    hola, quiero saber algo, donde compro tus libros, no quiero descargarlos

    Responder

  27. Que alegria ver que me he leido 6 de los 10! A ver si consigo una copia de los otros 4 para completar

    Responder

  28. muy buenos libros

    Responder

  29. seba

    loco esta muy bueno tu aporte pero se te olvidaron dos libros muuuuuuuuuuuuy importantes que aparte del que pusiste primero son los 3 libros mas importantes del desarrollo de software los libros son….”El proceso unificado de desarrollo” y “El lenguaje unificado de desarrollo”…pero igual manso aporte el que haces… te felicito y te doy las gracias

    Responder

  30. […] acuñado por Dave Thomas, co-autor de “The Pragmatic Programmer”, del que os hablé en 10 libros míticos sobre programación que todo desarrollador debería leer, se traduce en pequeños ejercicios, de menos de 1 hora de duración, que nos ayudan a aprender y […]

    Responder

  31. zootropo excelente entrada. Sería bueno conseguirlos en digital. Intentaré encontrarlos.

    Responder

  32. delmy

    hola muchas gracias por la informacion me sirvio de mucho pero quisiera saber donde los consigo

    Responder

  33. […] Lo que no es tan habitual es conocer la existencia de otro movimiento relacionado, resumido en el Manifiesto por la Artesanía del Software, y cuyos orígenes podemos encontrar en uno de mis libros favoritos de cabecera, “The Pragmatic Programmer“, ya recomendado en 10 libros míticos sobre programación que todo desarrollador debería leer. […]

    Responder

  34. […] que recomiendo encarecidamente, y te quedas con ganas de más, también me gustaría recomendarte Code Complete, uno de mis libros preferidos sobre programación. Cambiarán totalmente tu forma de entender la […]

    Responder

  35. […] Singleton NO es una solución adecuada a este problema. Sí, es uno de los patrones explicados en Design patterns: elements of reusable object-oriented software, uno de los 10 libros míticos que todo programador debería leer, pero se suele abusar de él […]

    Responder

  36. […] empecé a leerlo aunque aún no lo he terminado, recuerdo cuando leí un artículo de “los libros míticos sobre programación que todo desarrollador debe leer“, la descripción del libro llamó mucho mi atención: “El objetivo es ayudarte en el […]

    Responder

  37. […] […]

    Responder

  38. […] su día, ya publiqué una lista de los 10 libros sobre programación que, personalmente, considero que todo desarrollador debería leer. Esta vez, vía Slashdot, os […]

    Responder

  39. […] que podéis encontrar en la web de la Universidad de Nottingham, en Barrapunto (español) o en el mítico libro The Mythical Man Month Etiquetas: balas de plata, desarrollo, ingenieria, Software […]

    Responder

  40. […] Programmer Should Know” no es un libro de grandes revelaciones, para lo cuál recomendaría mis reverenciados “Code Complete” y “The Pragmatic Programmer”, pero lo que sí es, es un […]

    Responder

  41. Manu

    Hola, acabo de ver tu otro post (http://mundogeek.net/archivos/2012/01/30/97-things-every-programmer-should-know/) y he acabado leyendome este, acabo de empezar en programación en C y Python, crees que los dos primeros libros de la lista podrían servirme de algo, lo digo para empezar a hojearlos o esperar a tener algo más de experiencia.
    también quisiera saber si me resultarán útiles para programar en los lenguajes que he mencionado y añadiría Java y Java script, los dos para hacer código fuente para phoneGap creo, acabo ya el tocho, a ver si encuentras un hueco para contestarme.

    Gracias.

    Responder

    • Cualquier momento es bueno para leerlos. Si los lees ahora aprenderás cosas que te ayudarán a dar tus primeros pasos correctamente. También habrá cosas que no valorarás en su justa medida, y que aprovecharás mejor cuando puedas compararlos con tu experiencia. Conclusión: son el tipo de libro que hay que revisitar un par de veces.

      Sobre si te ayudarán a aprender C, Python, Java y JavaScript, pues no. Lo que sí harán es ayudarte a programar mejor en esos lenguajes.

      Responder

  42. Manu

    Muy bien, era eso lo que preguntaba, si se centra en algún lenguaje en particular o entra directo en la lógica de programación, parece por tus palabras que es lo segundo.

    Sí fueras tan amable de decirme lo mejor según tu opinión sobre libros enfocados a lenguaje C, Python, (he descargado ya el tutorial de Python que tenéis por aquí aunque no sea un libro)Java y Java script (parece que PhoneGap solo compila Java script), dejo mi mail (buen detalle el comentario de “no se mostrará”) por si crees que estoy espameando.

    Gracias por la respuesta.

    Responder

    • De C un mítico es “The C Programming Language” de Dennis Ritchie (creador del lenguaje) y Brian Kernighan.

      De Java mi preferido, aunque tiene unos años y no trata las novedades de las últimas versiones es sin duda “Thinking in Java” de Bruce Eckel.

      De Python y JavaScript, no sabría quedarme con uno.

      Responder

  43. Manu

    Muchas gracias por los posts y las respuestas.
    Saludos.

    Responder

  44. […] últimos días estoy leyendo por enésima vez Code Complete, mi libro preferido sobre desarrollo de software, y el de mucha más gente. A este libro pertenece esta tabla, basada en diversos estudios, que […]

    Responder

  45. […] últimos días estoy leyendo por enésima vez Code Complete, mi libro preferido sobre desarrollo de software, y el de mucha más gente. A este libro pertenece esta tabla, basada en diversos estudios, que […]

    Responder

  46. Creo que un libro de por demás interesante que abarca problemas de la ingeniería de software moderna desde como lo sufre (o las perspectiva) un programador hasta el analista es el “Análisis y diseño Orientación a Objectos, con Aplicaciones” de Booch.
    Debería estar en el top 10 sin duda.

    Responder

  47. hola soy tecnico en reparacion de pc y no tengo casi nada de experiencia en programacion y me gustaria saber por donde empezar por que estoy perdido.

    Responder

  48. Wilson

    TE quedas corto con esta lista, pero muy buena…saludos

    Responder

  49. Muy buena lista. Gracias.
    Solo puedo aportare que podrías actualizar la lista con los enlaces de otros distribuidores de libros con rebajas u ofertas, por ejemplo los mismos libros de amazon están en http://www.bookdepository.com, donde he comprado, y con muy buenas rebajas.
    También seria bueno poner el precio promedio de cada libro en versión impresa o eBook.

    Responder

Deja un comentario