Adrian Duong

Computer Scientist | Software Engineer | Bioinformatician
adrian.duong@gmail.com | www.adrianduong.com

Experience

May 2018 – present

Engineer

Render, San Francisco, California, USA

Kubernetes, Go[lang], ReactJS, GraphQL, PostgreSQL, Terraform, GCP

December 2017 – March 2018

Senior Software Engineer, Tech Lead

August 2014 – November 2017

Software Engineer

Symphony Commerce, San Francisco, California, USA

  • Performance: implemented custom Spring multi-level clustered Redis cache; tuned application & infrastructure parameters e.g. Hibernate params, AWS params, pool sizes, TTLs; led load-testing & holiday shopping season preparedness efforts supporting 5x throughput
  • Reliability: pushed for automated testing e.g. data-access testing, controller-level testing; upgraded core libraries & runtime e.g. Spring 4, Jetty 9, Java 8; set up metrics dashboards & alerts on AWS CloudWatch, StackDriver, & SignalFx
  • Infrastructure: implemented multi-tenant TLS termination using HAProxy with SNI; led experiment to use SPDY protocol; implemented application-level rate-limiting; set up Graylog/Elasticsearch cluster
  • Technical design: investigated & reported on techniques & paradigms such as the actor model, reactive systems, CQRS, event sourcing; implemented image resizing microservice with Akka HTTP/Streams in Scala, ImageMagick, Docker
  • Developer productivity & education: wrote best practice documents, technical articles; delivered tech talks on testing, refactoring; evangelized Java 8 features; advocated functional programming style; engaged in 1-on-1 mentorship across teams; drafted syllabus for software engineering education
September – December 2013

Software Engineering Intern

Symphony Commerce, San Francisco, California, USA

  • Ensured systems were up & running, especially under load; led experimentation with Twemproxy for Redis clustering
  • Measured system performance using JMeter, Bash, & Python scripts
  • Identified, triaged, & addressed performance issues by code analysis, Java VisualVM, & SQL query analysis
  • Designed & implemented primitive access control interface with AngularJS & Spring
  • Implemented database generator for deterministic tests
January – April 2013

Software Engineering Intern

Twitter, San Francisco, California, USA

  • Explored visualizations for monitoring & alert data using D3.js
  • Wrote data-consistency testing utility for internal data API to discover & address bugs
  • Improved services alert management web interface
May – August 2012

Bioinformatics Technical Analyst

Ontario Institute for Cancer Research, Toronto, Ontario, Canada

  • Analyzed cancer genomics data with programs written in Perl, R, C++ that incorporate survival analysis, data visualization, probabilistic graphical models
  • Integrated new data source into Java-based Bayesian network classifier to produce updated biological functional interaction network
  • Ported C++ genomics & pathway analysis tool into Java
  • Publication in F1000Research (DOI: 10.12688/f1000research.4431.1)
September – December 2011

WormBase Web Developer

Ontario Institute for Cancer Research, Toronto, Ontario, Canada

  • Profiled & optimized server-sized code for large open-source biological web application based on Perl, Catalyst, AceDB with emphasis on query performance and concurrent connections
  • Investigated and documented NoSQL alternatives to AceDB; prototyped CouchDB model to replace AceDB
January – April 2011

WormBase Web Developer

Ontario Institute for Cancer Research, Toronto, Ontario, Canada

  • Contributed to MVC stack of WormBase from back-end to front-end with attention to code readability and efficiency
  • Developed test framework
  • Publication in Nucleic Acids Research (DOI: 10.1093/nar/gkr954)
May – August 2010

Bioinformatics Research Assistant

University of Calgary, Zimmerly Lab, Calgary, Alberta, Canada

  • Implemented Perl programs mining Genbank, automating group II intron identification, classification, sequence storage, display
  • Publication in Nucleic Acids Research (DOI: 10.1093/nar/gkr1043)

Education

September 2009 – April 2014

Bachelor of Computer Science, Honours Computer Science

University of Waterloo, Waterloo, Ontario, Canada

  • Bioinformatics specialization; co-operative program
  • Graduated with Distinction on Dean's Honours List (91.5% CAV)

Technologies

Go, Scala, Java 8, Javascript, ES6, node.js, Python, Perl, Bash, Akka, Kafka, Consul, Spring, Hibernate, Docker, Kubernetes, Ansible, Terraform, ReactJS, AngularJS, React, AWS, GCP, PostgreSQL MySQL, Redis, Elasticsearch

Interests

Functional programming, math, computer science, natural science, object-oriented design, program language design, education, cycling, skiing, hiking, powerlifting, machine learning, digital security