Mejora tus habilidades en programación con estos libros
Lista
¿Por qué debería aprender a programar?
Esa es la pregunta que se están haciendo miles de personas, ya sean jóvenes que van a empezar una carrera universitaria, adultos que quieren un cambio de profesión para ganar más, o gente curiosa que solo quiere entender el porqué de tanto alboroto con este tema.
Y la verdad es, que tiene sentido la atención que se le está dando, pues la programación o desarrollo de software, se ha convertido en una de las profesiones más apetecidas, bien remuneradas e importantes de la actualidad, dado que es la base de casi toda la tecnología que por hoy usamos.
Tu celular, tu computador, tu televisor, tus redes sociales, tus videojuegos… todo fue escrito en un lenguaje de programación que, investigando un poco sobre ellos y eligiendo el que más te llame la atención, puedes aprender en una institución educativa o leyendo y practicando gratis por internet.
Y como yo estoy aquí para ayudar, te dare una lista de libros de programación (en Inglés y en Español) que te permitirán aprender algunos de los lenguajes Backend y Frontend más populares: Python, Java, JavaScript, y aquellos que no son técnicamente lenguajes de programación, pero igual tienen mucha relevancia: CSS y HTML. De modo que una vez termines tus libros seleccionados (y los apliques), estés preparado para salir a buscar oportunidades financieras y profesionales.
¿Suena bien, eh?
Empecemos:
LIBROS PARA APRENDER PROGRAMACIÓN RECOMENDADOS PARA PRINCIPIANTES:
Aprende Python en un fin de semana de Alfredo Moreno y Sheila Córcoles
Este libro dice tener un método que te permite aprender Python en si, como leíste bien, un fin de semana.
Una lectura directa al grano que te permitirá aprender a través de teoría y ejercicios progresivos chéveres, los conceptos esenciales de Python: variables, bucles, funciones, clases, herencia, lectura y escritura de ficheros, etc. etc.
Por lo que, para aprender la sintaxis y los conceptos más utilizados, es más que perfecto. Recomendado para programadores principiantes e intermedios.
Clean Code de Robert C. Martin:
Todo un clásico, quizás con cosas ya algo desactualizadas, pero con consejos que te harán uno de esos pulcros programadores que codifica de forma impecable, o sabe hacer uso de las famosas buenas prácticas del programador.
Cracking the Coding Interview de Gayle Laakmann McDowell:
¿Te vas a postular a una vacante de trabajo como programador/a? Léete este libro, pues es una guía que te preparará para responder a las preguntas de código más comunes que suelen hacer los reclutadores durante las entrevistas de selección.
Learning Web Design de Jennifer Niederst Robbins:
Perfecto si te quieres enfocar en desarrollo Frontend y diseño web.
A través de hermosas imágenes, ejemplos fáciles de seguir y una redacción amena, este libro te da la sensación de estar aprendiendo lo imprescindible y más útil de JavaScript, CSS y HTML.
Si eres un diseñador web principiante, esta lectura te aportará mucha información de valor.
The Design of Everyday Things de Don Norman:
Una guía para el diseño efectivo de interfaces de usuario.
Un libro que te explica cómo las personas interactúan con el diseño y la tecnología y cómo se pueden crear aplicaciones, sistemas y productos que sean intuitivos y fáciles de usar. Es popular entre los diseñadores de UX y UI, y también, entre desarrolladores web que desean aprender sobre experiencia de usuario.
Fundamentos de programación de Luis Joyanes
Este libro es lo que muchos llamarían un curso a fundamentos de programación, ya que su temario empieza dándote un paseo por la historia de la computación y el UML, para luego, introducirte a la programación estructurada y orientada a objetos a través de ejemplos y ejercicios de algoritmos en C, C++ y Java que, dependiendo tu plan de estudio, puedes resolver o adaptar al lenguaje de tu interés.
Head First Java de Kathy Sierra y Bert Bates:
Un libro para programadores principiantes que a través de juegos, explicaciones prácticas y ejemplos muy visuales, enseña los conceptos básicos de Java, POO y lógica de programación.
Es muy fácil de leer. Tiene una redacción informal, concisa y divertida que te hará entender lo esencial de este robusto lenguaje de programación sin sufrimiento.
Sin duda, uno de los mejores libros para aprender a programar en Java.
LIBROS DE PROGRAMACIÓN RECOMENDADOS PARA INTERMEDIOS Y AVANZADOS:
Python para Todos: Explorando datos con Python 3 de Dr. Charles Russell Severance
Este libro ha tomado relevancia entre aquellos que quieren aprender el poderosísimo lenguaje de programación Python para enfocarlo (o aplicarlo) a exploración y análisis de datos.
Un libro fácil de leer que te anima a aprender, paso a paso, con ejercicios que van aumentando de dificultad a medida que vas leyendo, resultando así, en una lectura adecuada para cualquier persona, ya sea que tenga nociones sobre el lenguaje o no.
Especialmente, diría que esta lectura es perfecta para aquellos que trabajen o quieran trabajar con Business Intelligence (BI), Big Data o grandes volúmenes de datos.
JavaScript: The Good Parts de Douglas Crockford:
Este libro es una guía detallada de los aspectos y practicas más importantes que un desarrollador de software debe tener en cuenta si quiere explotar al máximo las cualidades de JavaScript.
Recomendado para personas que ya tengan conocimientos previos en el tema.
Expert Python Programming de Michal Jaworski y Tarek Ziade
Esta lectura te puede brindar una comprensión completa del proceso de creación y mantenimiento de aplicaciones Python. Así como de la exploración de patrones comunes de diseño de software y diversas metodologías de programación como la programación basada en eventos y la metaprogramación.
Para comprenderlo requiere tener nociones en el lenguaje, u otros lenguajes.
Python avanzado en un fin de semana (Aprende Python) de Alfredo Moreno y Sheila Córcoles
Este libro dice poseer un método de aprendizaje que te permitirá avanzar tus conocimientos de Python en un corto periodo de tiempo.
Contiene más de 60 ejercicios de dificultad progresiva, en los que, además de guiarte paso a paso, te explican todos los conceptos teóricos de programación que necesitas saber para poder llevarlos a cabo.
Code Complete de Steve McConnell:
Un libro de programación exhaustivo (casi 900 páginas) para aprender a escribir software de alta calidad.
A lo largo de la lectura, el autor usa múltiples lenguajes de programación bajo la lógica de que un buen desarrollador de software debe sentirse cómodo analizando sintaxis desconocidas, al tiempo, que cubre una amplia gama de temas que van desde diseño de software hasta la gestión de proyectos, todo, muy a tipo tutorial.
Por lo cual, considero que Code Complete es una buena puerta de entrada para todos aquellos que quieran ampliar sus horizontes en programación
El Programador Pragmático de David Thomas:
Un libro que te da un recorrido por los pilares y principios que forjan un buen desarrollador/a de software
Su traducción al español es buena (el original es en inglés), y aunque puede que algunos de sus consejos de carrera sean de “sentido común”, la mayoría son útiles y entretenidos, escritos de una forma sencilla y disfrutable.
Es de recalcar que el objetivo de este libro es convertirte en un mejor programador, no solo a nivel técnico sino también a nivel de habilidades blandas. Por ejemplo, su temario enseña a como depurar y mejorar un código, pero también enseña a escribir unit test, a programar en equipo y a como no crear excusas innecesarias si cometes un error.
De modo tal que, si eres un ingeniero de software en busca de potenciar su carrera desde un enfoque muy humano, definitivamente deberías leer este libro, pues cubre los principios fundamentales que deberían guiarte como profesional y que generalmente, no enseñan en la universidad.
Como puedes ver, cada uno de estos libros tiene algo que enseñarte. Escoge los que más te llamen la atención, léelos y aplícalos. Y quizá, en un futuro, mirarás atrás y podrás decir: Definitivamente, este libro me hizo un mejor profesional, una mejor persona, un mejor programador.
¿Cuál te llamo más la atención?