Software developer with MS degree and over a decade of hands-on experience in designing and developing large-scale, high-performance software systems, specializing in C/C++/Python.
Experience
2020 — Now
● Designing and developing software components in C/C++ for a distributed object storage system. The system provides high availability and software-defined scalability while using key-value store as the back end.
● Developed the Distributed Lock Manager (DLM) module to perform recovery during cascading node failures and ensure non-disruptive operations. Improved recovery performance during node addition/failure by ~400%. Introduced Lock Value Block (LVB) support to reduce locking overhead for snapshots and consistency points.
● Conceived and formulated the Quality of Service (QoS) subsystem, implementing algorithms for dynamic bandwidth allocation based on workload and system conditions while collaborating with cross-functional and remote teams.
● Developed asynchronous APIs for the Object Access Layer (OAL), implementing erasure coding and replication policy for resilient access. As part of performance optimization, eliminated memcpy in the data path for both EC and copy-based protection, using SGLs and related techniques to avoid buffer copies within OAL, improving performance across all IO sizes.
● Leveraged AI-driven development workflows, including prompt engineering, automated prompt-generation techniques, and agent-assisted workflows to rapidly ramp up on new components, analyze call stacks/code paths, and support development activities.
2017 — 2020
2017 — 2020
San Jose
• Working on a next-generation, distributed object storage system. Designing a highly scalable, performant, highly available system and carrying out backend development in C++11 on Linux platform.
• Responsible for designing and developing the Object Access Layer (OAL). Implemented Replication and Erasure Coding data protection policies. Developed the API & the library for all the store operations, implemented store response handling & error management. Other features developed include lock-free RDMA buffer management, network fault tolerance and metrics management.
• Responsible for developing the Object Redistribution (OR) module used by Cluster Rebalancing in case of a node/store failure. Developed it to be a multi-threaded functionality scheduled to run as a background job.
• Developed Partial Redistribution module which provides journaling support to facilitate Non-Disruptive Upgrade (NDU) for nodes & stores.
• Contributed to the design aspects of Storage Fabric Services, Compression module. Worked on the cache lookup/eviction strategy in Metadata Cache Manager (MCM).
• Performed right sizing and configured the storage system as a cloud service on Azure. Tested the feasibility of running the system on single VM using Docker and Kubernetes.
• Introduced code coverage for unit tests across the stack and got it integrated into build server which improved system stability. Developed bash scripts for developer testing on the storage cluster. Developed boost unit test suites (OAL, OR, MCM).
• Collaborated within core performance engineering group which resolved issues across the software stack to improve overall write performance by 42%. Lead the efforts to improve the performance of OAL & Fabric Services which decreased end-to-end latency by 20% for large write workloads.
2014 — 2017
2014 — 2017
Morgan Hill
• Designing and developing on a multithreaded, cross-platformed C++ based VNA application. Have worked on the development of new features & algorithms, architectural improvements, refactoring and performance optimization using C++11/C# on Windows/Linux.
• Developed foundational libraries and APIs for the application. Implemented mathematical algorithms for the display of different VNA graphs. Designed and developed new architecture to record and display the console commands for all the API calls made by the application.
• Resolved issues that were valued to incur losses of over $800K in the Asia region. Improved the reliability of the application and the quality of existing software design by fixing various issues in the code.
• Designed and developed tools to create automation test scripts from the UI inputs by using .NET Compiler Platform ("Roslyn"). Developed tools to auto-generate documentation for the console commands.
• Managed source code into Git, SVN. Contributed towards improving Agile/Scrum processes within the team. Worked with Jira, Jenkins, CppCheck, SonarQube.
• Gained the reputation for being an excellent problem solver with strong skills in debugging and a flair for developing innovative software solutions. Took self-initiative in gathering deeper technical information which on an occasion led to the shelving of an ongoing project.
2013 — 2014
Syracuse, New York, United States
Graduate Teaching Assistant : Analysis of Algorithms
2013 — 2013
2013 — 2013
San Francisco Bay Area
Developed automation test scripts in Python. Carried out Migration testing across all the features of Splunk Big Data Management Tool. Worked on Unix/Linux servers, Amazon EC2, Ansible.
Education
Syracuse University
MS
National Institute of Technology Rourkela
B.Tech
S.K. Somaiya College.
Junior College
Fatima High School
Ramjas school, R.K.Puram
Ramanath Secondary School