Over 20 years of .NET software development experience and 10+ years of full-stack JavaScript development experience. Diligent, proactive, and a strong team collaborator, with solid technical skills and rich project experience. Capable of technical mentoring, framework design, general maintenance, system architecture, and team leadership.
Work Experience
GrapeCity
Joined Xi’an GrapeCity in 2005. Worked across the WinForm/WPF/Silverlight/JavaScript technology stacks on input control and grid control development and architecture design, and also participated in the design and development of Huozige, the Dragonfly reporting system, and LeySerKids.
ThoughtWorks
Joined ThoughtWorks in 2018, consulting and delivering multiple online systems for Australian business lines, covering areas such as airline ticketing and personal finance. Gained deep understanding of project process improvement, enterprise application integration, numerous agile practices, TDD, refactoring, and continuous integration/delivery.
Nagarro
Joined Nagarro in 2021, working on Seismic product development.
Professional Skills
- Proficient in C# (20 years);
- Proficient in JavaScript (10 years) and TypeScript (8 years), full-stack development;
- Basic knowledge of C++, able to develop desktop and mobile applications using popular UI frameworks such as MFC, UWP, and QT;
- Basic knowledge of Java, able to develop simple web applications using Spring;
- Proficient in front-end development with jQuery/Knockout.js/AngularJS/Angular/React;
- Proficient in containerization technologies;
- Proficient with Visual Studio, IntelliJ IDEA, WebStorm, and Rider;
- Proficient with Git;
- Proficient in continuous integration using TeamCity and Jenkins;
- Experienced with collaboration tools such as Jira for agile project management, Confluence, Teams, Slack, and Zoom;
- Basic knowledge of Linux, able to use it as a daily development environment and perform simple deployment and maintenance;
- Understands object-oriented concepts and design patterns, and can apply them in development;
- Familiar with agile development practices such as XP, BDD, TDD, CI, and CD.
Project Experience
A Large Australian Financial Management System (Account, Invoice)
A lightweight version of a large Australian financial management system, mobile-first, with a microservices backend deployed cloud-natively on AWS, built on ASP.NET Core and DynamoDB, with a React frontend.
- Account subsystem, where the key challenge was compatibility with the legacy system.
- Invoice subsystem, implementing invoice editing and sharing.
A Large Australian Airline's Online Ticketing System (MMB, MCP, M-Site)
A large Australian airline’s online ticketing system, with a backend built on Navitaire DotRez and ASP.NET MVC, and a React frontend.
- Post-booking order management, allowing passengers to change or cancel flights via MMB.
- Multi-currency transactions and pricing.
- Led the design and development of a WeChat mini-program client to expand into the China market.
LeySerKids
An early childhood education management system designed for private kindergartens in China and Japan.
Backend built on Node.js, frontend built on AngularJS, mobile built on Ionic.
Architect, responsible for LeySerKids’ technical framework, technology selection, and evolution planning.
Researched emerging technologies to define the product’s future direction.
Designed improvements to development, release, and operations processes, automated CI/CD, and operational monitoring.
Backend business design and development, and participated in overall development management.
Spread (SpreadJS, Spread for Silverlight, Spread for WPF)
A spreadsheet control with excellent Excel compatibility for commercial, engineering, and scientific fields. Integrates Microsoft® Excel® document capabilities to support enterprise-level information sharing.
Details: http://www.gcpowertools.com.cn/products/SpNet_overview.htm
- Architect, responsible for early prototyping and technical research, system architecture design, and subsequent evolution.
- Core developer, maintaining Spread’s internal core concepts and logic engine.
- Designed multi-format file handling and new-version formula parsing and calculation.