Interviews

Interview with Sarath Lakshman

Introduction


Sarath was bitten by the Linux bug during his teenage years and developed a user-friendly GNU/Linux distribution called SLYNUX (2005). He has authored many articles for the Linux For You magazine on various domains of Free and Open Source Software. He is passionate about building scalable distributed infrastructure software. Currently, he is working as a Software Architect for Storage Engineering at Couchbase. He can be reached out via his website 

Interview


Can you talk about your experience so far in the software industry? What are your major responsibilities in the current company?

I started my career working for Systems Engineering Group at Zynga working on zynga private cloud and zbase – a NoSQL database that powered Zynga gaming infrastructure. For the past 6.5 years, I have been working at Couchbase, Bangalore in the area of indexing and storage. In my current role as Architect for Storage Engineering, I have been building high-performance storage engines for secondary indexing and document storage.

What are the major challenges in your domain while building a new feature and what are the things that you keep in mind ?

At Couchbase, we have been constantly innovating on storage engine design to provide scalability and performance. First-principles thinking has been key to innovation. It allowed us to simplify designs as well as provide superior scalability and performance by optimizing from the ground up. I learned over the years that careful effort to avoid complexity is very rewarding. Embracing simplicity is to make the components in a system and their roles very obvious so that it cannot go wrong. Complex systems and code without good interfaces always are a pain to debug and deploy in production. It is valuable enough to spend quality thinking time during the design and implementation phase to come up with good interfaces, unit tests, statistics for debugging, etc. Once a product is deployed in production, the cost of debugging and fixing an issue under pressure is quite high. Quality investment during the development phase delivers more quality time for the next step of features as you would save a lot of time debugging later.

How do you ensure your constant learning while working in the corporate world ?

Following interesting papers from top conferences in databases helps in understanding the new trends and what’s coming. For other trends outside of my work area, once in a while, I try to do short projects to understand how those things work conceptually and to find out if that is something I would enjoy in the long term.

Do you have any advice for the budding architects ?

The passion for innovating through first principles thinking combined with practical execution is good to practice. It is always good to consider several design trade-offs and pick the one which offers simplicity with better customer experience. Sometimes we feel attached to the code, which biases us to stick with complex design, which might have practically insignificant trade-offs.  Constantly asking the question, if this is simple enough to meet the requirements and practically robust have helped me make good decisions.

Your one favourite book on design and architecture ?

Regarding systems designs, my favorite would be the design of Unix. An interesting book that comes to my mind is “The principles of computer systems design” by Jerome H. Saltzer  and M. Frans Kaashoek .

Are you hiring Architects/senior engineers now in your company ?

We are currently hiring seniors engineers in various roles to work on the core database server. Please feel free to reach out on my email id sarath at couchbase.com.

Back to top button