Duy Pham, Software Developer in Hanoi, Vietnam
Duy Pham

Software Developer in Hanoi, Vietnam

Member since August 17, 2019
Duy has 16+ years of software development experience using Microsoft's technology stack, primarily .Net. He builds high quality and high-performance back-end systems and creates web applications with good UX using modern frameworks like Angular or React. He's proactive and results-oriented with a love of not only writing, but also removing code to ensure efficient, stable, and flexible software is delivered within the projected scope and budget.
Duy is now available for hire

Portfolio

  • MCB A/S
    Angular, React, TypeScript, Gulp, Node.js, Bootstrap, jQuery, JavaScript...
  • ChangeDriver
    C#, ASP.NET, AJAX, jQuery, JavaScript, Web Services, RESTful Web Services...
  • DTT Globeteam Incorporation
    C#, VB.NET, ASP.NET, AJAX, WCF, XML, JSON, jQuery, Web Services...

Experience

Location

Hanoi, Vietnam

Availability

Part-time

Preferred Environment

.NET, Visual Studio, VSCode, Github, Agile

The most amazing...

...project I've contributed to is an application to help organizations maintain their blueprints.

Employment

  • Technical Lead

    2017 - PRESENT
    MCB 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.
    Technologies: Angular, React, TypeScript, Gulp, Node.js, Bootstrap, jQuery, JavaScript, Blazor, C#, ASP.NET WebForm, ASP.NET MVC, .NET Core, Web API, Entity Framework, LLBLGEN, DI, CI/CD, TeamCity, SQL, Microservices, Docker, Docker Swarm
  • Offshore Development Lead

    2012 - 2019
    ChangeDriver
    • 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.
    • Maintained and enhanced ActiveX control for embedding Microsoft Office applications into a web-based organization-blueprint editor tool using COM+/DCOM/ActiveX and JavaScript.
    • 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.
    Technologies: C#, ASP.NET, AJAX, jQuery, JavaScript, Web Services, RESTful Web Services, WCF, WIF, SharePoint WebParts, XML, JSON, HTML, CSS, ActiveX, DCOM, Microsoft Office Interops, Selenium, WiX, StringTemplate, AD FS, SAML, Batch Scripts, PowerShell
  • Project Lead

    2010 - 2012
    DTT 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.
    • Developed an ActiveX control for embedding Microsoft Visio, Word, and Excel into a browser to allow users to work with the product seamlessly using C++, JavaScript, and COM+/DCOM/ActiveX.
    • Ensured that ActiveX control is aligned and could run smoothly in various security scenarios within corporate networks.
    • Developed web-based editor tools using ASP.NET WebForms, AJAX, jQuery, JavaScript, HTML/CSS, Web services, and XML/JSON for users to edit the content of their organization's blueprints such as diagrams, documents, instructions, and publications.
    • 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.
    Technologies: C#, VB.NET, ASP.NET, AJAX, WCF, XML, JSON, jQuery, Web Services, RESTful Web Services, WCF, WIF, ClickOnce, C++, ActiveX, DCOM, Microsoft Office Interops, HTML, CSS, Teleriks, SQL
  • Development Lead

    2007 - 2009
    DTT 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.
    • Supported front end team to built up web-based applications using ASP.NET Web-forms, JavaScript, WCF, SOAP, and AJAX.
    • 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.
    Technologies: C#, SQL, Web Services, WCF, WPF, ASP.NET AJAX, TFS, Cruise Control, MS Project, Selenium, JavaScript, SOA, OOP, XML, Service Bus, Infragistics
  • Team Lead

    2007 - 2007
    DTT 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.
    Technologies: C#, SQL, Web Services, WCF, WPF, ASP.NET AJAX, TFS, Cruise Control, MS Project, Selenium, JavaScript, SOA, OOP, XML, Service Bus, Infragistics
  • Teaching Assistant

    2004 - 2006
    Faculty of Technologies, National University of Hanoi
    • 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.
    Technologies: C, C++, VB, Pascal, C#, PHP, SQL, MySQL
  • Intern Developer

    2003 - 2004
    Data Technology Co. Ltd.
    • 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.
    Technologies: C++, C#, XML, VXML, .NET Remoting, SQL

Experience

  • MCB A/S (Development)

    Almost right after joining MCB, as the lead developer, within 9 months I have successfully built a new version of our eCommerce platform using ASP.NET MVC and React as a drop-in solution. The new version is so flexible, stable and faster that almost 80% of our existing customers have decided to upgrade to new version. Besides, we have also succeeded in selling for 5 more big B2B customers.

    By adding more unit/automation tests, pair reviewing/programming refactoring and mentoring to build high-quality code, we have reduced support hours by 50% not only on the new versions but also on old versions of our e-commerce platform.

    We have been tuning performance using RedGate ANTS profiling tools, using DI (Dependency Injection), caching, dynamic bundling, lazy loading, asynchronous loading to help increasing throughputs up to 45% and optimizing page loads by more than 60% to be around < 1s in average on all online shops.

  • ChangeDriver A/S (Development)

    Leading a team of 3 core and senior developers, I built a completely new version of ChangeDriver from scratch to bring it from a Desktop-based application to a cloud-based SaaS (Software as a Service) running on AWS.

    I made it possible to embed Microsoft Office Applications such as Visio, Word, and Excel using C++/COM+/ActiveX to allow process owners to use ChangeDriver Editor as a unified tool/application for building their organization blueprints.

    Based on WIF (Windows Identify Foundation) and with AD FS (Active Directory Federation Services), I was able to add SSO (Single-Sign-On) to ChangeDriver multi-tenancy system supporting federation with customer corporate networks, LinkedIn, Google, SharePoint.

    Using ChangeDriver, organizations usually publish their blueprints for their employees to understand their processes and execute them accordingly. In order for being able to handle multiple large publications concurrently, I developed an auto scale-out publishing system with AWS EC2 CLI, WCF, .NET 4.0 multi-threading techniques.

    I also created several powerful RESTful APIs to serve the data to not only present publications to organization employees but also to allow integration with organizations' ERP systems.

  • Vacasol A/S (Development)

    Within 3 and a half years, as offshore development lead most of the time, I was able to reach 90% of milestones throughout the project.

    By using WCF (Windows Communication Foundation), SOAP/XML, self-made ESB (Enterprise Service Bus), we did build up a very flexible, highly scalable SOA (Service-oriented Architecture) system that helped property owners to easily enter vacation houses; contract partners to define flexible and multi-level pricing systems; end-users to search and book vacation houses through our load-balanced web applications; and reseller partners to do bi-directional synchronization with Vacasol databases.

    For the last 1 year within the project, I did tune the performance a lot to allow loading property detail page and searching thousands of houses in less than 3 seconds.

Skills

  • Languages

    C#, SQL, XML, C++, Visual Basic .NET (VB.NET), TypeScript, JavaScript, HTML, HTML5, VB, C, Bash Script, CSS, VBScript, Assembly, Visual Basic for Applications (VBA), Sass
  • Frameworks

    .NET, ASP.NET, ASP.NET MVC, Windows Communication Framework (WCF), ASP.NET Web API, NUnit, ASP.NET Web Forms, Classic ASP, .NET Core, MVC Razor, WIF, Bootstrap 3, Entity, ActiveX, Redux, Swagger, Selenium, Angular, Windows PowerShell, Blazor, Bootstrap 4
  • Libraries/APIs

    jQuery, Entity Framework, React, REST APIs, Ajax Control Toolkit, jQuery UI, AWS EC2 API, Infragistics
  • Tools

    Visual Studio, LLBLGen, MSBuild, ADFS, Microsoft Office, TFS, Visual SourceSafe, Git, Redux Thunk, Subversion (SVN), xUnit, WiX Installer
  • Paradigms

    Agile, Scrum, Extreme Programming, Continuous Integration (CI), Continuous Delivery (CD), REST, Dependency Injection, COM+
  • Platforms

    Android, Windows, Visual Studio Code, Telerik, AWS EC2
  • Other

    Ajax, APIs, Microsoft Interop, Multithreading, RESTful APIs, DI, VXML
  • Storage

    JSON, Microsoft SQL Server, SQL Server Management Studio, OpenXML, MySQL

Education

  • Bachelor's degree in Computing and Information System, Software Technologies
    2000 - 2004
    Faculty of Technologies, National University of Hanoi - Hanoi, Vietnam

To view more profiles

Join Toptal
Share it with others