Cache Layers for Software Architecture and Systems Design

This is a reference guide for caching in distributed systems. Well-designed caching at scale enables faster response times for API endpoints and improves the end user and customer experience. What are Cache Layers? Caches are a way to improve performance and reduce latency by trading space for time. The simplest example to start with is … Read more

9 DevOps Interview Questions

Building on the interview questions for Engineering Manager, Senior Software Engineer, and Ruby on Rails Software Engineer positions, I have developed additional interview questions that are useful when interviewing DevOps and DevSecOps engineers. Since DevOps is an IC role that works with many teams across an organization and can have varying types of responsibilities depending … Read more

Buffers and Placeholders in Agile SCRUM Project Management

In Agile SCRUM, upfront planning is done for the different phases of a project, outlining the minimum scope and the requirements for each phase. The Agile SCRUM methodology accounts for some planning in the process, with user stories, tasks, and requirements turned into tickets that become part of a sprint. Two proactive tools to manage this uncertainty are to use buffers and placeholders which address specific uncertainties by making time to handle them