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.
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 🙂
Me recuerda a esta otra lista http://www.codinghorror.com/blog/archives/000020.html
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…
No Me Hagas Pensar
y el Principo de Dilbert tambien estan en castellano.
Con lo poco que me gusta leer, dudo mucho que los lea alguna vez. Aún así les intentaré echar un vistazo.
by JonyB
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.
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 ^^
¿Alguno de ellos está en castellano?
Gracias
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í.
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.
Pingback: 10 libros míticos sobre programación que todo desarrollador debería leer
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 🙂
«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 🙂
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, …
Y me parece que te quedas corto … :\
La de burradas que he oido/visto.
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.
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.
Sí es más ameno, sí. Pero es que el del GoF es taaaan mítico…
Trivia del libro de Head First:
http://fishbowl.pastiche.org/2005/08/12/the_head_first_girls_double_life/
=)
😆
«Even self-assured design-pattern toting geek girls need feminine hygiene products.»
Sublime xD
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.
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
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
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.
Muchísimas gracias! Tremendamente útil me seria, si no fuese por mu pésimo nivel de ingles… pero gracias de todos modos 🙂
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
Ah, sí, me han hablado muy muy bien de Python para todos 😛
Yo lo uso en mis cursos de programación en Argentina. Conocen al autor? =).
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.
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.
Sí, soy ingeniero informático.
¡Que bien! Yo soy un universitario apenas 🙁
Cualquier dia de estos años venideros te alcanzo 🙂
¿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.
Demostrado que la ciencia infusa no sirve para mejorar en el desarrollo de aplicaciones, mil gracias por la lista de libros.
Pingback: 10 libros míticos sobre programación que todo desarrollador debería leer. « SomosGeeks
a mi me gusto programacion for dummies jejeje, deben ser un poco costosos los libros intentare comprarlos luego je
Muy bueno. Ahora lo difícil va a ser encontrarlos en formato ebook y en castellano. 😐
Buena lista, aunque DON’T MAKE ME THINK! está tremendamente sobrevalorado. Y sino UML DISTILLED :S
Yo añadiría «Practice of Programming» de Brian Kernighan y Rob Pike.
excelente, voy a guardar los titulos de los libros para un futuro 😀
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
Ahhh yo tengo el de «No me hagas pensar» es bueniiiiisimo, 100% recomendado para diseñadores y programadores de páginas web
hola, quiero saber algo, donde compro tus libros, no quiero descargarlos
Que alegria ver que me he leido 6 de los 10! A ver si consigo una copia de los otros 4 para completar
muy buenos libros
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
Pingback: Katas de código
zootropo excelente entrada. Sería bueno conseguirlos en digital. Intentaré encontrarlos.
hola muchas gracias por la informacion me sirvio de mucho pero quisiera saber donde los consigo
Pingback: Manifiesto por la Artesanía del Software
Pingback: Clean Code
Pingback: Variables globales
Pingback: Software Craftsmanship [Artesania de software] « Milagros Infante Montero
Pingback: Anónimo
Pingback: Los 10 libros que todo programador debería leer, sin excusas
Pingback: No hay balas de plata
Pingback: 97 Things Every Programmer Should Know
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.
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.
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.
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.
Muchas gracias por los posts y las respuestas.
Saludos.
Pingback: Ahorra tiempo y dinero con la Ingeniería del Software
Pingback: Ahorra tiempo y dinero con la Ingeniería del Software | Javakafe
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.
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.
TE quedas corto con esta lista, pero muy buena…saludos
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.