About Me

Huyen Nguyen

Hi, I'm a back-end engineer who is passionate about building distributed systems.

My Career

Hitachi Vantara

Worked on Hitachi Content Platform for Cloud Scale (HCPCS) - an object storage platform that is Amazon S3 compatible:

  • Taught myself distributed systems concepts and quickly ramped up on new tools/frameworks within 2 months.
  • Primary maintainer of the Management API, which is the API responsible for user authorization/authentication and serves as an abstraction layer over all internal APIs.
  • Designed and implemented scheduled policies for database management.
  • Collaborated with senior engineers to design and implement Amazon S3 APIs.
  • Participated in the design of all features, and fixed critical bugs, including those in areas that I did not develop.

Technologies involved: Java, RxJava, Dagger, gRPC, Protocol Buffers, Swagger, Docker, Raft Consensus Algorithm.

June 2018 - Present
Software Engineer

Microsoft New England Research and Development Center (NERD)

Developed Fact or Fiction - a web application that classifies subjective/objective sentence:

  • Designed and implemented the application using Model-View-Controller pattern.
  • Designed and implemented the database to manage entities (i.e. User, Query, Sentence) using object-relational mapping (Entity Framework).
  • Built APIs to handle text submission, user registration, and voting on a sentence.

Technologies involved: C#, Python, ASP.NET Core MVC Framework, Entity Framework, Azure.

October - December 2017
Software Engineering Intern

Putnam Investments

  • Taught myself to understand how Lucidworks Fusion indexes and store data in one week. Researched on internal database design. Collaborated with architects to integrate Lucidworks Fusion into Digital Investments Platform (DIP) to develop unified search across multiple databases.
  • Built data visualizations in DIP with real-time data ingestion to increase portfolio management productivity.
  • DIP is adopted by 1,700+ employees to manage $175 billion in assets under management.

Technologies involved: Lucidworks Fusion, REST, SQL, HTML, CSS, Bootstrap, D3.js, Ext.js.

May - August 2016
Software Engineering Intern

My Projects

Distributed Systems Projects

  • Implemented a file backup program that can move files/directory to a dumpster directory, or move files from the dumpster to the current directory, or remove all files in the dumpster permanently.
  • Technologies involved: C.

  • Built a client and server to remote execute shell commands.
  • Technologies involved: C.

  • Wrote a program to effectively query two large datasets with 50,000 customers and 5,000,000 records
  • Technologies involved: Java, Apache Hadoop, Map Reduce.

Xiangqi (Chinese Chess) Engine

  • Developed, and tested the game engine using Test-Driven Development.
  • Utilized design patterns to reduce my code base from 15,000+ down to 5,000+ lines of code.
  • Technologies involved: Java

Information Retrieval Projects

  • Developed program to crawl a text corpus with inverted index that can handle wildcard searches, and boolean searches
  • Implemented a search engine that uses Page Rank Algorithm.
  • Built a text clustering program using k-means clustering.
  • Developed the backend for a web application that searches for good restaurants at a given location based on combined user review scores from Yelp and Google Maps
  • Technologies involved: Python