Principal Software Engineer | Architect | Team Lead | Manager
- Location: Stoneham, MA
- Resume: https://chyuck.github.io
- LinkedIn: https://www.linkedin.com/in/chyuck/
- 15+ years of software engineering experience
- Strong coding, refactoring, documentation, code review, design and analytical skills
- Strong engagement and leadership skills
- Strong planning, reporting and presentation skills
- Strong communication and collaboration skills
- Experience in managing product backlogs and development lifecycle
- Experience in multiple business domains
- Experience in multiple software architectures and technology stacks
- Experience in managing and leading software development teams
- Java: Spring Framework, Hibernate
- .NET: C#, .NET Framework/Core, ASP.NET, WCF, WPF, WinForms
- JavaScript: Node.js, ReactJS
- Databases: SQL, MySQL, Oracle, MongoDB, SQL Server, PostgreSQL, Snowflake
- AWS: Lambda, DynamoDB, API Gateway, Cloud Formation, Serverless, Elastic Beanstalk, EC2, S3, Route53, SQS, SNS, RDS, ECS
- Source Controls: Git, GitHub, TFS, SVN
- IDEs: JetBrains IntelliJ IDEA/ReSharper/Rider/DataGrip/WebStorm, Visual Studio Code, Visual Studio, Xcode
- Operating Systems: MacOS, Windows, Linux, iOS, Android
- Development Tools: Confluence, Jira, Jenkins, Splunk, Apigee, MediaWiki, Azure DevOps, TeamCity, Rundeck, Grafana, Sentry, Looker, BrowserStack, Concourse
- Agile: Scrum, Kanban, Extreme Programming (XP)
- Basic Experience: Scala (Play Framework), Java (Android), Swift (iOS)
Nov 2019 - Present | Cambridge, MA
- Real-time Performance Marketing
- Worked as software engineer in dealer's digital marketing team using Java/Spring, JavaScript/TypeScript/ReactJS and MySQL/MongoDB/Snowflake
- Played active role in design, development, deployment and production support processes for CarGurus website
- Designed and implemented periodic malware scanning solution for display ad landing pages, using Java/Spring, Docker, MySQL and Snowflake, which utilizes third party malware scanning SaaS through REST API
- Leaded, redesigned and reimplemented integration with Facebook through REST API for managing display ad campaigns, which automated/optimized business processes and made system more scalable (over 1000 campaigns)
- Car inventory system reengineering
- Redesigned and relocated to microservices, multiple use cases, related to car metadata and car inventory data domains
- Certified Pre-Owned (CPO) system reengenering
- Redesigned and decoupled into microservice with new requirement to support multiple CPO tiers per certifier
- Trim Matching system reengineering
- Redesigned and decoupled into microservice with the goal to improve quality, simplicity, auditability and cost efficiency
Mar 2012 – Nov 2019 | Medford, MA
- Roadside assistance automation platform (Aug 2015 - Present):
- Leaded product roadmap, architecture and development lifecycle for a Scrum team of 8 people since inception
- The platform completely automated human work in call centers for more than 1.5M (>20%) roadside assistance dispatches annually
- The platform helped the company to save more than $10M annually
- Designed and implemented critical parts of the platform, which contains more than 10 micro-services, using C#/ASP.NET, MongoDB/DynamoDB/Oracle and AWS
- Designed backward compatibility with call center platform and integrated with company's public APIs for major clients
- Roadside assistance call center platform (Mar 2012 - Aug 2015):
- Worked as software engineer on distributed platform which consists of client running on more than 3K desktops and multiple backend services, using C#/WinForms/ASP.NET/WCF and Oracle
- Developed several major features from client's requirements
- Implemented more than 10 common micro-services by decoupling logic from monolith system
- Introduced dependency injection and unit testing in desktop client's codebase
- Refactored/reengineered multiple parts of the system on client and server sides
- Developed address resolution WinForms controls library and integrated it to call center desktop applications, using C#/WinForms and Google Map
- Development frameworks, tools and processes:
- Designed and implemented web tool for distributed deployment of major call center desktop application (more than 3K desktops), using C#/ASP.NET, MongoDB, Angular and AWS
- Open-sourced more than 10 common .NET Core/Framework libraries using GitHub and NuGet
- Designed API-driven CI/CD pipeline for applications running on AWS
- Designed and implemented back-end of internal website for configuring call center telecom channels, using Scala/Play Framework and SQL Server
Oct 2009 – Mar 2012 | Moscow, Russia
- Retail management system for sport goods retail chain:
- Worked as software engineer in a self-contained cross-functional Scrum team for 3-tier architecture product, using C#/ASP.NET/WCF/WinForms and PLSQL/Oracle
- Played active role in development, deployment and production support processes
- Decoupled business logic from data access ORM layer to allow complete mocking and unit testing, which leaded to better test coverage and faster continuous integration process
- Developed tool for stress testing, using C#/.NET and JetBrains TeamCity
Apr 2008 – Oct 2009 | Tashkent, Uzbekistan
- Visual warehouse management desktop application:
- Leaded development process for a team of three developers and one QA
- Implemented generic data access layer which uses SQL Server or XML files as data store, using C#
- Implemented warehouse visual editor prototype for setting up aisles, sections and pallets, using C# with .NET WPF
- Distributed kiosk system for sausage manufacturing plant:
- Gathered requirement from client, designed architecture, leaded development and installed/supported system on-site
- Implemented server component and integrated it with 1C:Enterprise ERP system through COM interface, using C# with .NET WCF
- Implemented invoice printing for touchscreen kiosk at retail warehouse, using C# with Excel
- Sparkling water manufacturer's website:
- Implemented animated website prototype, using C# with Silverlight and JavaScript/HTML/CSS
- Realtime dashboard for furniture manufacturing plant:
- Implemented logic for periodic mapping data to UI, using C# with .NET WPF
Jan 2008 – Apr 2008 | Tashkent, Uzbekistan
- Warehouse and inventory management system for warehouse service providers:
- Added secondary inventory code to all layers of system: updated SQL Server database schema and stored procedures, updated .NET Windows Forms screens and changed business and data access logic using Visual Basic .NET
- Optimized search on all list screens by rewriting stored procedures in SQL Server
- Reengineered data access layer to enable support of localization using Visual Basic .NET
- Developed tool for inserting large amount of random data to SQL Server database for performance testing, using C# and .NET Framework
Aug 2004 – Dec 2007 | Tashkent, Uzbekistan
- Cost estimation desktop application for construction projects:
- Designed markup XML-based notation and developed its editor for describing construction works, using C# with .NET Windows Forms
- Developed tool for government construction standards migration from Excel format to internal SQL Server database, using C#
- Completely designed, implemented and supported the lite version of application for construction contractors, using Borland Delphi with InterBase for data store and Excel for reporting
- Cost estimation desktop application for reconstruction projects of central heating pipe networks:
- Completely designed, implemented and supported, using C# with .NET Windows Forms for user interface and Excel for reporting
- Added export to third-party file format for cost calculation
- Customer management desktop application:
- Completely designed, implemented and supported, using Borland C++ Builder with Word/Excel for reporting
Sep 2003 – Jul 2004 | Tashkent, Uzbekistan
- Video conferencing desktop application:
- Implemented module for capturing/playing user's voice and integrated it with network module, using C++, Windows API and DirectX Sound
- Implemented multi-user whiteboard with real-time collaboration and integrated it with network module, using Borland C++ Builder, Windows API and Windows GDI+
- Alarm monitoring desktop application:
- Developed user interface for configuring alarm detectors on floor plan, using Borland C++ Builder and Windows API
- Developed module for room recognition on floor plan image, using C++ and Windows GDI+
Feb 2011 – May 2012 | Austria
- Inventory management desktop application for small retail business:
- Completely designed, implemented and supported in multiple iterations as a single developer, using C# with .NET Windows Forms for UI, SQL Server/Entity Framework for data management, Excel for reporting and Visual Studio Installer for distribution
- Implemented user's scenarios for data backup, restoring and sharing among multiple desktops
- Implemented database patching framework using stored procedures to support multiple schema updates and backward compatibility
Jan 2005 – Jun 2006 | Tashkent, Uzbekistan
- Researched problems of equilibrium and stabilization of mechanical systems, as part of scientific group, funded by government scientific grant
- Developed programming module, using Maple math engine, which automates analysis of equilibrium of mechanical systems
- Developed vector-matrix notation and its algebra for simplified representation and calculation of scalar equations
- Published three articles, related to scientific work, in journals
Jan 2004 - Aug 2004 | Tashkent, Uzbekistan
- Taught "Introduction to C++" course for students individually
- Taught "Microsoft Visual C++ MFC" course for students individually
Aug 2003 – Jul 2005 | Tashkent, Uzbekistan
Area of study: Computer analysis of equilibrium and stabilization of mechanical systems
Aug 1999 – Jul 2003 | Tashkent, Uzbekistan
Area of study: Observation and control of mechanical systems
- Train the Trainer by LinkedIn (June 2022)
- Accessibility for Web Design by LinkedIn (May 2021)
- Database Clinic: Neo4J by LinkedIn (May 2020)
- Git: Branches, Merges, and Remotes by LinkedIn (Dec 2019)
- OWASP by Security Innovation (Nov 2018)
- Professional Scrum Master I by Scrum.org (Feb 2018)
- AWS Certified Developer by Udemy (Nov 2016)
- Searching and Reporting with Splunk by Splunk University (Oct 2016)
- Using Splunk 6.4 by Splunk University (Oct 2016)
- Introduction to Game Development with Unity3D by Michigan State University at Coursera.org (Feb 2016)
- Principles of Reactive Programming by École polytechnique fédérale de Lausanne at Coursera.org (Jun 2015)
- M101N: MongoDB for .NET Developers by MongoDB, Inc. (May 2015)
- Functional Programming Principles in Scala by École polytechnique fédérale de Lausanne at Coursera.org (Dec 2014)
- M101JS: MongoDB for Node.js Developers by MongoDB, Inc. (Jul 2014)
- Yellow Belt in Disciplined Agile Delivery (DAD) Framework by Disciplined Agile Consortium (Mar 2014)
- MCPD: Web Developer 4 by Microsoft (Jul 2011)
- MCPD: Windows® Developer 4 by Microsoft (Jul 2011)
- MCTS: SQL Server® 2008, Database Development by Microsoft (Jul 2011)
- MCTS: .NET Framework 4, Web Applications by Microsoft (Jul 2011)
- MCTS: .NET Framework 4, Windows® Applications by Microsoft (Jun 2011)
- MCTS: .NET Framework 4, Service Communication Applications by Microsoft (May 2011)
- MCTS: .NET Framework 4, Data Access by Microsoft (Mar 2011)
- MCTS: .NET Framework 3.5, ASP.NET Applications by Microsoft (May 2010)
- Human Resource Management and Development by Uzbekistan-Japan Center for Human Development (Aug 2009)