Experienced software engineer with a proven track record of building and optimizing high-performance, distributed systems in diverse industries, including online gaming, finance, and e-commerce. Expertise in a wide range of technologies, including C++, Java and cloud infrastructure.
Experience
2018 — Now
2018 — Now
Yerevan, Armenia
Contribute to the development and maintenance of Grubhub's core platform and act as the maintainer of the Netty-based edge router, a critical component handling all Grubhub traffic.
Serve as the subject matter expert for Kafka, contributing to its integration and adoption across the platform.
• Performance & Troubleshooting: Identify and resolve performance bottlenecks, stability issues, and reliability problems. Utilize tools like flame graphs to analyze performance and proactively address technical debt. Investigate and resolve critical production issues, including an event streaming platform event loss, a complex Kafka issue with excessive retry attempts, and a race condition in a core utility class.
• Kafka & Messaging: Play a key role in the design, development, and rollout of Grubhub's Kafka-based messaging platform. Contribute to core Kafka libraries, implement features, and migrate services. Possess a strong understanding of Protobuf and Avro to resolve serialization challenges.
• Infrastructure & IaC: Champion infrastructure automation and efficiency. Led the development and implementation of Grubhub's Pulumi-based IaC solution for managing Kafka resources.
• Netty & Low-Level Systems: Leverage extensive experience with Netty to contribute to high-performance systems. Developed a Netty-based client for the company's event streaming platform as one of my first projects at Grubhub. Work with network programming and threading.
• DevOps & Service Mesh: Proactively troubleshoot and resolve infrastructure and deployment issues, including those related to service mesh and Envoy. Analyze live systems, utilizing tools such as thread dumps, traffic sniffers, and Unix utilities to diagnose and address problems.
2015 — 2018
2015 — 2018
San Francisco Bay Area
• Designed a new socket based real-time server push service. Protocols considered include mqtt, stomp, grpc and http/2, as well as custom protocols on top of google protobufs.
• Migrated Zynga's central real-time chat and presence system from Zynga's private cloud to AWS EC2 and AWS services. Re-designed the system to work in AWS environment.
• Driving a new strategic initiative to boost player engagement and retention by introducing innovative features in in-game chat service. Owning all aspects of the project, from coordinating meetings with 3rd party vendors to building a fully-functional prototype and selling the feature to game teams.
• Business trips to London, Beijing and Bangalore locations to help with ongoing integration and to enable cooperation between the studios and central teams. Conducted demos and technical presentations onsite, organized knowledge sharing sessions.
• Worked on a custom C based Zend extension
• Implemented a RESTful web service for conversation filtering, introduced new tech stack.
• Continued hands-on development of new features, studio support and live backend OPs together with other team members.
• Working with Business Development department to evaluate tech offerings of several startups for potential acquisitions.
• Conducting technical interviews for Game Services and other central teams.
2014 — 2015
2014 — 2015
San Francisco Bay Area
Zynga Game Services Team:
• Designed, developed and maintained RESTful game backend services handling hundreds of millions of requests per day. I also maintained and developed new features for Zynga's presence and real time messaging system. In this team we owned the application layer and were responsible for the infrastructure, provisioning and operations [java, golang, netty, membase, redis, elasticsearch].
2011 — 2014
2011 — 2014
San Francisco
• Designed and implemented account/profile fuzzy search feature [python, php, solr, membase]
• Designed and implemented major parts of our workflow engine (a core component in Zynga’s cloud management, provisioning and automation system). [java, jbpm, tomcat, mysql, rightscale api, aws]
• Introduced new software processes and engineering best practices
• Built tools to automate the scaling procedures of our membase storage clusters.
2010 — 2011
2010 — 2011
Singapore
Working in MLFX (bank’s institutional FX e-commerce platform) front office team as a backend C++ developer.
Contributed to NDF trading project.
Completely upgraded MLFX software platform (gcc/boost/tibco/3rd party libraries upgrade). Done thorough analysis of post-upgrade issues, e.g. increased memory usage in some server processes, compiler/linker issues etc. Received a Global Recognition Platinum Award for this project.
Participated in MLFX platform latency/capacity analysis and remediation project.
Education
Yerevan State University
MS
2004 — 2006
Yerevan State University
BS
2000 — 2004