Back to resume

My contributions within the ElastiCache team were specifically focused on the MemoryDB project. The primary objective of the product is to ensure the data persistence of Redis clusters managed by ElastiCache. As part of this initiative, I participated in the design and implementation of a leader/follower election mechanism based on the Raft protocol.

One notable aspect of this journey was fostering collaboration within the team. I facilitated discussions on foundational Object-Oriented Programming (OOP) design patterns, like the State pattern, to collectively enhance our understanding. This collaborative effort allowed us to effectively shape the architecture of the leader election mechanism.

To promote knowledge sharing and collaborative decision-making, we adhered to Amazon’s standard practice of documenting design decisions. Design discussions were facilitated through written documents, allowing the team to contribute asynchronously and ensuring transparency in decision-making processes.

Navigating the challenges of developing and testing in C++17, a relatively unknown language for the team, we adopted the GoogleTest framework. Emphasizing best practices in OOP code and testing methodologies, we worked together to ensure the reliability and robustness of the system.

Prior to that, I focused solely the toolset and build system for this project, which was guided by principles of simplicity and broad utility. Our focus was on tools that seamlessly integrated across platforms (Mac, Windows, Linux) and were well-supported by both internal and community resources. This approach aimed to enable the team to concentrate on delivering business value without unnecessary tool-related complexities.

Another part of the job was being on-call. As part of my on-call responsibilities, a noteworthy incident involved a Redis cluster of one of our biggest customers in the gaming industry, where the master node faced latency and connectivity issues. This incident not only required a thorough investigation but also provided an opportunity for cross-functional collaboration with engineers across the organization, including Principal Engineers, directors, and product managers.