Cumplí mi primer año escribiendo código a tiempo completo durante alguno de los 31 días de agosto que concluyeron recientemente.
Honestamente, no puedo creer cuan rápido ha pasado el tiempo. Recuerdo leer varios artículos de diferentes programadores sobre sus primeros años escribiendo código. Me dije: “Cuando cumpla mi primer año escribiendo código, escribo sobre mi experiencia”. Wow, un año más tarde, ya me toca escribirlo.
Quiero comenzar esta introspección notando que el cambio que hice de carrera a desarrollo web fue una decisión muy acertada. No pensé que escribir código para desarrollar la web me motivara tanto.
Resolver un problema en código me da dopamina. Esa dopamina es similar a la que sientes cuando recibes un ‘Me Gusta’ a través de las redes sociales.
Entiendo perfectamente que esta motivación no todas las personas la alcanzan inicialmente. Cada cual tiene sus diferentes estilos en procesar información nueva. Pero, si eres consistente, cada nuevo reto programático fluirá con menos dificultad.
Nuevo Reto: Escribir Código
Aunque cumplí mi primer año escribiendo código a tiempo completo pero decidí aprender a escribir código varios meses antes. Durante ese periodo, estuve buscando y tratando multiples recursos en línea. Perdí la cuenta de cuántos recursos intenté aprender, pero sólo unos pocos me dieron ese momento de ‘Ajá’. Mi artículo Recursos para programadoras(es) novatas(os) lista los diferentes recursos que sí me han ayudado a aprender programación.
Escribo esto porque puede desmotivar el querer aprender sobre desarrollo web por cuenta propia ese proceso de buscar recursos. Muchas veces me sentí como tonta. Luego de esforzarme a entender conceptos básicos, sentía que no entendía el lenguaje. Sentía que el lenguaje era muy abstracto y que este mundo no era para mí.
Pero luego me di cuenta, que no era yo la tonta. Me di cuenta que los recursos que estaba utilizando, no son un tipo de recurso que me ayuda a entender. Por ende, tenía que entender de mí misma que tipo de recurso me ayuda.
Aprendiendo a aprender
Entendí esto luego de leer el libro, Learning to Program de Steven Foote. Desde el primer capítulo, ya estas realizando un ejercicio de programación que puedes asimilar con proyectos reales. Te enseña a realizar un plugin para bloquear Facebook de tu browser. No usaba las redes sociales antes de comenzar este blog. Así que, me pareció una forma muy genial de captar mi atención.
También Steven Foote escribe a tono con lo que mi cerebro entiende. Sentía que leía a un colega, no a un profesor erudita. Por eso no puedo dejar de recomendar el libro.
Nota: Si te interesa este libro, puedes comprarlo utilizando mi enlace afiliado aquí (Learning to Program – Steven Foote). Agradecería grandemente que utilices el enlace pues me gano una pequeña comisión si realizas la compra a través de éste.
Comprendí que mi forma de aprender desarrollo de web no es meramente realizar ejercicios teóricos sino prácticos. Así qué, me propuse trabajar en una serie de proyectos personales. Con estos proyectos, yo iba a aprender sobre lenguajes que son comúnmente utilizados en la industria actual. También, ir creando mi portfolio profesional.
Primer año escribiendo código
Cuando haces una búsqueda sobre aprender a programar por cuenta propia, uno de los proyectos que encuentras es (#100DaysofCode). El proyecto consiste en un reto de escribir código por 100 días corridos. En un principio, me estuvo muy interesante este reto porque es una forma de obligarte a estructurar tu tiempo. Así es más llevadero aprender por tu cuenta un tema difícil.
Eventualmente, no empecé con este tipo de proyecto. Reconozco que me pongo demasiada presión a mí misma para cumplir con los objetivos. Reconocí que para yo aprender algo, necesito tomar mi tiempo. Si trato de apresurarme, me frustro y le cojo manía al tema. Si quería hacer un cambio de carrera, no podía comenzarla con alguna puya negativa.
Ahora, ¿cómo podía estructurarme a aprender a programar si no quiero empezar con un ejercicio básico de comprometerme a escribir código por 100 días corridos?
Buscando diferentes recursos para una programadora novata
Tuve otro momento de ‘Ajá’ cuando encontré los cursos de Wes Bos de Javascript 360.
Se compone de 30 videos, donde construyes 30 diferentes proyectos. Lo excelente de este curso es que estás practicando escribir código de elementos que vas a utilizar comúnmente. Además de que es fácil de seguir porque Wes explica muy bien. Por lo que puedes asimilarlo rápidamente a lo que estarías topando en el día a día. Utilizo estos videos de referencia aún, y mucho.
Aunque el concepto del curso es de seguir cada video por 30 días, yo los seguía a mi tiempo. Había días donde estaba lo suficiente motivada como para seguir y practicar con 3 videos corridos. Mientras que otros días, no hacía ninguno.
Ahora, cada vez que practicaba, sentía la diferencia. Cuando comenzaba a construir un nuevo componente, sabía que podía seguir por mi cuenta. A diferencia de observar cómo se llevaba a cabo antes de yo intentar.
Entonces llegó mi primera oportunidad para poner mi práctica en prueba
Nueva programadora creando un contador de compromisos
Una amiga estaba a cargo de organizar una mesa para una feria sobre conciencia ecológica. Su grupo quería llevar a cabo una actividad. Los participantes debían comprometerse al hacer un cambio sencillo que ayude al ambiente.
Mi amiga estaba buscando una aplicación donde ella pudiera crear varios contadores con imágenes y texto personalizados. Estos textos tenían referencia a los compromisos pre establecidos para los participantes de la mesa.
Para este entonces, ya había realizado varios video de Wes Bos. También, había trabajado en el tutorial de Zell Liew de cómo crear una calculadora. Por lo que me sentía cómoda en tomar este reto.
Mi amiga y yo llegamos a un acuerdo. Yo iba a trabajar en sus especificaciones para yo practicar escribir código. Si terminaba a tiempo, se lo iba a enviar para que lo pudiese usar.
A continuación, parte del producto final. Utilicé HTML, CSS y puro Javascript.
Esta aplicación me tomó un poco menos de una semana de trabajo. No sabría si ese tiempo es mucho o poco tiempo, pero pude cumplir con la fecha límite. Por lo tanto, mi amiga lo pudo utilizar para su respectiva actividad.
Mi amiga me dejó saber que las reacciones de los participantes y compañeros de grupo fue de mucha emoción. También se asombraron de que ella pudiese conseguir algo tan personalizado.
Este proyecto, me abrió el apetito de seguir trabajando en esto. Ese cantazo de dopamina que recibí luego de escuchar las retroalimentación de mi amiga fue de mucho empoderamiento. Sentir que pude resolver algo por mi cuenta utilizando código se sintió muy bien.
Programadora junior haciendo su portafolio
Me pareció buena idea trabajar en mi portafolio. Así me daba tiempo a que se me ocurría otro problema tonto a resolver o surgiera otra oportunidad. Tuve esta idea porque leí muchos artículos sobre la importancia de crear un portafolio para tener credibilidad en la industria. El portafolio es tu forma de demostrar quien eres y que producto final eres capaz de proveer.
Aprendí mucho sobre animaciones porque originalmente quería que mi portafolio tuviera algunas. Las practicas fueron tanto en gif como en CSS y estilos. También quise crear mi portafolio desde cero practicar escribir código. Sin alguna plantilla.
Primero comencé mi portafolio en HTML, CSS, y Javascript. Pero, una vez aprendí ReactJs y Express, migré el portafolio a estos marcos. Más adelante comento sobre esta experiencia.
El detalle de escribir un portafolio desde cero, se puede debatir si vale la pena, o no, hacer. Hoy día, hay muchos plantillas que facilitan la vida de cualquier desarrollador al momento de sacar trabajo.
Pienso que, si no tienes algún otro proyecto en el cual trabajar o no se te ocurre alguna idea, no es mala practica hacer un portafolio desde cero. Pero, no es algo que tienes que hacer para demostrar tus habilidades como programadora (o).
Ahora, este proyecto lo dejé a mitad.
No terminé este proyecto porque nunca me decidí, ni mantuve firme, en el diseño del portfolio. Cada vez que buscaba inspiración, me antojaba de hacer otra cosa. Por lo que, cada vez que me sentaba a escribir código para el portafolio rehacía todo el diseño. También comenzaba desde cero.
Algún día terminaré mi portafolio para destacar mis diferentes proyectos. Mientras tanto, me quedo trabajando en este blog que NO escribí desde cero. Hecho con plantillas y complementos de WordPress.
TAIR
Mi primer proyecto en el cual trabajé en conjunto con mi pareja ocurrió también este año pasado. TAIR (Tokenized Airtime) fue una iniciativa de mi pareja que buscaba automatizar la captura de eventos ocurridos en ondas radiales. Mi rol en el proyecto era velar por la calidad de la herramienta.
Para facilitar el proceso de revisión de calidad, diseñé un sistema. Automatizaba gran parte del trabajo que ya estaba realizando de forma manual. Parte del trabajo consistía en cortar y pegar clips de audio para luego categorizarlos. El sistema estaba diseñado con ReactJs y NodeJs. También utilizaba WaveSurfer Js para trabajar con el audio.
Por encontrarnos sobrecargados de trabajos que pagan las cuentas, dejamos de trabajar el proyecto. Así que no pudimos completar la implementación del sistema. Pero, nuevamente, aprendí muchísimo sobre los marcos de referencia y especialmente sobre implementaciones de elementos tipo audio.
Sistema de manejo de contenido
En la sección Sobre Mi de ctrl-y blog, menciono que mi pareja estaba sobrecargado de trabajo. Por lo que decidió delegarme parte de ese trabajo para enseñarme a programar. De este proyecto en adelante, fue que comencé a escribir código a tiempo completo. ¡Ya llevo un año en estas!
Este proyecto consistía en rediseñar y migrar el sistema de manejo de contenido de uno de sus clientes.
Hace unos párrafos arriba, mencioné que migré mi portafolio de HTML, CSS y Javascript a ReactJs y ExpressJs una vez aprendí sobre estos marcos de referencia. Este fue el proyecto que me inspiró a hacer ese cambio.
Este proyecto consiste de un rediseño de algo que ya llevaba años implementado. Asel acercamiento a este nuevo reto era algo diferente a todo lo que me había topado hasta ahora. Esta vez, tenía data para diseñar e implementar la parte frontal (“Front-End”) de la plataforma de manejo de contenido. Este rediseño me tomó alrededor de 6 meses en completar.
El rediseño de la plataforma ha sido muy bien acogida por los empleados quienes la utilizan. Además de que mi pareja recibe mucho menos llamadas sobre problemas con entrada de información. Es un ganar-ganar (“win-win”).
Escribir código para CINCO Engineering
CINCO Engineering es una empresa nuevo. Su producto es desarrollado en la web para los manejos de riesgos en la industria de ciencias de la vida. He participado continuamente en el desarrollo de este producto por casi un año (cumplo el año en noviembre 🥳) .
La oportunidad de trabajar en este proyecto se presentó de manera inesperada, pero estaba lista para tomar el reto. El producto me pareció tan interesante sobretodo porque trabajé en la industria. Conozco de primera mano cuan tedioso puede ser un proceso de documentar el riesgo de un producto, sistema, ó facilidad. Esta es mi oportunidad para ayudar a mis colegas ingenieros en manufactura en facilitar su trabajo.
Conoce a CINCO entrando aquí.
He tenido la oportunidad de trabajar en varios marcos de referencia en lo que va de este proyecto. No divulgaré detalles de los lenguajes que estamos utilizando por cuestiones de privacidad pero esta oportunidad ha sido excelente prueba. He tenido que intercalar entre la mentalidad de ingeniera de calidad y programadora de web.
No me tomen a mal. Durante mi bachillerato en Ingeniería Industrial tuve que hacer programas y algoritmos, etc. Pero era más enfocado hacia máquinas industriales, máquinas de producción en masa, ó cálculos estadísticos. No eran programas enfocados en la web. Así que para mí, esta forma de mejorar procesos a través de la web es nuevo. También, interesante y me motiva muchísimo.
🎶No, pares. Sigue, sigue. 🎶
Dado a que ha sido un año muy alentador en cuanto mi dirección y motivación profesional seguiré trabajando y aprendiendo como lo he estado haciendo hasta ahora.
Siento que apenas comienzo a entender un tema que es más complejo. Mientras mejor lo entienda, más oportunidades de resolver complejidades aparecerán, sea en los proyectos corrientes o futuros. Así que, me quedo escribiendo código, feliz.
¡Gracias por leer!
Puedes obtener notificaciones de nuevos artículos directamente a tu buzón electrónico registrándote en el siguiente enlace.
Artículos relacionados
Los siguientes artículos de CTRL-Y están relacionados a este escrito. ¡Deberías de echarles un vistazo!
- 5 razones por las cuales las mujeres deben de considerar una carrera en desarrollo web
- Recursos para programadoras web novatas
- Aprende a programar: Bajando el pedestal de programación
- HTML para Principiantes
- HTML: Atributos de etiquetado
- HTML: Anidar etiquetas
- Arquitectura de capas para NodeJs
- Filtrando con GraphQL y Prisma: Que NO hacer
- Oficina en casa noctámbula
Punto aparte – Una lista de reproducción para ti
Este artículo fue escrito mediante escuchaba este listado de reproducción que creé de la discografía de la banda indie inglesa Bombay Bicycle Club. Llevo siguiendo a esta banda desde que aprendí de ellos en el 2012. Ellos tocaban en el festival Lollapalooza en Chicago 2012. Los vi en el cartel y su nombre me pareció muy curioso así que los busqué y escuché. Me enamoré instantáneamente de su música. Ellos lanzaron recientemente un sencillo musical luego de 5 años de pausa de la banda. Su nuevo sencillo “Eat, Sleep, Nothing but You” es un buen indicador de que el album va a ser otra obra genial.