How I Work
A look at how I think about building software - my principles, workflow, and what I value in engineering.
Engineering Philosophy
- Ship, then iterate. I prefer getting a working version out early and improving based on real feedback over perfecting in isolation.
- Simplicity over cleverness. The best code is code that's easy to read, change, and delete. I avoid premature abstractions.
- Own the outcome, not just the task. I care about the user impact, not just closing tickets.
- Design for change. Requirements shift. I write code that's modular enough to adapt without rewriting everything.
My Workflow
1. Understand the problem
Before writing any code, I make sure I understand the why - the user need, the business context, and the constraints.
2. Design the approach
I sketch out the architecture, identify edge cases early, and pick the simplest approach that solves the problem well.
3. Build incrementally
Small, focused commits. Each step should leave the codebase in a working state. I integrate early and often.
4. Review and refine
I actively seek code review feedback and treat it as a learning opportunity. Clean code matters - it's a team asset.
Tools & Stack I Reach For
Languages
Kotlin, Java, Swift, Objective-C, JavaScript, TypeScript, C++
Mobile
Android (Jetpack Compose), iOS (SwiftUI), React Native
Web
React, Next.js, Tailwind CSS, Node.js
Backend & Infra
Firebase, REST APIs, CI/CD
What I Value in Teams
- Clear ownership and autonomy
- Honest, direct communication
- A culture that ships - not one that debates endlessly
- Learning from production, not just from theory