Programming Fundamentals Professor
Andrés Bello Catholic University
I was responsible of equipping students with the foundational knowledge and skills necessary for success in software development and computer science.
Teaching Programming Fundamentals
I always wanted to teach. It was a dream of mine.
In 2023, my previous company closed and I got job offers from other companies. But those jobs wanted me to work full-time only for them, which meant I couldn’t teach.
I turned them down because I wanted to follow my dream of teaching. I started teaching at the university, excited to help students learn programming.
The Reality
Teaching was harder than I expected.
There was a lot of paperwork and meetings. I spent more time dealing with administrative tasks than I did planning my lessons.
I also found it hard to keep students interested. I tried to make engaging lectures and built video games and music players to show programming concepts. I used VS Code Live Share to make coding more interactive. But many students just wanted to pass the class, not really learn programming.
Finding a Solution
I thought maybe the problem was the tools students had to use.
The syllabus required students to use PSeInt, an old Windows-only program for writing pseudocode. It looked outdated, had bugs, and was frustrating to use.
So I built StepCode in my free time. I made a modern, web-based code editor using TypeScript and CodeMirror. It looked like VS Code with syntax highlighting, dark mode, and better error messages that explained what was wrong.
When I showed it to the class, students got more interested. Instead of struggling with confusing error messages, they could focus on learning how to write better code. Some students even stayed after class to show me what they built.
What I Learned
This experience taught me that I really love teaching, even though the university system has a lot of challenges.
I taught students more than just programming basics. I showed them that if the tools you have aren’t good enough, you can build better ones. And they taught me that even if most students aren’t interested, reaching even a few students makes it all worth it.
Proceso HelloWorld
Escribir "Hello World";
FinProceso
Useful Links
You can explore the tools I built for this course:
StepCode Online Editor
An online code editor for StepCode, a pseudo-code language for teaching programming fundamentals.
StepCode
StepCode is a simple pseudo-code language designed for teaching programming fundamentals.
StepCode | Editor
A web-based code editor for the StepCode pseudo-code language.
Explore More Experiences

Software Engineer
SignatureAPI
I am responsible of leading the development of Signature API, a platform that provides a developer-focused, API-first platform for adding electronic signature capabilities to your applications and workflows.

Artificial Intelligence and Machine Learning Professor
Andrés Bello Catholic University
I taught about the fundamentals of artificial intelligence and machine learning, neural networks, convolutional neural networks, recurrent neural networks, generative adversarial networks, and reinforcement learning.

Lead Software Engineer
Unbanked
I was responsible for leading the integration of multiple debit and prepaid card services issued with white label partners who wanted to launch a card that could use their token for payments. Accomplishments include plug-in system implementation, team management, and enhancements to internal system architectures.