# Sarika Iyer > Princpal Software Engineer at Microsoft Location: San Ramon, California, United States Profile: https://flows.cv/sarikaiyer A software developer with 18+ years of experience in C,C++,SQL and database internals. Passionate about developing solutions for core database management systems, analyzing performance and scalability issues and providing state-of-the-art technology for mission critical projects. ## Work Experience ### Princpal Software Engineer @ Microsoft Jan 2019 – Present ### Development Expert @ SAP Jan 2015 – Jan 2019 | San Ramon, CA HANA Native Storage Extension • Developed highly performant Buffer cache management system in HANA to support disk based extenstion to HANA's existing in-memory column store. Implemented algorithms for efficient replacement policies for different access patterns and balancing across HANA's multi page sizes persistent system. • Developed data agnostic content management system to persist paged column data on disk. This also involved building transient in-memory structure to hold runtime column level content page information. • Led team to scale-up mix OLTP and OLAP workload in HANA on large systems, presence of an OLTP query can drastically degrade OLAP performance and vice-versa. • Conducted root-cause deep performance analysis to understand the impact on multi-core systems. Discovered hard to find issues like memory bandwidth, increased latency due to inter NUMA node read access. Improved performance close to KPI of 10% impact on OLTP response time by prototyping several improvements like queuing OLTP jobs on seperate short running queues to independently schedule and execute OLTP jobs. Provided self tuned reduction of OLAP job workers in presence of OLTP executors to achieve optimum OLTP performance. ### Staff Software Engineer @ SAP Sybase Jan 2011 – Jan 2015 | San Ramon, CA • Key member for scaling up ASE using TPCC workload to achieve performance of 1 million transactions per minute. o Improved lock manager to reduce spinlock contention in obtaining locks on a hot object. o Improved Logging process through log page preallocation ensuring no pages are leaked due to crash. o Improved Prefetch logic to reduce I/O waits. • Improved logging process to minimize the waits on log page flush before the data page is flushed to disk, implemented as part of Buffer Unpin project. • During Logging, addressed bottleneck due to Last Log semaphore contention reducing contention by > 50%. • Designed and implemented Lockless buffer cache and lightweight Latch manager system to resolve scalability issues due to heavy spinlock contention. • Active member of XOLTP design, development and performance team lead across different geo locations. Primary focus in areas of logging, latch free BTREE, in-memory row versions. o Successfully delivered upto 2X improvement in certain workloads compared to page store. ### Software Engineer @ ANTs software inc Jan 2003 – Jan 2010 Part of kernel engineering team involved in developing high performance database server(GeneroDB) using multi-threaded, message based architecture also designed for high compatibility with other RDBMS. Enhanced the performance of the server by designing and developing a system that reduces database startup time. This project involved changing core areas of the existing database such as log recovery, checkpoint, DDLs etc. Modified internal representation of decimal from string of bytes to 16-byte fixed structure. This involved writing new decimal arithmetic along with major changes in database internals related to decimal storage and indexes. Expertise in debugging and fixing complex and hard to find server bugs. Development was done in C++ on major platforms like Windows and Linux. Part of a team developing Ants compatibility server engine using C++ that can run an application written for one source database on any other target database. Primarily responsible for Datatypes, Expression handling and Type Inferencing subsystems in the database server. Worked in other areas of the server like the memory manager, stored procedures, query preparation and code generation. Major development platforms were Windows-32, Windows-64, Linux-32,Linux-64 and AIX. ### Software Engineer @ IBM Informix Jan 2000 – Jan 2002 ## Education ### Post Graduate Diploma in Software Technology National Center for Software Technology(NCST), Mumbai ### Bachelors Degree in Electronics Engineering University of Mumbai ## Contact & Social - LinkedIn: https://linkedin.com/in/sarika-iyer-6a9925 --- Source: https://flows.cv/sarikaiyer JSON Resume: https://flows.cv/sarikaiyer/resume.json Last updated: 2026-04-12