La Era del Código
()
Información de este libro electrónico
¿Quieres saber de qué va eso de programar?
¿Estás pensando en estudiar programación?
¿Acabas de comenzar y quieres tener una visión general del sector profesional del desarrollo de software?
Mires a donde mires, tu vista va a tropezar con infinidad de dispositivos electrónicos cuyo funcionamiento está dirigido por una o varias aplicaciones software (programas) compuestas por cientos o miles de líneas de código.
Hoy día, la presencia de código software es ubicua y todo lo relacionado con la programación constituye un sector y una industria cada vez más importante.
En este libro aprenderás en qué consiste programar y los aspectos más relevantes de un sector en auge, puesto que todos los aspectos de la economía se están digitalizando.
Por el autor de El Libro Negro del Programador, El Libro Práctico del Programador Ágil, Legacy Code, The Coder Habits, El Arte del Emprendedor Digital y otros.
Lista de capítulos
Introducción
1 Y quién soy yo para hablar de todo esto
2 ¿Qué es programar?
3 Lenguajes de programación
4 Lenguajes compilados y lenguajes interpretados
5 Entornos de desarrollo o IDEs
6 Tipos de programas
7 Frameworks
8 Bases de datos
9 Algoritmos y estructuras de datos
10 Interfaces de usuario
11 Uniéndolo todo: Cómo funciona una aplicación web
12 Fullstack developers
13 Application Programming Interface (API)
14 El software se corrompe
15 Refactoring y testing
16 Requisitos y metodología: Software ágil
17 Trabajar en un equipo: roles
18 Hablemos de arquitectura de software
19 Soft skills (o habilidades blandas)
20 La nube
21 Productos vs Proyectos
22 Código abierto y código libre
23 La industria del software actual
24 Práctica, práctica y práctica
25 Y a partir de aquí, ¿qué?
26 Preguntas frecuentes
Rafael Gómez Blanes
Rafael Gómez Blanes es Ingeniero Informático por la Universidad de Sevilla (España). Infoemprendedor, ha trabajado en proyectos software internacionales relacionados con el sector eléctrico. Desarrollador profesional desde el año 1998, es experto en clean code y todas aquellas prácticas metodológicas que incrementan la productividad, mejorando la calidad del software generado. Evangelista de software ágil, dirige actualmente un equipo de desarrollo en una compañía de ingeniería realizando productos para la gestión de smart meters y su despliegue en la nube en modo SaaS (software as a service).
Lee más de Rafael Gómez Blanes
El Libro Negro del Programador Calificación: 4 de 5 estrellas4/5El Libro Práctico Del Programador Ágil Calificación: 5 de 5 estrellas5/5El Método Lean MP: Gestiona tu proyecto emprendedor de forma sencilla, simple y eficaz mediante la Matriz de Procedimientos Calificación: 5 de 5 estrellas5/5Legacy Code Calificación: 0 de 5 estrellas0 calificacionesDe qué hablo cuando hablo de programar (volumen 1) Calificación: 4 de 5 estrellas4/5De qué hablo cuando hablo de programar (volumen 2) Calificación: 0 de 5 estrellas0 calificacionesEl Arte del Emprendedor Digital Calificación: 0 de 5 estrellas0 calificacionesLas Doce Claves Calificación: 0 de 5 estrellas0 calificacionesBitcoin Calificación: 0 de 5 estrellas0 calificaciones
Relacionado con La Era del Código
Libros electrónicos relacionados
De qué hablo cuando hablo de programar (volumen 2) Calificación: 0 de 5 estrellas0 calificacionesThe Coder Habits: Los 39 Hábitos Del Programador Profesional Calificación: 5 de 5 estrellas5/5Algoritmos a Fondo - Con implementaciones en c y java Calificación: 5 de 5 estrellas5/5Programación y Lógica Proposicional Calificación: 4 de 5 estrellas4/5Programación en C++ Calificación: 2 de 5 estrellas2/5Aprende programación de computadoras Calificación: 5 de 5 estrellas5/5HTTP - Lo mínimo que todo desarrollador web debe saber Calificación: 5 de 5 estrellas5/5Programación Orientada a Objetos Calificación: 3 de 5 estrellas3/5Ingeniería y Arquitectura del Software Calificación: 0 de 5 estrellas0 calificacionesAprende a programar con pseudocódigo, diagramas de flujo y ejercicios de ejemplo resueltos en C: Algoritmos y lógica para aprender programación desde cero Calificación: 0 de 5 estrellas0 calificacionesEl camino a las redes neuronales artificiales Calificación: 0 de 5 estrellas0 calificacionesJava a fondo - estudio del lenguaje y desarrollo de aplicaciones - 2a ed. Calificación: 5 de 5 estrellas5/5Conexión SQL SERVER & C# (Manual para principiantes) Calificación: 1 de 5 estrellas1/5Programación en Pascal: Desde simples programas Pascal hasta aplicaciones de escritorio actuales con Base de Datos DEV-PASCAL, LAZARUS Y PASCAL N-IDE Calificación: 0 de 5 estrellas0 calificacionesCurso de Programación con Java Calificación: 4 de 5 estrellas4/5Aprende a Programar a Python Calificación: 0 de 5 estrellas0 calificacionesIntroducción a la programación en C. Un enfoque práctico. Calificación: 0 de 5 estrellas0 calificacionesProgramacion Orientada a Objetos y Estructura de Datos a Fondo Calificación: 0 de 5 estrellas0 calificacionesAprendizaje automático y profundo en python: Una mirada hacia la inteligencia artificial Calificación: 0 de 5 estrellas0 calificacionesAprende a Programar en C++ Calificación: 5 de 5 estrellas5/5Fundamentos de Programación y Bases de Datos Calificación: 0 de 5 estrellas0 calificacionesProgramación en C# para Principiantes Calificación: 0 de 5 estrellas0 calificacionesBackbone JS. JavaScript Framework. 2ª Edición Calificación: 0 de 5 estrellas0 calificacionesProgramación estructurada a fondo: Implementación de algoritmos en C Calificación: 0 de 5 estrellas0 calificacionesEl Arte del Emprendedor Digital Calificación: 0 de 5 estrellas0 calificacionesCurso de Programación con Java - 2ª Edición Calificación: 5 de 5 estrellas5/5El gran libro de Python Calificación: 5 de 5 estrellas5/5Programación de Computadoras: De Principiante a Malvado—JavaScript, HTML, CSS, & SQL Calificación: 1 de 5 estrellas1/5Python para filósofos Calificación: 3 de 5 estrellas3/5Curso de programación Bash Shell Calificación: 0 de 5 estrellas0 calificaciones
Programación para usted
Excel de la A a la Z: El Manual Práctico Paso a Paso de Microsoft Excel para Aprender Funciones Básicas y Avanzadas, Fórmulas y Gráficos con Ejemplos Fáciles y Claros Calificación: 0 de 5 estrellas0 calificacionesGuíaBurros Microsoft Excel: Todo lo que necesitas saber sobre esta potente hoja de cálculo Calificación: 4 de 5 estrellas4/5Linux Essentials: una guía para principiantes del sistema operativo Linux Calificación: 5 de 5 estrellas5/5Python a fondo Calificación: 5 de 5 estrellas5/5VBA Excel Guía Esencial Calificación: 5 de 5 estrellas5/5Python Paso a paso: PROGRAMACIÓN INFORMÁTICA/DESARROLLO DE SOFTWARE Calificación: 4 de 5 estrellas4/5Curso básico de Python: La guía para principiantes para una introducción en la programación con Python Calificación: 0 de 5 estrellas0 calificacionesPython para principiantes Calificación: 5 de 5 estrellas5/5Tablas dinámicas para todos. Desde simples tablas hasta Power-Pivot: Guía útil para crear tablas dinámicas en Excel Calificación: 0 de 5 estrellas0 calificacionesJavaScript: Guía completa Calificación: 4 de 5 estrellas4/5Arduino. Edición 2018 Curso práctico Calificación: 4 de 5 estrellas4/5Aprende programación Python: python, #1 Calificación: 0 de 5 estrellas0 calificacionesTablas dinámicas y Gráficas para Excel: Una guía visual paso a paso Calificación: 0 de 5 estrellas0 calificacionesAprender HTML5, CSS3 y Javascript con 100 ejerecios Calificación: 5 de 5 estrellas5/5HTML para novatos Calificación: 5 de 5 estrellas5/5VBA Excel Modelo de Objetos Calificación: 3 de 5 estrellas3/5Fundamentos De Programación Calificación: 5 de 5 estrellas5/5Aprender a programar con Excel VBA con 100 ejercicios práctico Calificación: 5 de 5 estrellas5/5Arduino. Trucos y secretos.: 120 ideas para resolver cualquier problema Calificación: 5 de 5 estrellas5/5Curso de Programación y Análisis de Software Calificación: 4 de 5 estrellas4/5Diseño Web con CSS Calificación: 5 de 5 estrellas5/5El gran libro de Python Calificación: 5 de 5 estrellas5/5Lógica de programación: Solucionario en pseudocódigo – Ejercicios resueltos Calificación: 4 de 5 estrellas4/5Programación Orientada a Objetos en JAVA Calificación: 0 de 5 estrellas0 calificacionesAprende a Programar en C++ Calificación: 5 de 5 estrellas5/5Ortografía para todos: La tabla periódica de la ortografía Calificación: 5 de 5 estrellas5/5Introducción al Uso de Formularios (UserForms) en VBA Calificación: 3 de 5 estrellas3/5El Arte del Emprendedor Digital Calificación: 0 de 5 estrellas0 calificacionesProgramación Orientada a Objetos Calificación: 3 de 5 estrellas3/5
Comentarios para La Era del Código
0 clasificaciones0 comentarios
Vista previa del libro
La Era del Código - Rafael Gómez Blanes
La Era del Código
Introducción a la Programación y al Sector del Desarrollo de Software
Rafael Gómez Blanes
Primera edición - Agosto de 2022 - #01#
La Era del Código: Introducción a la Programación y al Sector del Desarrollo de Software
Copyright © 2022
Todos los derechos reservados
Rafael Gómez Blanes
www.rafablanes.com
Hub de Libros: Plataforma de Publicación Abierta
www.hubdelibros.com
Foto de portada: Robo Wunderkind (Unsplash)
A mis padres, hermana y mis hijas, Luna y Beatriz
A mi pareja Mercedes
Introducción
Mi nombre es Rafael Gómez Blanes y en este libro te voy a contar en qué consiste la programación y todo lo relacionado con la industria del software actual.
Como profesional, programar es mi vocación, y como empresario, mi pasión es crear proyectos software con la suficiente calidad y rentables.
Aprendí a programar con un Amstrad cuando apenas tenía 12 ó 13 años, más tarde hice la carrera de Ingeniería Superior en Informática en la universidad de la ciudad donde vivía, y, a día de hoy, sigue siendo lo que más me apasiona hacer.
Escribo este libro porque veo un interés creciente en aprender a «programar», algo que me satisface enormemente, y mi propósito es ayudarte a comprender mejor de qué va todo esto, incluso antes de que hayas comenzado a formarte.
Tanto si estás pensando estudiar programación a través de cualquiera de las ofertas formativas que existen para ello actualmente como módulos, universidad, «bootcamps», etc., o si estás ya dando los primeros pasos aprendiendo los rudimentos, mi propósito con este trabajo consiste en que conozcas todas las áreas relacionadas con esta actividad y qué se mueve en la industria del software actual, cada vez más dinámica y con más oportunidades.
Todo lo que te cuento en los siguientes capítulo es importante para conocer bien este sector.
También te voy a dejar claro una cosa muy importante: «programar» no consiste en aprender a usar un lenguaje de programación y nada más, o hacer que una sencilla aplicación funcione en tu ordenador.
Eso, en realidad, lo puede hacer cualquiera a menos que ponga en ello un poco de interés. Aquí de lo que hablo es de todo aquello que hay que aprender (o al menos tener nociones) para aspirar a integrarte en el equipo de trabajo de una empresa o trabajar como freelance y hacer de ello tu profesión.
Por decirlo de alguna manera, aprender a escribir algunas líneas de código con un lenguaje en tan solo la punta del iceberg, y de un iceberg muy grande, y que debes conocer para que tu formación continúe por el camino correcto y te puedas convertir más rápidamente en un desarrollador profesional.
Puedes aprender a programar en unos meses, pero convertirte en un programador amateur, júnior y después sénior o profesional, te requerirá de más conocimientos y experiencia, tal y como te cuento en el resto de capítulos de este libro.
Del mismo modo que un escritor, sabiendo escribir aceptablemente bien, puede desarrollar novelas de ficción de diversos géneros, ensayos, biografías, trabajos de divulgación y un largo etcétera, hoy día, la programación es la base estructural de un conjunto creciente de profesiones y de actividades: desde programación web, desarrollo de aplicaciones para móviles, analítica de datos, inteligencia artificial y redes neuronales hasta la programación de juegos y todo lo relacionado con la creciente criptoeconomía.
Después de veinticinco años trabajando como profesional con experiencias de muchos tipos y de haber escrito unos diez libros relacionados con el desarrollo de software, sigo afirmando que «aprender a programar es fácil, pero programar bien no es sencillo».
La programación es una actividad incremental. Te explico.
Crear con éxito una aplicación profesional (programa), es como construir un edificio: se parte de unos «planos» básicos y se comienza poniendo unos cimientos bien sólidos, conociendo muy bien los materiales de construcción, sin eso, todo el edificio se desmoronará en algún momento; después hay que construir planta sobre planta y, por último, encargarse de todo ese duro trabajo de los exteriores, la fontanería, la electricidad, etc. Y todo ello debe estar bien organizado y planificado.
Con una enorme diferencia: a diferencia del edificio del ejemplo, el software que escribes es maleable, esto es, puedes modificarlo, eliminar partes, añadir mejoras, volver a plantearlo todo y hasta mejorar esos cimientos de los que hablaba, en cualquier momento.
También te voy a explicar que en el sector de la programación existen ya no solo diversas técnicas para programar, sino que también hay diferentes roles en un equipo de trabajo, así como «formas de trabajar» (metodologías) e incluso técnicas para probar que todo lo que haces (código) funciona correctamente, y todo ello son habilidades y conocimientos más allá de conocer cómo usar un lenguaje de programación cualquiera.
Aprender C#, Java, Javascript, Python o PHP (por indicar algunos de los lenguajes más populares), es tan solo el comienzo de una carrera profesional mucho más rica y extensa: en las siguientes páginas te voy a describir los ingredientes más importantes de ella, para que tengas una visión correcta de nuestro sector y para que cuando termines de leer este libro seas capaz de ver el bosque completo.
También te quiero dar la enhorabuena por tu interés en esta actividad: a día de hoy, en el momento de escribir esto, y después de participar en más proyectos de los que recuerdo, continúa siendo lo que más me gusta hacer, aquello con lo que me gano la vida y se me pasan las horas en un estado de fluidez completo, y en un mercado cada vez más atractivo para los programadores.
Confío en que las siguientes páginas te ayuden o bien a decidirte si esta actividad es para ti o bien a comprender mejor que esto es una carrera a largo plazo y que tendrás que adquirir muchos más conocimientos además de dominar uno o varios lenguajes de programación.
Rafael Gómez Blanes
Sevilla, agosto de 2022
Y quién soy yo para hablar de todo esto
Me familiaricé con la informática en general en la época de los primeros ordenadores domésticos (Spectrum, Amstrad y maravillas similares).
Ahí nació mi interés por la programación cuando comprendí que todo lo que hacían esos ordenadores eran «programas» que se podían escribir, algo que para mí fue toda una revelación, pero, sobre todo, cuando descubrí que no era magia, sino que cualquiera podía hacer aplicaciones con los suficientes conocimientos y ganas.
Con apenas doce años, le pedí a mi madre durante un verano en el que me aburría especialmente, que me apuntara a una academia de mi barrio donde impartían clases de mecanografía y de «ordenadores»; te estoy hablando del año 86, y ya te digo yo lo que ha llovido desde entonces en lo relacionado con la tecnología el general y la computación en particular.
En aquella época, tener en casa uno de esos primeros equipos era considerado un lujo, sobre todo porque aún no se veía claramente para qué podía servir un pequeño ordenador aparte de jugar al «arkanoid», al «tetris» o al «pacman».
De modo que ese verano, y gracias a un excelente profesor que tuve, di los primeros pasos con ordenadores Msx y Commodore. Recuerdo que lo primero que escribí en uno de ellos (y me sonrojo ahora un poco al decirlo), fue: hola
, así, buscando letra por letra en el teclado con mi dedo índice, pensando, en mi mente de niño abarrotada de películas futuristas, que el ordenador me respondería de forma inteligente…
En cualquier caso, esas fueron las primeras cuatro letras que escribí en un ordenador, en una academia de barrio durante un verano caluroso que pasaba aburrido, sin saber todavía que iniciaba así un interés creciente por la tecnología en general y la programación en especial, lo que daría forma no solo a mi carrera profesional sino también a mi faceta de autor técnico años más tarde.
En los años siguientes, aprendí a hacer programas en Basic (el lenguaje que venía con el Amstrad, en el que no existía la noción de sistema operativo), Cobol e incluso lenguaje ensamblador, hasta llegar a hacer un juego con mi Amstrad CPC464 con unidad de disco 3.5" externa (todo un lujo para la época).
Durante el instituto, tuve claro a lo que me quería dedicar, de modo que me esforcé al máximo para sacar buena nota y poder entrar en la Facultad de Informática de mi ciudad (Sevilla), cuya nota de corte en aquella época era bastante alta.
Terminé la carrera sin pena ni gloria con muchas asignaturas de matemáticas, estadística, electrónica, física y hasta derecho informático e inglés técnico, y también, cómo no, de arquitectura de ordenadores, sistemas operativos, programación, estructuras de datos, redes neuronales, etc.
Combiné esos años de estudio, bastante duros, por cierto, con mis primeros trabajos relacionados con la tecnología: en una empresa de informática industrial me dieron un PC con Windows 3.11 y una silla, un manual enorme en inglés sobre programación de unos dispositivos de control, y ahí me tiré todo el verano de segundo de carrera a tercero, mejorando mis conocimientos en C (un lenguaje de programación de bajo nivel) y todo lo relacionado con el sistema que había que programar, con una media de 8 ó 12