2023 / Openhouse

After-school learning for the energetic

TL;DR

From a product engineering intern to a backend engineer shipping payment systems and production features.

Full Version

January 2022. I decided to get serious about software engineering as a career. The catch? I was doing a bachelor’s in statistics, not computer science. I started sending out resumes anyway, unsure how I’d convince anyone to hire me.

Then the founder of Openhouse reached out. He liked my profile. Would I be interested in an interview? I interviewed. They offered me a full-time position.

Early Part: Frontend Engineering

My first few months, I worked on frontend. I became obsessed with reverse engineering everything. In my downtime, I’d dive into their custom-built internal CRM/ERP system and watch how senior engineers structured React hooks, organized components, and architected entire SaaS features.

I reckon the pattern from Pabio continued: when I couldn’t contribute at the level I wanted, I learned by dissecting everything around me.

Main Gig: BE

July 2022. I switched roles. This time? A backend engineer.

The stack: Python, Django, PostgreSQL, AWS. I was fixing production bugs. Not toy bugs, real issues affecting real users, which is something I kept reminding myself frequently. Then I started shipping features: payment subscription models for the entire company, features that went directly into their mobile apps and website, AWS infrastructure work.

I got involved in feature design discussions from concept to implementation. How do you design a payment flow that handles edge cases? How do you structure database schemas that won’t require a redo?

This wasn’t “make it work” anymore. This was “make it work at scale, maintainably, with room to evolve.”

The Product

There was a big distinction to remember, Openhouse isn’t a tech company, it’s an education company where tech is the interface.

They run offline learning centers where kids aged 4-12 can explore extracurriculars after school: basketball, robotics, dance, karate, whatever sparks their interest. The goal is simple but powerful: help kids discover their passions outside traditional academics.

Few takeaways I reckon

The biggest challenge wasn’t technical—it was mental.

I came in with all the classic junior engineer traits: not testing thoroughly enough, thinking short-term, missing edge cases, writing code that worked but wasn’t maintainable. Working alongside experienced engineers for a full year, I learned to: Think long-scoped, Write generalizable code, Ask better questions, Scrutinize problems, break them down, understand the why before jumping to how, Design from first principles.

But the learning went deeper than mindset shifts.

I built an internal data warehousing service in Go. Learning Go on the job while understanding what data warehousing systems actually are was a crash course in picking up new tech under pressure.

In my last few months, I worked closely with the product manager using Metabase and SQL for data-driven decisions. Writing long, complex SQL queries, analyzing user behavior, making sense of patterns. It was understanding the business through data.

I also had access to senior engineers with 6-9 years of experience who talked to me about software architectures, design patterns, finite state machines. I learned that communication is half the job.

Being a good engineer isn’t just writing clean code. It’s building resilient systems, translating vague problem descriptions into technical specs, explaining tradeoffs to non-technical stakeholders. The best code in the world is useless if you can’t work with a team or understand what you’re actually building.

← Back to all work