# Damien Katz > Software Engineer Location: Alameda, California, United States Profile: https://flows.cv/damienkatz Hardcore software engineer, distributed systems expert and product architect. One of the fathers of NoSQL movement as the creator of Apache CouchDB, the first versions I wrote in my spare bedroom. Also, I hate the term NoSQL. People say I'm a big data guy, I don't know how that happened. Not afraid to get my hands dirty and dive deep on any problem. Excellent written and oral communicator, accomplished blogger, coder, team leader and llama wrestler. Former "Erlanger of the Year", I have the plaque to prove it. I have a long track record of successfully finding and implementing ridiculously reliable solutions, often unorthodox in their simplicity, in widely deployed products such as Couchbase Server, Apache CouchDB, MySQL and Lotus Notes (yeah, the one everybody hates, screw that product pfffft). I also remodeled a kitchen and rebuilt a porch. And once I saw a blimp. ## Work Experience ### Software Engineer @ PlanetScale Jan 2025 – Present | San Francisco, California, United States Working on ThrustDB for PlanetScale. ### Software Engineer @ ThrustDB Jan 2025 – Jan 2026 | Home Wrote the thread_pool_hybrid connection handler which is faster and more scalable than either the default MySQL connection handler or Oracles Enterprise Connection Handler. https://github.com/Damienkatz/thread_pool_hybrid Working on converting the MySQL Innodb transactional engine to use Couchbase cluster as a persistence layer, instead of attached storage. ### Senior Software Engineer @ Amazon Web Services (AWS) Jan 2017 – Jan 2023 | Palo alto Aurora MySQL engine, Performance Team. Designed and wrote code for connection handling, query cache, replication, encryption and security, read replica write forwarding. ### Architect and Coder - Noise Project @ Noise Project Jan 2016 – Jan 2018 | Alameda, CA Noise is a JSON full text and ad-hoc query engine with example-based query syntax. It features word and sentence match, proximity match, comparison and boolean operators, relevancy scoring, and aggregations. I designed and wrote most of the code in project, as well as bindings for running in-process in Node.js. It's written in Rust. http://noisesearch.org ### Architect @ Salesforce Jan 2014 – Jan 2014 | San Francisco Bay Area Architect of large scale storage system to back next generation of multi-tenant RDBMS to replace Oracle RAC. ### CTO and Chief Architect @ Couchbase Jan 2011 – Jan 2013 | Mountain View, CA Lead architect of Couchbase Server 2.0 and 3.0. A clustered, low latency, highly available, elastic document database system featuring secondary indexing, intra- and inter-cluster replication, stupidly easy deployment and administration. Responsibilities: * Ensure reliable integration and predictable operation of all components under a variety of workloads, configurations and environments. * Identify and communicate design issues, implementation issues and risks across components and disciplines and keeping all project stakeholders aware and up to date. Usually. * Manage Storage Engine, Indexing/Query, and Cross-Datacenter Replication component teams, while also responsible for design and integration of complete architecture. * Reviewed mountains of code and piles of designs and ensure they are workable and testable in isolation and with the complete server stack. * Dove in and wrote, debugged and fixed code in C, C++ and Erlang as necessary for at-risk components. * Resolved interpersonal and interteam conflicts. A bunch. Sometimes I created the conflicts (oops). * Produced and reviewed Functional Specs, Design Specs and Implementation Specs within and spanning across component teams. * Spoke at conferences and wrote widely read blog articles. * Assessed and communicated risks and tradeoffs of reliability, performance and project schedule with teams, product management and executive management. * Met with customers, investors, analysts and industry press communicating product roadmap and vision. * Developed mobile product integration and data-replication strategy and worked with mobile team on technical and design issues. * Watched company grow to over 120 employees and became bewildered at the number of people I pretended to know. * Learned that ETL stands for Extract, Transform, Load. How the hell did I not know that before this job? ### CEO @ CouchOne Jan 2009 – Jan 2011 Founder and CEO of a startup based on Apache CouchDB. Hired some ridiculously talented engineers. Talked to a ton of press, analysts and created viral marketing campaigns. Created the mobile PAAS strategy. Spent way too much time raising capital. ### CouchDB guy @ IBM Jan 2008 – Jan 2009 Paid to work on CouchDB, bring it into Apache and help IBM understand and use it. Reported directly to Information Management CTO. ### Principal Engineer @ MySQL Jan 2008 – Jan 2008 Forced my way into the company when I fixed a 2 year+ old bug given to me as an a take-home interview question meant to prove the work was out of my league. In a way they were right, as I had no experience with RDBMS internals and I didn't even know SQL. In the 10 months I was there worked my way from the maintenance team (fixed a ton a bugs) to the core server runtime team. My last project was to implement cross platform evented IO and thread pooling that became part of MySQL Enterprise Edition. More Info from blog of Brian Aker, MySQL CTO: http://krow.livejournal.com/572937.html ### Engineer @ Kubi Software Jan 2002 – Jan 2004 A startup that produced a team collaboration tool piggybacking on email for replication/updates and installed as add-on to Lotus Notes and MS Outlook. Spam filters, white lists and black lists doomed the product because if a single team member could not receive the messages, the tool became useless to the larger team. ### Engineer @ Iris Associates (Lotus Development) Jan 1997 – Jan 2002 Engineer on Lotus Notes and Domino internals. Single handedly redesigned and coded the Notes Formula Language runtime engine in C++. A simple language, similar to Excel spreadsheet formulas, originally version designed and written by Ray Ozzie, built into the core and used throughout both Notes and Domino. It is the primary programming language used in Notes applications and runs both client side and server side. 

Critical for server performance, used for generating database view indexes, and on the web server used to generate dynamic pages and validate submissions.

 Details: * Designed and implemented a completely new internal runtime execution model, while maintaining full backwards (and bugward) compatibility. * Increased runtime performance 200-400%. * Static analysis to determine referentially transparent code paths for lazy evaluation and result caching. * Lazy evaluation allows expressions to evaluate only when needed, saving time if results not used. * Partial result caching allows intermediate computation results to be computed once and used again in later executions. * More details:
 http://damienkatz.net/2005/01/formula-engine-rewrite.html Database Team: I finished the formula rewrite early and then helped the database team during the push to get 6.0 shipped. Notes and Domino uses its own proprietary, cross platform database engine. I fixed dozens of bugs and performance problems. Responsible for maintaining "unread mark" functionality, both the front-end Notes client and back-end database and server level. Stabilized the code base fixing dozens of bugs and then designed an efficient and reliable system for replicating unread marks between servers. Received patent. Implemented Java calling JavaScript Liveconnect functionality in the Notes client. Used message queues to allow multiple Java threads to transparently run code in the single threaded Notes client. Did a bunch of front end UI related work (Queue "Lotus Notes UI is a disaster" jokes). ## Contact & Social - LinkedIn: https://linkedin.com/in/damienkatz - Portfolio: http://damienkatz.net - Portfolio: http://couch.io - Portfolio: http://couchdb.org --- Source: https://flows.cv/damienkatz JSON Resume: https://flows.cv/damienkatz/resume.json Last updated: 2026-04-10