David Lau

View My GitHub Profile

View My LinkedIn Page

View My Reading List

davidopluslau@gmail.com

Welcome!

I'm David Lau. Professionally, I'm a backend software engineer at Blue Apron.

How I Got Here

At post-Judo practice dinner one night, another Judoka brought up a discovery of hers: a blog from a dating website. It had all sorts of insights: women think men look atrocious but message them anyway. If you want to determine your compatibility with someone, don't ask about God and sex, ask about horror films and traveling, etc etc. I figured, this was all pretty cool, maybe I'll give an introductory course a shot. That initial interest in what I later discovered to be data science turned into one class... and then two... and then twelve. Along the way, I also discovered that I enjoyed just plain old software engineering. Building software was fun. I did it first in 2012 for VidCaster (now Vidlet), building them an internal analytics display, as well as real-time metrics for their customers. The following year, I joined onto Amazon's digital coupon team, where I built a tool to add and remove coupons from the popular deals page. In 2014, I began work with Refresh Inc., joining an incredible team to build the backend for a mobile app that builds digital dossiers on the people you meet. When we were acquired by LinkedIn in 2015, I moved over with my other teammates to work on a variety of projects.


At this point, I'd been in the Bay Area since birth, and I decided that it was time to see something more. In early 2017, I joined Manhattan-based Blue Apron to make a move across the country. I currently work on engagement and retention features, with a specialization in performance.


Stuff I've Done

After graduation, I assisted Refresh's overhaul of our mobile experience. I worked with the team to design and implement an architecture that would simultaneously improve the UI, maintain our blazing fast speed, and improve our flexibility and agility in adding new insights. The team and I did this all over again with our web overhaul, building an additional system that chose different payloads and formatting based on the intended client. And to feed consistent data to our apps, I helped populate a server with tens of millions of images and built an API layer on top of it to pull up the most appropriate image based on recency, media source, size, and other factors.


I joined Refresh when it had fewer than ten engineers, and so I had a lot of responsibility beyond what a new hire would normally get, especially when it came to site reliability. I initiated about a quarter of our deployments to production and roll backs as necessary. I was the engineer in charge of maintaining our server fleet, which eventually grew to over twenty machines across three providers as I added, maintained, and decommissioned them. And lastly, I was the perennial secondary on-call for server outages, although thankfully, our team's philosophy of strong fault tolerance meant that my nights were never sleepless, just occasionally longer.


My responsibilities changed a lot when I transitioned to LinkedIn. With my user base increased by over a hundred times, I put my Wild West-days of zero-testing behind me. Development cycles slowed, but in exchange, I reached more users. My technologies changed to reflect this: I wrote the first of what would be dozens of Hadoop jobs which would come to impact millions of users. I produced emails to help them claim certifications, projects, publications, and patents we determined, using heuristics, that they'd completed but never explicitly acknowlededged credit for. I rebuilt our legacy work anniversary update system—yes, that dreaded work anniversary system that irritates so many members—to make it more maintanable, robust, and most importantly, relevant. And I had plenty of non-Hadoop work as well. I made notifications for job changes, birthdays and others smarter and with reduced load on upstream systems. And, at one point, I learned Android so that I could build calendar sync for the Android version of our mobile rebuild. If you've used it, then you've touched something I've built.


Blue Apron's size was a main determining factor when I chose them. With about 100 engineers at my time of joining, we aren't in a scramble-to-build the way VidCaster and Refresh had been, which gives me the freedom to build code thoughtfully, and our large user base gives me the leverage and scale to make a substantial impact in people's lives. And unlike with the multi-national giants Amazon and LinkedIn, I have broad ownership of sizable parts of the code, never pigeonholed into small components down in the weeds, and I have the agility to iterate more quickly. The combination of these things gave me the ability to spend two weeks on a performance improvement, leisurely reading about B-trees and meandering through production databases all the while, to shave half a second off our homepage load times across all clients. I hope to dwarf this with even greater improvements in times to come.


Stuff I Can Do

If a backend needs to be built, I can build it. I currently work in Ruby/Rails, though I quickly realized that I'm not a fan of most of its design guidances. The bulk of my experience is in Java and Python. I can write a dirty but effective bash script; my Unix is far from world-class, but I was the top contributor of time-saving macros to my LinkedIn team. I used to be a Vim snob; now I'm simply a Vim user (my hand-crafted color scheme, six hours of work and counting). I've worked in the Rails, Play, Django and Spring MVCs. And, I have a basic understanding of various front-end technologies like Javascript, HTML, and CSS, though I'm no specialist in them.

I've got some other stuff I can do, but it's on my resume. My email is davidopluslau@gmail.com (my blood type is O-positive).


Stuff I Like to Do

I enjoy coding, but my life is broader than just that. My main passion is craft cocktails. I make them at home, both classics and originals, and I've put together about ten events at Blue Apron. As an intermediate powerlifter, I can deadlift 345lbs and squat 275. I've recently started recurve bow archery in Gowanus. I played ping pong with my LinkedIn team, which developed a healthy respect for my backhand topspin. I'm also a frequent patron of Dear Mama Coffee in East Harlem and can often be found there with an espresso and my Kindle for company.


Contacting me

You can reach me through davidopluslau@gmail.com