Stanley Chen
Senior Software Engineer, Microsoft Azure Evangelist, Ex-Microsoftie
Vancouver, BC, Canada Area- linkedin.com/in/stanleychen24
WORK HISTORY
2016-11 Present
-
Senior Software Engineer
MediaValet, Vancouver, BC
Developed the next generation multi-tenant reactive system using
Azure Service Fabrics with Actor Model, Event Sourcing, CQRS, and
Reactive Systems concepts with agile methodologies for a cloud
based multi-tenant SaaS Digital Asset Management solution entirely
on Microsoft Azure
Area of ownership: media processing, search, backend workflow,
customer-facing API, and continuous delivery and integration
Transformed monolith services into small independent, and highly
decoupled microservices with Domain-Driven-Design concepts
Replaced custom Lucene-based search engine with Azure Cloud
Services and Azure Search with canary release strategies and
greatly improved querying and indexing performance
Managed DevOps team, assigned developments tasks to
developers, and mentored developers
Ensured smooth daily operations on daily basis by responding to
critical issues in a timely manner
TECH STACK
Microsoft Azure
Service Fabric
Cloud Services, Web Apps,
VM
Azure Search
Azure SQL
Blob Storage,
Table Storage,
Storage Queue
Service Bus
VSTS to build, package, and
release libraries and services
Azure PowerShell
PayByPhone, Vancouver, BC
Architecting the next generation highly scalable payment processor
with DDD, CQRS, Event Sourcing, and RESTful API for PayByPhone's
North America and Europe platforms
Maintaining and expanding the UK parking service platform with a
partially remote team, cycling between in-office and remote
collaborations with teams
Leading the effort to separate a monolithic system into
microservices to enable agile and independent releases
Mentoring developers with modern software development practices
TECHNICAL INTERESTS
Domain Driven Design/Event
Sourcing/CQRS
Enterprise Integration Patterns
Reactive Systems www.reactivemanifesto.org
Actor Model - Dr. Carl Hewitt
Concurrent and Parallel
Programming
DevOps, Feature Flagging,
Canary Release, Agile
Methodologies
SaaS, Multi-Tenant Systems
Senior Software Engineer
-
Intermediate Software Developer
Powerex, Vancouver, BC
Built various internal tools and automation with C#/. NET, WCF, IIS,
SQL Server, SSRS, VBA, and SharePoint to support key applications
for compliance, credit risk, and various government financial and
regulatory reports
Collaborated with business analysts and end users to identify
complex requirements and end-user focused solutions by creating
cost-efficient prototypes, analyzing workflows and walking through
use case scenarios
Investigated legacy applications and provided recommendations
and trade-offs to enhance application performance and stability
Proactively offered feedback around development practices such as
deployment procedures and code review process to improve code
base quality and consistency
C#/.NET T-SQL, SQL Server,
ADO.NET ASP.NET, Web API
Visual Studio, SQL Management
Studio, PowerShell ISE
-
Software Development Engineer
Microsoft, Redmond WA
Developed backend services for commerce, settlement, finance,
and app review feature areas with C#/. NET and SQL Server,
supporting Windows users, developers and partners in over 120
markets
Deployed services with zero-downtime deployment approaches
Ensured performance of the system with overall application
performance validation and SQL query performance tuning
Led the development for commerce system monitoring
infrastructure that identified system defects, trends, and overall
system health
Assisted test team in developing plans for performance testing,
integration testing, and production smoke testing
Collaborated with offshore teams and maintained strong
communication channels to ensure smooth integration with
offshore teams
Co-inventor of Windows Store's commerce settlement pending
patent
Member of Build-V team which manages code integration for
Windows Store and releases builds
-
Software Development Engineer Intern
Microsoft, Redmond WA
Implemented automation tools with PowerShell cmdlets in C# to
process internal content publishing jobs
Allowed flexible user customization by utilizing PowerShell's built-in
pipeline feature
Created documents for future development, maintenance and
PowerShell best practices
Created help documents illustrating usage and straightforward
examples that can be accessed within PowerShell
Promoted the tool by educating users about PowerShell scripting
and demonstrating the tool to user.
Received positive feedback on its functionality and ease of use
-
Localization Project Coordinator
SAP, Vancouver BC
Managed multiple software and screenshot localization projects
simultaneously under aggressive schedules
Identified inefficiency in workflow, thereby proposed and
implemented an automation tool in Java to automate majority of
the manual work which increases efficiency by at least 50%
Prepared training material for future interns and mentored new
intern Technical
EDUCATION
2015 - 2010 Bachelor of Applied Science (B.A.Sc.) with Distinction
University of British Columbia
Computer Engineering with Software Option
Distributed Systems
Advanced Software Engineering
Relational Database
Discrete Structures and Algorithms
Software Engineering Project
Requirement Engineering for Software-Intensive Systems
ACTIVITIES
2017 Present
Member of Vancouver DDD/CQRS/ES Meetup
DDD/CQRS/ES Meetup
Link: https://www.meetup.com/DDD-CQRS-ES/
Meeting up regular with local DDD/CQRS/ES practitioner
2016 - 11/04 Microsoft Azure Cloud Cover Show on Channel 9
Microsoft, Redmond WA
Link: https://channel9.msdn.com/Shows/Cloud+Cover/Episode-218DDD-and-CQRS-on-Service-Fabric-with-Media-Valet
My team was invited to present our Service Fabric solution with DDD,
Event Sourcing, CRQS, and Actor Model. The solution enhances Service
Fabric's Virtual Actor framework with canonical actor, asynchronous
messaging and finite state machine.
Canonical actor enhancement creates parent-child relationship
between actors
Asynchronous messaging unblocks senders from waiting on the
receiving actor, giving senders the ability to process next message
Finite state machine gives actors the ability to decide its behavior
based on the message received
2016 - 10/24 Microsoft Azure Microservices HackFest
to 10/28
Microsoft, Redmond WA
Invitation-only Microsoft partner event. Before the event, my team had
been working with Service Fabric for 6 months with DDD, Event
Sourcing, CQRS, and Actor Model. During the hackfest, we worked with
the service fabric team and enabled the read model in CQRS with
SignalR, and reactive front-end.
The final product was demoed to the Azure Service Fabric team
including the CVP of Microsoft Azure, Directors, and Principal Program
Managers of Azure Service Fabric.
My team also suggested improvements that can be made to the
Stateful Actor Service, such as enabling messaging mechanism.