avatar

Software Engineer

About Me 🔗

I began my software engineer career in Amadeus, a leading airline IT company based in France. I was a C++ developer initially and then moved to the cloud team for lift and shift migrating inventory service from on-prem to GCP. I love my work there as the Amadeus system is built as a textbook: Read and write segregation, Memcached layer for large scale transactions, solid C++ middleware, one repo, elegant CICD and etc.

The cloud team was funded in around 2017, at a time when microservices architecture wasn’t yet mainstream. My team did a good foundation of micro-service architecture using modern technologies like Kubenetes/Openshift for fleet orchestration, HAProxy for load balancing, Consul for service discovery, Couchbase as DB offering optional level of consistency, Helm and Terraform for infra deployment, Prometheus and Splunk for monitoring. I also managed to optimize cloud costs and lead a Spark-based log analysis project.

Looking back, I consider Amadeus’ system the most elegant architecture I’ve worked with so far. I only wish I had explored it even deeper and thought more about the details and retionale behind it.

Then I joined Oracle Cloud Infra Network Dataplane team, which is a tier-0 service team. Here, I grew tremendously in both technical and operational skills under a manager who was an expert in both Linux and networking. The scale of everything was mind-blowing - we routinely thought in terms of petabits-per-second throughput and optimized systems down to the nanosecond level. Working with such powerful infrastructure gave me concrete experience in large-scale distributed systems and taught me how to design for high availability and low latency in mission-critical environments. It also boosts my confidence in tackling any challenge or incident.

I participated in multiple projects:

  1. DPDK upgrade to adapt different OS and hardwares, where I get more practical experience on how hardwares work for networking, how linux networking stack works, how DPDK optimized the packet processing performance by bypassing the Linux network stack using zero-copy, customized NIC drivers and ring buffers.
  2. Building the metrics and billing aggregation layer from scratch in Go, which was extended to a service. it’s my first end-to-end service build on my own considering high cardinality of metrics, and accuracy of billing.
  3. I also became proficient in Terraform while automating our infrastructure deployments, learning important lessons about operational challenges through CI/CD design.
  4. The most valuable experience is designing and implementing software for high availability and fault-tolerance data plane.

Beyond the technical growth, I really valued team’s supportive and knowledgeable environment. If I could change one thing, I would have put more efforts into building professional relationships across more teams.

Now at NVIDIA, I’m excited to be working on a workflow engine systems. This time, I’m making personal networking and knowledge-sharing a priority alongside technical work, as I found most AI technologies in Nvidia are mysteries to me, even with my Data Science background. I’ll be sure to share updates as this new chapter unfolds!