Senior Software Development Engineer2018 - PRESENTGrubHub
Technologies: Java, Elasticsearch, Cassandra, Memcached, AWS, Scala, Spark, EMR, Python, TensorFlow
- Served as a member of the Search team, improving discovery and relevance of search results for millions of users by architecting scalable microservices and features, while maintaining p99.9 SLOs for availability and latency.
- Acted as technical lead for new content discovery service, which provides a curated and personalized topics interface instead of traditional filtering and sorting, with the aim of increasing the conversion rate of searches.
- Drove collaboration across multiple teams, including Product for feature refinement, Front end to develop sustainable API contracts, Back end to incorporate internal teams' microservice functionality, and Data Science for machine learning models.
- Led the implementation of a data science model serving infrastructure for TensorFlow and Annoy (K-nearest neighbors)-based models, which classify search keywords, expand search terms, and rank results.
- Oversaw the scaling of multiple services based on up to 3x volume projections, direct testing to identify limitations, implement solutions, and provide scaling cost estimates.
- Designed and implemented search product features leading to millions of dollars in diner lifetime value (LTV), along with query optimizations that reduced latencies by 40%.
- Mentored junior and new team members through deep dives into the technology stack, providing guidance on task implementation, and offering constructive feedback in code reviews.
Software Development Engineer II2015 - 2018Amazon.com
Technologies: Java, AWS, Elasticsearch, Oracle SQL, Node.js
- Assisted within Amazon Marketplace to improve the experience for millions of third-party sellers by reducing latency, implementing new features, and maintaining system health for seller user interfaces and reports.
- Directed design and implementation of the data access layer for our petabyte-scale datastore (Elasticsearch), servicing 2,000 reads/second, 100,000 writes/second, and p99 read latencies of two seconds.
- Collaborated across teams to define the data access layer interface, including error handling to ensure no loss of data and persistent connection mechanism for maximum availability.
- Developed tooling and monitoring software to provide continuous availability of a seller inventory back-end service, which is used both externally and internally by hundreds of teams.
- Designed and safely-automated the partitioning of seller data to reduce system hot-spotting for sellers with millions of listings, while keeping their data intact.