I'm a software engineer based in Shanghai with 9+ years of experience building and modernizing enterprise applications on the .NET platform.
My work focuses on backend development, API integration, workflow automation, SQL Server, asynchronous processing, and operational tooling. I enjoy turning manual or fragmented business processes into systems that are easier to operate, monitor, and extend.
- Backend: C#, .NET Framework, .NET 8+, ASP.NET MVC, Web API, WCF
- Data: SQL Server, query performance optimization, data persistence
- Distributed systems: asynchronous workers, Amazon SQS, API integration, real-time status updates
- Frontend: Angular, JavaScript, Razor Pages, SignalR, Kendo UI
- AWS and infrastructure: API Gateway, EC2, ECS, Lambda, SQS, Docker, Terraform
- Delivery: Azure Pipelines, Octopus Deploy, IIS
- Designed and developed a dependency-driven month-end workflow and monitoring platform supporting manual tasks, synchronous APIs, and long-running asynchronous jobs.
- Built configurable task orchestration, dependency validation, cycle detection, timeout handling, duplicate-response protection, and near-real-time progress monitoring.
- Participated in modernizing applications from .NET Framework 4.8 to .NET 8 and replacing WCF-based integration in a test environment.
- Helped migrate services to AWS, including Terraform-managed EC2 resources, Lambda integration, and containerizing Windows services for ECS.
- Worked on an Angular 4 to Angular 8 upgrade and SQL Server query performance improvements.
I'm strengthening the fundamentals behind reliable distributed applications through small, testable implementations of:
- dependency graphs and task scheduling
- async execution, cancellation, and concurrency control
- idempotent message processing and failure recovery
- SQL performance, transactions, and locking
- containerized .NET services
- Month-End Control Tower — a project focused on workflow orchestration and operational visibility.
I value clear responsibilities, observable behavior, careful failure handling, and solutions that can be explained and verified. I use AI-assisted development tools where they improve delivery, while keeping design decisions, testing, and technical judgment under my control.



