Programación para Mortales

Un viaje desde cero hacia el mundo de la programación, sin jerga técnica ni requisitos previos.

Mi camino hacia la programación

Desde pequeño siempre hubo una computadora en casa. Mi afición por los videojuegos como Mu Online, Lineage, Counter Strike y Age of Empires, Commandos, fueron los primeros inicios de mi pasión por la tecnología. Recuerdo claramente ese día que conecté la primera vez mi PC a internet (desconectando el teléfono de línea), no podía creer lo que veía, recuerdo claramente que habíamos entrado a un sitio que podías ver tu casa desde el espacio...

Sin embargo, cuando llegó el momento de dar el salto a la educación superior e ir a la universidad, decidí intentar entrar en la carrera de ingeniería informática. Claramente, no entré ni por la puerta; no estaba en los niveles esperados por lejos, tampoco ayudaba mi motivación para estudiar, tenía 18 años, por lo que desistí y comencé a trabajar.

Los inicios

De los videojuegos a la curiosidad tecnológica

Mi primer contacto con la tecnología fue a través de los videojuegos. Aunque no lo sabía entonces, esas horas frente a la pantalla estaban sembrando las semillas de lo que vendría después.

El cambio de rumbo

De la contabilidad a la automatización

Después de dos años dedicados al trabajo y a "vagar" sin una dirección clara, mi vida dio un giro cuando decidí estudiar contabilidad. Ahí empecé a crecer como profesional, trabajé en varias empresas y creo que me fue bien, finalmente me encontraba en un empleo que no solo me gustaba, sino que también me proporcionó amigos y muchísimo aprendizaje.

Sin embargo, al cabo de un año, un término nuevo llegó a mis oídos: "automatización de procesos". Esto me introdujo a la idea de que muchas cosas que estábamos realizando a mano en Excel o Word podían hacerse de forma automática, me volví loco.

El descubrimiento

De Excel a la programación web

Este descubrimiento me llevó a aprender más sobre las macros en Excel. Incluso mejoré mi canal de YouTube llamado "Excel-ente", donde compartía proyectos y enseñanzas. A medida que profundizaba en este campo, me di cuenta de que me estaba quedando "corto" con las herramientas que creaba, especialmente porque necesitaba una forma de permitir que varios usuarios interactuaran con las aplicaciones y gestionar la información de forma más eficiente.

Fue entonces cuando descubrí Django, un framework que me permitió desarrollar aplicaciones web sin necesidad de ser un experto en HTML, CSS o JavaScript. Django abrió un nuevo mundo de posibilidades y me permitió profundizar en el desarrollo de aplicaciones más robustas y profesionales de una manera simple y segura.

Expandiendo Horizontes

Dominando la Nube y las Herramientas DevOps

Luego de afianzar mis conocimientos en Python y Django, mi curiosidad me llevó a explorar el ecosistema completo del desarrollo. Aprendí a gestionar mi código con GitHub, una herramienta esencial para cualquier programador.

Me adentré en el mundo de la nube con Amazon Web Services (AWS), donde comencé desplegando mis aplicaciones en instancias EC2. Esto implicó aprender sobre grupos de seguridad, gestión de usuarios con IAM, cómo conectarme de forma segura vía SSH y la importancia de habilitar los puertos correctos para que mis aplicaciones fueran accesibles.

Esta etapa también fue clave para aprender el manejo de servidores Linux, utilizando tanto Nginx como Apache como servidores web, y a gestionar los servicios que corrían en ellos.

Hacia la Nube Avanzada

Desarrollo Escalable y Gestión por API

Buscando mayor flexibilidad y control, migré mis proyectos a DigitalOcean. Aquí profundicé en la gestión de infraestructura enteramente a través de su API, lo que me permitió automatizar la creación de droplets (servidores virtuales) y enfocarme en mejorar las prácticas para diseñar aplicaciones más complejas, interconectadas y que consumen diversos servicios externos mediante APIs.

El Salto a la IA

Creando Aplicaciones Inteligentes con LLMs

El último gran salto en mi aprendizaje ha sido sumergirme en el fascinante mundo de la Inteligencia Artificial. Comencé a aprender Langchain, una poderosa librería para trabajar con Modelos de Lenguaje Grandes (LLMs), lo que me ha permitido empezar a crear aplicaciones como chatbots y flujos de trabajo "inteligentes", abriendo un abanico de posibilidades completamente nuevo.

"La programación no es solo para genios o personas con formación técnica. Es una herramienta poderosa que cualquiera puede aprender y utilizar para transformar su vida profesional y personal."

— Un programador mortal

¿Por qué "Programación para Mortales"?

Este libro está escrito desde la perspectiva de alguien que no comenzó en el mundo de la programación por el camino tradicional, pero que encontró en ella una vocación y un conjunto de herramientas increíblemente poderosas para cambiar su entorno laboral y personal.

La idea principal es que, sin importar tu formación inicial o tus intereses previos, puedes aprender a usar la programación para transformar y mejorar tus proyectos, ideas o mejorar profesionalmente.

Este libro es para ti si:

  • Nunca has programado antes y quieres empezar desde cero
  • Te intimida la jerga técnica y los conceptos complejos
  • Quieres aprender a programar para resolver problemas prácticos
  • Buscas mejorar tus habilidades profesionales
  • Tienes curiosidad sobre cómo funciona la tecnología que usas a diario

A lo largo de estas páginas, te guiaré paso a paso en un viaje que comienza con los conceptos más básicos (¿qué es programar?, ¿cómo piensan las computadoras?) y avanza gradualmente hacia habilidades más avanzadas, siempre manteniendo un lenguaje claro y accesible.

No encontrarás aquí términos rebuscados ni explicaciones que requieran un doctorado para entenderlas. Este es un libro escrito por un mortal para otros mortales, con ejemplos prácticos, analogías cotidianas y actividades interactivas que te ayudarán a comprender cada concepto.

No importa si nunca tocaste código. Yo tampoco sabía nada. Pero si llegaste hasta acá, ya diste el primer paso.

¿Listo para comenzar tu viaje?

La programación puede parecer intimidante al principio, pero te prometo que, con paciencia y práctica, descubrirás un mundo de posibilidades que transformará tu forma de pensar y resolver problemas.

Comenzar con el Capítulo 1