Storage Software Engineer, Storage Researcher.
All opinions are my own and do not represent my employer.
Storage Software Engineer, Storage Researcher.
All opinions are my own and do not represent my employer.
On January 5, I started at Google as a Software Engineer on the Napa database team. Napa is Google’s internal large-scale data warehousing system built around log-structured merge trees (LSM-trees) for real-time data ingestion. Its key feature is maintaining materialized views that stay consistent as new data arrives across multiple data centers, supporting queries with sub-second latency on petabyte-scale datasets. Why I’m Excited Returning to database and storage systems feels right. My time in Engineering Productivity at Databricks and at Augment Code was inspiring, but storage and databases are where I started, problems I keep coming back to. They need to work, are challenging to get right, and have strong foundations in both research and engineering. ...
After leaving Pure Storage in 2021, I remained in the Engineering Productivity space, joining Databricks to work on internal tooling. One of my main focuses was Runbot, Databricks’ CI solution. The work was challenging and impactful, helping a rapidly growing engineering organization maintain velocity and quality. However, after just over a year, I received an unexpected call from a former colleague: “Hey, we’re starting something new. It’s AI for Code.” The Beginning: Four People in a Room I joined Augment Code as a founding engineer. We were four people in a small room. This was before ChatGPT, before LLMs became mainstream, when “AI for code” was still a niche concept that required explanation. I primarily focused on the production system: LLM model serving, code indexing, and retrieval, but also operations, monitoring, deployment, security, and so on. ...
A journey of rediscovering my first major contribution to production databases through code archaeology I Remember Building This (But Not How) Summer 2013. I had just finished my PhD in storage systems. I rejoined Greenplum (I’d interned there in 2012) to work on their storage and transactions team. Between the internship and finishing the PhD, Greenplum changed. Hadoop was everywhere. The company was in turmoil. My task: extend Greenplum’s append-only tables to support UPDATE and DELETE—not for high-frequency updates, but to make them possible when needed. Keep the performance benefits for the primary workload: bulk loads and fast scans. ...
Interviews for software engineer job positions often involve coding interviews testing the basic coding and classical data structure and algorithm knowledge and understanding. AlgoExport is a commercial site to train for coding interviews (including system design and behavior interviews). It is actually doing a good job at it. I have been using it when preparing for my job switch recently. The coding aspect of the site consists of 155 coding questions. A list of all questions can be seen here. The unique selling point compared to Leetcode are the solutions and videos explaining the solutions in detail. ...
Last week was my last week at Pure Storage. Seven and a half years ago I joined Pure Storage working from a small chamber in the UK waiting for the US visa situation to work out. The overall engineering team consisted of a couple of dozen of engineers at the time. Since then, the company grow many times over, and I had the opportunity to contribute to different parts of the company and the FlashArray product: From replication and data protection to the file system and since 2020 internal Engineering Productivity. In this time, I worked with exceptional engineers and managers. I learned a lot from them and I grow a lot as an engineer and as a technical leader. I am proud of what we have built in these years: The FlashArray is just an amazing storage system. ...