
My Journey
As a passionate, self-taught software engineer with over 9 years of experience, I specialize in crafting innovative solutions that bridge the gap between complex infrastructure and elegant user experiences. My journey from electrical engineering to software development has been driven by an insatiable curiosity and a commitment to continuous learning.
Currently serving as a Senior Software Engineer at Linktree in Melbourne, I thrive on transforming intricate technical challenges into scalable, efficient systems. My expertise spans the full stack - from building responsive React.js interfaces to architecting event-driven microservices, from orchestrating Kubernetes clusters to implementing critical platform features that serve millions of users globally.
What sets me apart is my practical approach to problem-solving. Colleagues know me as someone who challenges assumptions to find simpler solutions, while maintaining the technical depth to tackle complex distributed systems. Whether it's migrating legacy services to serverless architectures, integrating cutting-edge payment systems, or building configuration-driven platforms, I bring both strategic thinking and hands-on execution.
Global Perspective
My international experience across Nepal, Thailand, and Australia has shaped my collaborative approach and adaptability. I bring diverse cultural insights to technical problem-solving and team dynamics.
Community First
I'm deeply invested in the developer community - contributing to open source projects, sharing knowledge on Stack Overflow, and mentoring fellow developers. I believe in giving back to the community that helped shape my career.
My Tech Philosophy
AI-Aware Development: In an era where AI is reshaping development, I advocate for the increased importance of robust testing and thoughtful engineering practices.
Practical Innovation: I stay current with emerging technologies while maintaining healthy skepticism about blindly adopting trends. Great software isn't just about writing code - it's about building resilient systems that empower people.
Continuous Learning: Technology evolves rapidly, but fundamentals remain. I focus on understanding core principles while exploring new tools that genuinely solve problems.
Core Stack
Currently Exploring
Professional Experience
Senior Software Engineer - Developer Platform
Working in the Developer Platform team to build and maintain critical infrastructure and tooling that empowers engineering teams across the organization.
Key Achievements
- Building and maintaining developer platform infrastructure using AWS CDK and TypeScript
- Creating internal tools and services that improve developer productivity across all teams
- Implementing infrastructure as code practices and CI/CD pipelines
- Architecting scalable AWS solutions for platform-wide services
- Driving best practices for cloud infrastructure and platform engineering
- Collaborating with engineering teams to streamline development workflows
Technologies
Senior Software Engineer
Designed and implemented highly scalable microservices and production infrastructure for innovative technology solutions.
Key Achievements
- Designed and implemented highly scalable microservices in Node.js and Golang
- Architected production infrastructure using CDK in AWS
- Developed modern frontend applications using React.js
- Worked with EC2, ECS, RDS, Redis, CloudFront, S3, SQS, SNS, Kinesis
- Implemented containerized solutions with Docker and Docker Compose
Technologies
Senior Software Engineer
Led development of cloud-native solutions on Google Cloud Platform with focus on scalability and reliability.
Key Achievements
- Designed highly scalable microservices in Node.js and Golang
- Architected production infrastructure using Terraform in GCP
- Developed frontend applications using AngularJS
- Orchestrated Kubernetes clusters for container management
- Implemented event-driven architecture with Pub/Sub
Technologies
Senior Software Engineer
Designed service-oriented architecture for customer-facing insurance platform serving millions of users.
Key Achievements
- Designed service-oriented architecture for insurance platform
- Developed RESTful services in Ruby on Rails and Node.js Lambda
- Built frontend with Slim, Vanilla JS/StimulusJS, and React.js
- Monitored and optimized performance using DataDog
- Built operational dashboards, alerts, and managed on-call rotation
Technologies
Software Developer
Full-stack development for various international clients with focus on service-oriented architectures.
Key Achievements
- Developed RESTful services in Ruby on Rails and Phoenix
- Built frontend applications using Slim, Vanilla JS, and Vue.js
- Implemented microservices architecture for multiple clients
- Worked with AWS services including EC2, ECS, RDS, Redis, CloudFront
- Containerized applications using Docker and Docker Compose
Technologies
Senior Software Engineer
Led frontend development and cloud infrastructure management for enterprise applications.
Key Achievements
- Developed complex frontend applications with React.js, Redux, Redux-Saga
- Built RESTful services in Ruby on Rails
- Managed scalable cloud infrastructure on AWS
- Implemented infrastructure as code using Terraform and CloudFormation
- Optimized application performance with Redis caching and CloudFront CDN
Technologies
Certifications
AWS Certified Developer ā Associate
Amazon Web Services
Validates technical expertise in developing and maintaining applications on the AWS platform.
HashiCorp Certified: Terraform Associate
HashiCorp
Demonstrates knowledge of basic concepts, skills, and use cases associated with Terraform.
Technical Skills
Frontend Skills
React.js
TypeScript
Next.js
AdvancedTailwind CSS
Framer Motion
AdvancedJavaScript
Featured Projects
4 ProjectsDeveloper Dotfiles
MaintainedNeovim configuration in Lua.
A comprehensive Neovim configuration written in Lua, featuring LSP setup, custom keybindings, and productivity-focused plugins. Part of a complete development environment setup.
Open Source Contributions
ContributorContributing to testing-library ecosystem.
Active contributor to @testing-library/dom-testing-library and other open source projects. Focused on improving developer experience in testing frameworks.
Professional Insights
The Growing Importance of Testing in the AI Era
āIt's getting more common to see issues hitting production because cursor, copilot or something else added something you didn't meant to! Automated tests are more important in the age of AIā
With AI-assisted coding becoming mainstream, I've observed a critical shift in how we need to approach quality assurance. The convenience of AI code generation comes with new risks that require heightened vigilance.
Key Implications:
- Increased reliance on comprehensive test suites
- Need for better code review processes
- Importance of understanding generated code before deployment
Productivity Over Perfection
āRuby's productivity benefits outweigh static typing debatesā
While the industry debates the merits of static vs dynamic typing, my experience shows that Ruby's developer happiness and rapid prototyping capabilities often deliver more business value than theoretical type safety.
Key Implications:
- Context matters more than universal best practices
- Developer productivity drives business outcomes
- Tools should serve the team, not the other way around
Community-Driven Learning
āFollowing development leaders like @teej_dv, @ryanflorence, and @shadcn has shaped my understanding of modern development practicesā
The developer community on platforms like Twitter/X provides invaluable insights into emerging patterns, tool adoption, and real-world problem-solving approaches that traditional education often misses.
Key Implications:
- Community engagement is crucial for staying current
- Practical insights often come from practitioners, not academics
- Building networks accelerates professional growth
Core Professional Values
Practical Problem Solving
I challenge assumptions to find simpler solutions while maintaining technical depth for complex distributed systems.
Continuous Learning
Staying current with emerging technologies while maintaining healthy skepticism about blindly adopting trends.
Quality Through Testing
Advocating for robust testing practices, especially important as AI-assisted development becomes more prevalent.
Community Contribution
Giving back through open source contributions, Stack Overflow answers, and knowledge sharing.
Recent Blog Posts
Day 3: Review of Ziglings
Published on November 4, 2024
I have been learning Zig for past few days and I am really enjoying it. Going through [zig reddit](https://www.reddit.com/r/Zig/), I found what looks to be a good way to learn Zig: [Ziglings](https://codeberg.org/ziglings/exercises). Today, I will go through the Ziglings exercises and share my experience. ### Intended Audience > This will probably be difficult if...
Day 2: Calculator in Zig
Published on November 2, 2024
Today, we are going to built a simple calculator in Zig. As this is our second day with Zig, we will learn how to read user input and perform arithmetic operations. We will also learn about how basic assignments and control flow works in Zig. > [!TIP] > If you haven't installed Zig yet,...
Day 1: Getting Started with Zig
Published on October 31, 2024
Today marks my first day exploring Zig, a modern systems programming language. I like to learn languages by doing to get a better sense of how things work. Along the way, we will also dive into the fundamentals of Zig and explore its features. So, we will start by building a simple "Hello,...
Prevent accidental project deletion in GCP with liens
Published on February 6, 2023
In Google Cloud Platform (GCP), project is where we have all the resources like VMs, Kubernetes Clusters, Buckets etc. To prevent from accidental deletion of important project like production, we can use resource-manager liens. ### Requirements | Permissions ...