×
Gonzalo Fernández

Gonzalo Fernández

Senior Software Engineer & Lecturer

Santiago, CL
(+56) 9 7651 0064
Español, Inglés

Background


About

About

De pequeño me han apasionado las ciencias de la computación. Comencé mis primeros proyectos a los 10 años, desarrollando plugins para videouegos online. Desde entonces, he estudiado distintas áreas de la informática, siendo la ingeniería de software y la docencia en informática mis principales focos. Ya van más de 15 años de experiencia desarrollando software, liderando equipos, aprendiendo día a día y enseñando a otros a programar

Work Experience

Work Experience

  • Senior Software EngineerOutbuild

    Nov, 2023 - Present

    Outbuild es una startup de Estados Unidos enfocada en la gestión de proyectos inmobiliarios, brindando las herramientas necesarias para aplicar los principios del Lean Construction, a través de métricas, alertas, reportes y facilidades para colaborar. En este equipo, tomé un rol de desarrollador y arquitecto, apoyando a la resolución de deuda técnica, diseñando con el CTO las nuevas funcionalidades que posteriormente implementaría, definiendo ADRs y otra documentación técnica, y mentoreando al equipo para aumentar el seniority de cada uno

    • Mejoras en la arquitectura de la aplicación

    • Optimización de consultas de alto impacto a la base de datos

    • Mejorar la calidad del código y la cobertura de tests

    • Definir estándares de programación, partiendo por forzar el formateo de código

    • Resolver deuda técnica a lo largo de distintos artefactos

    • Mejorar el valor de la información que se entrega a los clientes

    • Javascript

    • React

    • NodeJS

    • Java

    • AWS

    • Serverless

    • PostgreSQL

  • ProfesorUniversidad Diego Portales

    Mar, 2024 - Present

    Tomé el curso de Desarrollo Web y Móvil en la Facultad de Ingeniería de la UDP. En este ramo, se enseñan las bases de la programación en Javascript, así como también, las buenas prácticas de desarrollo de software, y los fundamentos de arquitectura de software necesarios para llevar a cabo un proyecto de este tipo. A lo largo de mis clases enseño frameworks, bibliotecas, herramientas y patrones, los cuales luego permiten a mis estudiantes desarrollar aplicaciones web y móviles de manera independiente, siendo su creatividad el límite

    • Curso Desarrollo Web y Móvil 2024-01

    • Curso Desarrollo Web y Móvil 2024-02

    • Javascript

    • React

    • NodeJS

    • Express

    • MongoDB

    • Diseño de Interfaces

    • Arquitectura de Software

  • ProfesorUniversidad de los Andes

    Jul, 2024 - Present

    Se me invitó a formar parte del equipo de profesores de la Universidad de los Andes, en la Facultad de Ingeniería y Ciencias Aplicadas, para impartir el curso de Desarrollo de Aplicaciones Móviles. En este ramo, se enseñan las bases de la programación en React Native, así como también, las buenas prácticas de desarrollo de aplicaciones móviles, y la arquitectura de software necesaria para llevar a cabo un proyecto de este tipo. Además, se enseñan conceptos de diseño de interfaces, arquitecturas serverless, y la integración de servicios en la nube

    • Curso Aplicaciones Móviles 2024-02

    • React

    • Javascript

    • React Native

    • NodeJS

    • AWS

    • Google Cloud

    • Serverless

    • Diseño de Interfaces

    • Arquitectura de Software

  • Technical LeadWalmart Chile

    Mar, 2023 - Nov, 20238 months

    Al volver a Chile, se me colocó como líder técnico en el equipo encargado del Carrito de la aplicación móvil de Walmart Chile: la LiderApp. En este equipo, trabajamos en la mejora de la experiencia de usuario en el proceso de compra, así como también en la implementación de nuevas funcionalidades y mejoras en la arquitectura de la aplicación. Además, capacité a mi equipo en buenas prácticas sobre Javascript y React Native, dado que su principal background técnico era Java, y no tenían mucha experiencia en el desarrollo de aplicaciones móviles. Durante mi estadía, logramos mejorar muchas métricas de satisfacción de los clientes, así como también disminuir la cantidad de errores en la aplicación

    • Lideré un equipo de 7 personas

    • Mejoré la experiencia de usuario en el proceso de compra

    • Adapté la arquitectura de la aplicación para manejar múltiples carritos

    • Añadí una capa de observabilidad al carrito de la aplicación

    • Implementé métricas de sistema para analizar curvas de errores y uso

    • Preparé material de capacitación y realicé mentorías

    • Implementé nuevos servicios en la capa de GraphQL utilizada

    • Gestioné distintas reuniones de cara a mejorar el ecosistema

  • Senior Software EngineerWalmart

    Jan, 2023 - Mar, 20232 months

    Fui uno de los 10 seleccionados de Walmart Chile para trabajar durante 2 meses, de manera presencial, en las oficinas de Walmart en Sunnyvale, California. El objetivo fue aprender lo más posible sobre las prácticas, tecnologías, patrones, arquitecturas y herramientas que allí utilizan, para luego traer todo ese conocimiento a Chile. Durante mi estadía, trabajé en el área de Payments México, equipo encargado del carrito de compras y checkout de Walmart México, donde pude aportar en la implementación de un nuevo sistema de pagos, así como también en la mejora de la experiencia de usuario en el proceso de compra, todo esto sobre el gran sistema de e-commerce de Walmart para distintos países

    • Trabajé de la mano con ingenieros de software de USA, India y México

    • Mejoré mis habilidades de comunicación y trabajo en equipo en inglés

    • Trabajé sobre arquitecturas multi-tenants y APIs basadas en GraphQL

    • Integración a nivel de frontend y api-proxy de un servicio de pago

    • Documentación de todo lo aprendido durante la estadía

  • Senior Software EngineerWalmart Chile

    Oct, 2020 - Jan, 20232 years 2 months

    Trabajé en el equipo de Customer Engagement, donde aporté a la mejora y evolución de un software de gestión y búsqueda de órdenes de compra. Este software se encargaba de almacenar la información de los productos y el estado de cada una de las órdenes de compra de Walmart, con el fin de poder informar al cliente cual es el estado de su compra. Dada la cantidad de información que tenía que almacenar, indexar, y recuperar de forma rápida, ocurrían muchos problemas asociados a pérdida de órdenes, o bien, falta de actualización en los estados. Dado que otros equipos necesitaban integrar sus servicios en nuestra plataforma, trabajé también en la gestión e implementación de otros contextos a través de micro frontends, en paralelo a la implementación organizacional de un diseño basado en dominios, afinando todo el lenguaje compartido y la arquitectura de la aplicación

    • Migración del monolito a microservicios

    • Migración del sistema de la nube local, a la nube en Walmart USA

    • Implementación de OAuth2 como estándar de autorización

    • Separación de la escritura y lectura del sistema, implementando el patrón CQRS

    • Aumento de la capacidad de procesamiento de órdenes

    • Eliminación de toda la deuda técnica medida por SonarQube

    • Aumento del coverage a 95%

    • Lideré la integración de micro frontends en el dominio

    • Migración a una base de datos no relacional, mediante un modelo de datos append-only

    • Disminución de los tiempos de respuesta de la aplicación en un 50%

    • Disminución en un 95% de los errores de la aplicación

    • Implementación de herramientas de observabilidad y obtención de métricas de cliente

    • Charlista destacado en distintas instancias para presentar sobre mantenibilidad, buenas prácticas y mejoras en el ecosistema

    • Elegido para programa Short-Term Assignment en Walmart USA

  • ProfesorCoderhouse

    Jul, 2022 - Jan, 20241 year 5 months

    Realicé clases de programación online para hispanohablantes a lo largo de todo el mundo, siguiendo los programas definidos por Corderhouse para los cursos de Introducción a Javascript y Programación en Backend. Al tomar y finalizar los cursos, mis estudiantes obtenían las habilidades necesarias para desarrollar una aplicación en Javascript desde la concepción básica del frontend, hasta un diseño refinado, escalable y seguro del backend. Además, se les enseñaba a trabajar en equipo, a utilizar herramientas de control de versiones, y a seguir buenas prácticas de programación

    • Enseñé a cientos de estudiantes de distintos países

    • Calificado sobre 4.9 de 5 en promedio

    • Bases de Datos no Relacionales

    • Serverless

    • CI/CD

    • Docencia

    • Javascript

  • Ayudante y ProfesorUniversidad Técnica Federico Santa María

    Mar, 2017 - Jun, 20236 years 4 months

    A partir de mi segundo año en la carrera, trabajé como ayudante de diversos ramos, así como también, profesor en algunos casos. En general, mi labor consistía en apoyar a los estudiantes en la resolución de dudas, corrección de tareas y certámenes, también preparé mucho material de estudio. En los últimos años, fui coordinador del ramo de introducción a la programación que todas las carreras debían rendir, y donde semestre a semestre tuve que coordinar más de 10 ayudantes distribuídos en los distintos paralelos, en conjunto con los coordinadores del ramo en los otros campus de la universidad

    • Más de 1000 estudiantes han pasado por mis clases

    • Ayudante del ramo de Programación

    • Ayudante del ramo de Estructuras de Datos

    • Ayudante del ramo de Análisis y Diseño de Software

    • Ayudante del ramo de Ingeniería de Software

    • Ayudante Coordinador del ramo de Programación

    • Profesor del taller YoC+ de introducción a Python y C++

    • Profesor del taller de Programación Competitiva

    • Delegado de TI del Centro de Estudiantes de Informática

  • Software EngineerEuropean Southern Observatory

    Jan, 2020 - Mar, 20202 months

    Trabajé como practicante en apoyo al área de investigación y desarrollo del obserbatorio Atacama Pathfinder EXperiment (APEX), ubicado en el desierto de San Pedro de Atacama. Durante mis turnos, desarrollé el proyecto APEX Commuting Log, el cual consistía en una aplicación web responsiva donde se registraban los viajes desde y hacia el radiotelescopio ubicado a 5000 metros de altura. La aplicación permitía a los usuarios registrar sus viajes, y a los administradores, llevar un control de los vehículos y personas que se encontraban realizando actividades en la antena.

    • Al día de hoy, el proyecto sigue en uso

    • Elaboración de manual técnico y de usuario

    • SQL

    • Python

    • Javascript

    • React

    • MySQL

  • Software EngineerWholemeaning

    Jan, 2019 - Feb, 20191 month

    Trabajé como practicante en apoyo para la migración a microservicios que estaba realizando la empresa. En una primera etapa, aprendí mucho sobre Kubernetes, Jenkins, CI/CD y Docker, para entonces programar el pipeline de CI/CD del backend principal. Luego de eso, extraje del monolito la funcionalidad de recopilación de comentarios en redes sociales, y la convertí en un microservicio independiente, el cual ahora en vez de leer el comentario y analizarlo, crea un evento por cada comentario obtenido, y lo publica en su respectiva cola para que un futuro microservicio lo reciba y analice según corresponda, todo esto con el fin de mejorar la escalabilidad y mantenibilidad del sistema, así como también ahorrar costos de nube.

    • Reducción considerable de los gatos en scrapping

    • Aumento de la capacidad de procesamiento de comentarios en redes sociales

    • Sistemas Basados en Eventos

    • Java

    • Microservicios

    • Kubernetes

    • Docker

    • CI/CD

    • Jenkins

  • Web & Mobile DeveloperFoodSys

    Jan, 2017 - May, 20192 years 4 months

    Un innovador proyecto que busca ser el marketplace de alimentos entre empresas y personas. Aquí junto con otro desarrollador trabajé en la plataforma web encargada de gestionar la recopilación de datos de clientes, productores y transportadores, así como también la compra y venta de productos alimenticios por parte de los clientes y productores. Desarrollé también la aplicación móvil, la cual sería parecida a Uber en el sentido de aquellos transportistas que la tuviesen instaladas, se encargarían de realizar el traslado de los productos desde el productor hasta el cliente, pasando por puntos intermediarios de ser necesario. Todas las rutas eran entregadas desde la web, generadas a través de un algoritmo genético.

    • Proyecto presentado en la FAB13 de Santiago

    • Laravel

    • PHP

    • Sistemas Basados en Eventos

    • Mobile

    • Android

    • Desarrollo Full-Stack

  • Desarrollador Full-Stack & Co-FounderEnlazza

    Feb, 2016 - Present

    Dada la escacés de IPs v4, diseñe y desarrollé un sistema capaz de exponer a internet, a través de un cluster de servidores VPN, aquellos routers celulares que se encontraban bajo Carrier Grade NAT (CGNAT). Es decir, dado que no era posible acceder directamente al router desde internet, se creó un sistema que permitía a los usuarios conectarse a un servidor VPN, y desde ahí, acceder a los routers celulares de manera segura y eficiente. Además, desarrollé un sistema de monitoreo y alertas para los servidores VPN, el cual permitía detectar y solucionar problemas de manera proactiva. Esta empresa deriva de mi trabajo en Wamtech, y al día de hoy, en ocasiones brindo asesoría en el desarrollo de nuevas soluciones sobre la base.

    • Laravel

    • PHP

    • AWS

    • Linux

    • Networking

    • APIs

    • Desarrollo Full-Stack

  • Practicante de TelecomunicacionesWamtech

    Nov, 2015 - Feb, 20163 months

    Práctica para optar al título de Técnico Medio en Telecomunicaciones, donde realicé distintas tareas de soporte y mantenimiento para routers celulares de marca Digi. A mediados de la práctica, comencé a realizar tareas de desarrollo de software para la empresa, con el fin de darle un valor añadido a los routers de la mano de aplicaciones personalizadas para los mismos. En general, todo giraba en torno a la telemetría de los dispositivos conectados a los routers, los cuales eran muchísimos y se encontraban en lugares de difícil acceso a lo largo del país.

    • Desarrollo de aplicaciones en entornos con problemas de internet

    • Soporte y mantenimiento de routers celulares

    • Manejo de redes WAN y LAN

    • Desarrollo de aplicaciones IoT

    • Presentación de proyectos en la Expomin

Projects Experience

Projects Experience

  • Talleres OCILabs

    Jun, 2019 - Present

    Una iniciativa gratuita con la misión de acercar la programación a estudiantes escolares de todo el país, a través de clases online por la plataforma Discord. Estos vienen realizandose desde 2019, y al día de hoy, han pasado más de 5.000 estudiantes por nuestros cursos, lo que nos impulsa a seguir llegando a todas las regiones de Chile para introducir a más alumnos y alumnas en el pensamiento computacional. Es por esto que continuamos mejorando y puliendo año a año la modalidad de nuestras clases online, para guiar todos y todas quienes quieran adentrarse en el mundo de la programación

    • Iniciativa completamente gratuita para jóvenes de 7mo a 4to medio

    • Más de 5000 estudiantes han aprendido programación gracias a los talleres

    • La arquitectura, sistemas y tecnología utilizada está optimizada al máximo para ahorrar en costos

    • Más de 10 estudiantes de nuestros talleres han clasificado en las Olimpiadas Chilenas de Informática

    • Más de 100 tutores y tutoras nos han apoyado en este largo proceso

  • Ishvel: un Framework para la Elaboración de Tareas en Cursos Introductorios de Programación

    Jan, 2019 - Jan, 20212 years

    Con el fin de apoyar la creación y evaluación de tareas en el curso de programación IWI-131 de la UTFSM, propuse una metodología para determinar la dificultad de una tarea en base al código que la resuelve. Para esto, se utilizan distintas métricas de software, las cuales son calculadas para cada tarea a lo largo de cada semestre. Además, implementé un editor web de tareas que permite mejorar el diseño de futuras tareas, en base a las métricas y percepción general de tareas anteriores, optimizando así los aspectos formativos y evaluativos para los estudiantes

    • Tesis para obtener el título de Ingeniero Civil en Informática, aprobado con nota máxima

    • El código del proyecto se encuentra en https://github.com/VadokDev/Ishvel

  • TKuento

    Dec, 2020 - Aug, 20203 months

    Trabajé en el desarrollo de una aplicación móvil de audiolibros en español, que se enfoca en la ficción sonora y cuentos dramatizados con música y efectos sonoros. Está diseñada para hacer que la experiencia de escuchar cuentos sea más inmersiva y entretenida. TKuento ofrece un catálogo de relatos originales y clásicos de la literatura latinoamericana y mundial, los cuales puedes escuchar mediante una suscripción gratuita o premium. Con la suscripción premium, los usuarios tienen acceso ilimitado a todo el contenido disponible

    • Aplicación móvil disponible en Google Play Store y App Store

    • Proyecto financiado con fondos CORFO

    • Desarrollada en React Native

  • MOSS-UTFSM

    Apr, 2020 - Dec, 20207 months

    Cliente para el sitema MOSS (Measure Of Software Similarity) de Stanford, personalizado para el curso de Programación IWI-131 de la Universidad Técnica Federico Santa María. El objetivo de este proyecto era facilitar el proceso de revisión de copia entre estudiantes a lo largo de todos los campus de la universidad. Una vez que se suben los archivos de los estudiantes, el sistema se encarga de compararlos y mostrar los resultados de similitud en una interfaz web, para luego almacenar estos archivos en la nube a modo de registro histórico

    • Proyecto utilizado desde el 2020 a lo largo de todos los campus de la UTFSM

    • Se redujo considerablemente la copia entre estudiantes a medida que estos veían el potencial del sistema

  • e-maxx-es

    Jan, 2020 - Present

    Traducción al español del sitio http://e-maxx.ru/, en conjunto con la comunidad de Programación Competitiva de la Universidad Técnica Federico Santa María

    • Única versión en español de la plataforma

    • De a poco se empezó a sumar más gente a proyecto, generando así una intersante comunidad

    • Gran apoyo para quienes representaron y representan a la UTFSM en competencias de programación

  • dBarrio

    Mar, 2020 - Dec, 20209 months

    La aplicación móvil “dBarrio” nace por la necesidad de los estudiantes de presentar un proyecto para la “Feria de Software”. Bajo el slogan: “Lo que el barrio necesita, el barrio lo entrega”, esta nueva aplicación ofrece a los negocios del sector no solo ser ubicados fácilmente en el mapa de la App, sino también le permite al vecino ingresar al perfil del local que le interese, conocer los productos que vende, saber si está abierto o cerrado, enterarse cuándo llegan otros productos y hasta recibir notificaciones con ofertas personalizadas luego de que el cliente se suscriba. Y si la experiencia fue gratificante para el usuario, éste podrá dejar una recomendación para motivar a otros vecinos a comprar en dicho local

    • Proyecto ganador de la Feria de Software de la Universidad Técnica Federico Santa María

    • Financiado por fondos Corfo adjudicados a través del programa Semillero USM

    • Emprendimiento publicado en distintos medios de la prensa chilena

  • Examination Timetabling Problem Solver

    Oct, 2020 - Jan, 20212 months

    Paper de investigación respecto del estado del arte del Examination Timetabling Problem, así como también, una propuesta de solución basada en la aplicación de los algoritmos Backtracking + Forward Checking, el programa retorna una calendarización de exámenes tal que ningún estudiante tendrá 2 exámenes o más al mismo tiempo y la cantidad de horarios utilizada sea la mínima posible, a su vez, el la solución minimizará la penalización asociada a qué tan juntos quedan los exámenes para cada estudiante, de modo tal de dispersar lo mejor posible éstos siempre manteniento el mínimo uso posible de horarios

    • Primer acercamiento práctico a la redacción de un paper

  • Solución en CUDA para el Employee Shift Scheduling Problem

    Jan, 2019 - Apr, 20201 year 2 months

    Con el fin de resolver en paralelo el ESSP, se propuso una solución en CUDA de fuerza bruta. Esta solución, hace uso de una codificación sencilla del espacio de búsqueda, representando todas las combinaciones posibles de turnos en una única cadena de bits. La propuesta era generar tantos hilos como los que sean posibles generar con la cantidad de bits utilizados, y en el caso en que se necesiten más hilos de los que la tarjeta provee, se encolan los trabajos restantes para ser procesados por los hilos que terminen primero. Además, en caso de ser un espacio de búsqueda pequeño, se aplican ciertas optimizaciones

    • Se adapta un problema NP-Hard para ser resuelto en paralelo

    • Proyecto aprobado con nota máxima para el curso de Computación de Alto Desempeño

  • TotalGaming.CL

    Mar, 2010 - Mar, 20166 years

    Mi primer gran proyecto de programación, donde me introduje al mundo del desarrollo de videojuegos, servidores y sitios web. Al inicio realizaba plugins en C que modificaban aspectos de ciertos videojuegos online, luego pasé a desarrollar servidores de estos, y a la larga, comencé a aprender a desarrollar sitios web, e integrar a través de sockets la comunicación entre estos sitios web y servidores de videojuegos, logrando experiencias de juego increíbles. Un proyecto al que le dediqué muchos años y del que aprendí muchísimo, actualmente sólo quedan algunos videos de demostración, pero los recuerdos que me llevo de él los aprecio muchísimo

Skills

Skills

  • Desarrollo de Software

    JavaScript

    Python

    C

    C++

    Java

    SQL

    Typescript

    React

    React Native

    NodeJS

    HTML

    CSS

    Redux

    Vite

    WebAssembly

    Clean Architectures

    Clean Code

    Hexagonal Architectures

    Testing

  • Diseño de Sistemas

    Arquitectura de Software

    APIs

    Bases de Datos

    Interfaces de Usuario

    Sistemas Distribuidos

    Sistemas Escalables

    Sistemas Seguros

    Sistemas Basados en Eventos

    Microservicios

    Micro Frontends

    Serverless

  • Misceláneos

    LaTeX

    Git

    GitHub

    GitLab

    Docker

    Linux

    JIRA

    Figma

  • Docencia

    Introducción al Pensamiento Computacional

    Programación Competitiva

    Diseño de Sistemas

    Ingeniería de Software

    Desarrollo Web y Móvil

  • Programación Competitiva

    C++

    Estructuras de Datos

    Algoritmos

  • Cloud

    AWS

    Vercel

    Supbase

    Cloudflare

    Serverless

Education

Education

  • Ingeniería Civil en Informática, Ingeniero Civil, Universidad Técnica Federico Santa María

    Feb, 2016 - Aug, 2014

  • Técnico Profesional con Especialización en Telecomunicaciones, Enseñanda Básica y Media, Centro Educativo Salesianos Alameda

    Aug, 2016 - Mar, 2010

Certificates

Certificates

Awards

Awards

  • 7mo Lugar en la ICPC - Sudamérica , International Collegiate Programming Contest

    Awarded on: Nov 10, 2018

    Durante todas mis participaciones con mi equipo Volan Team, el 2018 fue la primera y única vez que logramos quedar en el top 10 de equipos de sudamérica, siendo el fruto de nuestros constantes esfuerzos en programación competitiva a lo largo de los años

  • Clasificado Nacional en las Olimpiadas Chilenas de Informática , Olimpiadas Chilenas de Informática

    Awarded on: Oct 21, 2015

    La OCI es una competencia de programación orientada a estudiantes de secundaria que pretende despertar el interés en la Computación, permitiendo que los participantes desarrollen habilidades de abstracción, creatividad, algoritmos, pensamiento sistemático y resolución de problemas, y comprendan la naturaleza científica de la disciplina. En aquel entonces, participé de la fase regional de la competencia, clasificando entonces a la final nacional

  • Mención Honorífica , NASA Space Apps Challenge

    Awarded on: Apr 29, 2017

    Con mi equipo universitario participamos de la Hackataton de la NASA, en la categoría Small Spaces, Big Ideas! con nuestro proyecto AlephFinder. Este buscaba concentrar toda la información de las distintas organizaciones y proyectos de la NASA en un solo lugar, permitiendo a los usuarios buscar y filtrar la información de manera rápida y eficiente. A pesar de no haber ganado, la experiencia fue increíble y nos permitió aprender y poner en práctica mucha teoría sobre indexación y búsqueda eficiente

Volunteer Work

Volunteer Work

  • Contributor, Javascript Chile

    Feb, 2023 - Present

    No soy particularmente un miembro activo de la comunidad, pero cuando dispongo del tiempo suficiente, apoyo con la redacción de artículos en dev.to, y reviso si puedo resolver algún issue en los proyectos de la organización en GitHub

    • Autor del artículo: Entendiendo la Mutabilidad y la Re-Asignación (dev.to)

    • Autor del artículo: Mastering Chaos: de MVC a una Arquitectura Basada en el Dominio y con Enfoque en el Testing (dev.to)

Publications

Publications

  • Mantenibilidad de Software en Github: Herramientas, Procesos y Buenas Prácticas , GitTogether Santiago

    Published on: Jul 11, 2024

    La mantenibilidad de software es un tema que da para largo, sin embargo, podemos aterrizarlo con aspectos prácticos, claros y concisos respecto a qué hacer para mejorarlo. Por lo mismo, en esta charla me gustaría presentar todo lo que yo considero que nos brinda y/ó nos permite Github para mejorar la mantenibilidad de software de nuestros productos, desde el alojamiento de paquetes útiles para nuestro día a día, hasta la integración de herramientas y procesos que nos permitan abordar este tema

  • Potenciando Javascript con WebAssembly: un caso aplicado a la educación , JSConf Chile 2023

    Published on: Feb 04, 2023

    Las tareas de un curso son un instrumento de suma importancia durante el proceso de aprendizaje. Permiten al estudiante poner en práctica los contenidos adquiridos, a la vez que juegan un rol crítico en su interés para aprender, y por lo tanto, es fundamental elaborarlas de la mejor manera posible. Esta necesidad, entre muchas otras, motivaron el desarrollo de Ishvel: un framework para la elaboración de tareas en cursos introductorios de programación. Acompáñenme en esta charla donde les contaré sobre lo bueno, lo malo, y lo anecdótico del proceso de desarrollo de Ishvel. Haciendo hincapié en cómo WebAssembly, gracias a su poder para ejecutar múltiples lenguajes en un proyecto Javascript, llegó a cambiar por completo la arquitectura inicial de la aplicación, pasando de requerir cómputo en la nube, a ser una aplicación completamente auto-contenida

  • Mantenibilidad de Software en Javascript (ft. María Paz Morales) , JSConf Chile 2023

    Published on: Feb 04, 2023

    Hoy en día, más que nunca, es común que un proyecto de software crezca y se complejice rápidamente y con ello vengan algunos problemas de escalabilidad, lo que desencadena en un desarrollo mucho más costoso. En este taller aprenderemos sobre mantenibilidad de software, y su importancia en la etapa inicial del desarrollo para lograr un proyecto escalable y mantenible en el tiempo. Daremos una pincelada por los principales conceptos de mantenibilidad, y conoceremos formas de medir la complejidad de nuestro código. También veremos un ejemplo práctico dentro de un entorno full stack de Javascript basado en React, en el que aplicaremos, a grandes rasgos, algunas estrategias de mantenibilidad para llevar a cabo un software escalable y testeable

  • 5 años de Pythonia: Una historia de anécdotas, aprendizajes y muchos pukamones , PyDayChile2020

    Published on: Dec 19, 2020

    A 5 Años de Pythonia es una breve historia que abordará el impacto Python, como lenguaje de introducción a la programación, ha generado en los estudiantes de la USM desde la propia visión y vivencias de un estudante de 5to año que desde 3ero se desempeña como ayudante del damo de programación. A lo largo de esta historia conocerán acerca del ramo de programación de la USM, seguido de distintas vivencias personales y de gente cercana a mi que se vieron súmamente potenciadas (e incluso, originadas) por el simple hecho de haber sido introducidos en el mundo de la programación con Python. Entre estas vivencias están el actual equipo de ayudantes de programación, algunos proyectos estudiantiles, prácticas en observatorios y programación competitiva, para luego finalizar con algunas conclusiones con miras a futuro respecto de Python como lenguaje introductorio

  • Como Evaluar la Complejidad de una Tarea de Python, con Python , PyCon2020

    Published on: Dec 03, 2020

    Análisis de una tarea de programación en Python, utilizando las métricas de Halstead y los datos de todas las tareas del ramo IWI-131 de Programación, de la Universidad Técnica Federico Santa María. Se explican análisis preliminares respecto a lo que los profesores presentaban como solución de una tarea, y el promedio de lo que los estudiantes entregaban como solución. Todo esto con el fin de determinar, qué se puede mejorar, pensando en hacer la tarea más o menos complicada de cara a encontrar un punto de equilibro de exigencia suficiente, para cumplir con los objetivos de aprendiazje, y no colapsar al estudiante