Technical Lead2017 - PRESENTMCB A/S
- Worked as a technical supervisor for an offshore development team to ensure the quality of the code by doing peer reviews and applied unit tests/automation tests heavily.
- Contributed as a system architect or technical advisor to research and propose the best technical solutions that meet customer-specific requirements and feature enhancement while still being able to ensure the system integrity and conformity.
- Led the team of five senior developers to maintain and develop the eCommerce platform - the core product - that has several versions developed in ASP Classic, ASP.NET WebForm, ASP.NET MVC, and React.
- Used React as a drop-in solution into the existing ASP.NET MVC application to enhance user experiences, flexibility, as well as application performance and throughput.
- Maintained and optimized the whole system using DI (dependency injection); varnish and Redis cache; and appropriate patterns, practices, and algorithms in deep codes.
- Optimized front-end applications on both desktop and mobile devices using dynamic bundling and chunking system plus device-splitting solutions in order to minimize page loads as neatly as possible.
- Ran and supervised several big projects like a new template-based front-end version, new CMS version, and APIs as microservices simultaneously.
- Successfully built a new version for online shops that is faster, lighter, more flexible, and more stable with a much better user experience.
- Built a high-performance offshore development team.
- Collaborated with the CTO and other technical leads to build up the standard of technologies, principles, patterns, coding conventions, and quality.
- Participated in building up an effective and productive CI/CD infrastructure using TeamCity, Octopus, PowerShell, and self-developed APIs.
- Worked together with the product owner and management boards to create development strategies and plans.
- Applied and ran the development process smoothly using Agile/Scrum/Kanban on a daily basis.
- Continuously evaluated, refactored, and optimized the system for better stability and performance.
- Supported and trained other departments/colleagues about how to use the system correctly.
- Improved and ran the recruitment process to be more effective in matching great candidates.
- Mentored and coached colleagues (mostly developers) to be more professional, proactive, and productive.
Offshore Development Lead2012 - 2019ChangeDriver
- Led a team of three offshore developers to maintain and develop more advanced features for a product that allows large organizations to control and publish their blueprints.
- Set up CI (continuous integration) and CD (continuous delivery) system using ThoughtWorks GO and MS Build scripts to automate the build and deployment of the product.
- Developed a new version of web-based publication wiki application where organization employees could sign in to see information and instructions about the processes, activities, regulations, and compliances that they need to follow and perform.
- Developed SharePoint WebParts that help show organization blueprint publications inside SharePoint which is used as their ERP system.
- Built and developed a centralized claim-based authentication and authorization system for the product using AD FS (Active Directory Federation Services), C#, SAML1.1/2, WIF, and WCF.
- Implemented SSO (single sign-on) function which can be federated with clients' organization corporate network seamlessly using AD FS and WIF.
- Integrated and developed extended Identity Provider Service to allow federation with Google/Facebook/LinkedIn using C#, WIF, and OpenAuth1/2.
- Built and developed API using WCF, XML/JSON, WIF to allow integration with the clients' ERP system.
- Profiled and optimized performance in database queries; services loads using asynchronous + fire-and-forget calls; and web applications thoughput.
- Used WiX, XAML, and C# to build an installer of the whole product for customers who want to run their own private version of the product within their corporate network.
- Set up and developed an on-demand infrastructure with AWS CLI and C# that would automatically scale up or down to server multiple heavy operations simultaneously.
- Created an automated backup/restore system to improve product availability and fault-tolerance.
- Built and developed a remote logging system to synchronize logs from private installations of the product with a cloud-based logging system for easier support and diagnostics.
- Applied Agile/Scrum using JIRA and MS Excel.
Project Lead2010 - 2012DTT Globeteam Incorporation
- Led the team of around eight developers to build a product that helps large organizations to document, maintain, and publish their blueprints.
- Coordinated with clients for ideas and feedback to improve the product.
- Re-architectured and designed product based using Visio, UML, and Rational Rose.
- Ensured that ActiveX control is aligned and could run smoothly in various security scenarios within corporate networks.
- Developed a publishing system including a web-based application and publishing services to allow organizations to create an official publication of their blueprints.
- Created ClickOnce installation for WinForm application using Visual Studio.
- Used JIRA/MS Excel to apply Agile/Scrum into the development process.
Development Lead2007 - 2009DTT Globeteam Incorporation
- Worked closely with the project manager, QA lead, and customers to evaluate requirements; provide technical solutions; define SRS (software requirement specifications); and define scopes, milestones, and high-level iteration plans using MS Project and Microsoft Word/Excel.
- Coordinated with all team leads to work out detailed implementation plans for each and every iteration using MS Project and Excel.
- Set up and built a CI (continuous integration) system using TFS (Team Foundation Server) and Cruise Control.
- Built and developed core business services with ESB (Enterprise Service Bus) using C#, WCF (Windows Communication Foundation), XML, and SOAP.
- Built and set up a unit testing system to integrate into CI in order to ensure quality. Trained and embraced developers to create unit tests which eventually reached 55% code-coverage.
- Participated in recruiting and training new developers for project needs.
- Joined scrum review sessions every week with the project manager and customer to update them with status, progress and issues.
- Set up a network load-balancing system to improve the availability and performance of web-based applications that could serve thousands of concurrent users.
Team Lead2007 - 2007DTT Globeteam Incorporation
- Developed a rich and smart desktop-base PIM (Product Information Management) client application using C#, WinForms, Infragistics library, WCF (Windows Communication Foundation).
- Participated in designing an SOA (Service-oriented Architecture) for the whole system.
- Used WCF to build an ESB (Enterprise Service Bus) to serve as a generic message-based communication channel for all services and applications.
- Designed and built a dynamic form-based application using C# and XML which can easily be extended and modified to meet UI and UX requirements without having to change the codes.
- Widely applied asynchronous communications between end applications and services to give users the best experiences.
- Led a small team of six developers to work mostly on end applications.
- Coordinated with the services and databases team to ensure development priorities and planned are aligned together efficiently.
- Worked together with the QA team and customers to evaluate requirements, to review and continuously improve the application.
Teaching Assistant2004 - 2006Faculty of Technologies, National University of Hanoi
Technologies: Assembly, Visual Basic .NET (VB.NET), Microsoft SQL Server, Visual Studio, SQL, C#, Windows, MySQL, PHP, Pascal, VB, C++, C
- Developed and created a digital library for the faculty using Greenstone open-source software.
- Assisted in giving lectures to students in various areas of computer and information systems.
- Trained and supported students to work on a lot of small projects using C#, C/C++, VB, VB.NET, SQL, and ASM.
- Set up and worked on different internship projects with several government departments using Microsoft Access + VBA, PHP, MySQL, and .NET-based WinForms.
Intern Developer2003 - 2004Data Technology Co. Ltd.
Technologies: C, XML, Visual Studio, SQL, .NET, C#, Windows, Remoting, VXML, C++
- Created production-level codes using both C++ and C# to build a unified communication system.
- Applied Agile methodologies to build a professional software development process that acted fast on changes and reduced time to live.
- Widely used and applied OOP/OOAD, design patterns/SOLID, and best practices.
- Built an interactive voice response system based on XML and VXML.