Building, Failing, and Learning—A Student’s Perspective

When people talk about learning, it often sounds organized. Schedules, syllabi, and step-by-step guides. In reality, being a student feels like standing at a crossroads where every direction promises something new—and most paths lead straight into mistakes, unexpected lessons, and half-finished projects.


The Mindset Shift: Embracing the “Builder” Identity

I used to think only “real developers” could build meaningful things. Then I started realizing that the act of building itself teaches more than any label. With each new idea—property management software, automation scripts, office design plans, even basic car modifications—I discovered that the label “student” wasn't about being a beginner, but about being willing to experiment.

My work in school and outside is a constant mix of research, prototyping, and messy trial-and-error. I’ve definitely failed more often than I’ve succeeded. That used to frustrate me, but now I see every failed build as an invitation: “What can I learn here that no textbook can show?”


My Building Story—School, Projects, Life

A lot of my learning happens outside traditional classrooms:

  • Property Management Software: Diving into backend and frontend work, I learned not just technical skills, but how business logic plays out in real life. Every new feature idea comes with its own set of challenges—user experience, automation, integration, troubleshooting.

  • Office Spaces and Interior Design: Who thought desk ergonomics and color palettes could be this complicated? Designing an office for real use taught me to appreciate not just aesthetics, but the way space affects productivity and mood.

  • Automating My World: As an IB DP2 student with juggling school and side projects, I’ve come to love automation—whether it’s small things like email filters or bigger things like smart air conditioner controls for 30 units. Each automation script or IoT setup was built one bug at a time.


The Failing Factor (and Why It’s Essential)

Before I started building software, I was convinced my ideas had to work flawlessly—or they weren’t worth pursuing. Quickly, my experiments in property management systems threw that out the window. I lost count of the times an app crashed or a feature didn’t work. What stayed with me was debugging—not just the actual code, but my own thinking.

Failure taught me not just technical resilience, but emotional resilience. It’s uncomfortable to look at a broken project and admit you don’t know how to fix it. But in that moment, the real growth begins: talking to mentors, searching for community solutions, and sometimes just brute-forcing your way until something finally clicks.


Learning From Others—Collaboration and Humility

None of my projects would ever leave the ground without input from others. Teachers, classmates, online forums, YouTube creators, office managers—each added a piece I didn’t even know was missing. Every interaction reminded me: being a learner is about asking questions, not pretending to have answers.

I gravitate towards collaboration—pair programming, brainstorming sessions, or just asking for design feedback. I’ve learned the value of sharing unfinished work early. You learn faster when you openly admit what you don’t know.


What This Perspective Means For Me (and Possibly You)

As I keep moving forward—preparing for bigger builds, more complex projects, and new academic challenges—I try to keep two rules in mind:

  1. Build anyway: Even when it feels risky, or I feel unqualified. Momentum matters more than perfection.

  2. Fail openly: Share not just what works, but what doesn’t. That’s what makes the process honest and helpful.

So here’s my challenge to fellow students and learners: try something out. Break it. Learn from the pieces. Collaborate, ask questions, build again. Whether it’s a line of code, a design sketch, or a business workflow, the path is messy—and that’s exactly what makes it worthwhile.