Skip to main content

Posts

Showing posts from March, 2025
Choreography-Based Sagas: Ensuring Data Consistency in Distributed Systems What is a Choreography-Based Saga? A choreography-based saga helps maintain data consistency across microservices without a central coordinator. Instead, services communicate through events. Each service completes its task and publishes an event. Other services listen to these events and take necessary actions. If a failure occurs, compensating transactions undo previous steps. Implementing the Create Order Saga Using Choreography Workflow: Happy Path Here's how multiple services work together to process an order seamlessly: Order Service: Creates an order ( APPROVAL_PENDING ) and publishes an OrderCreated event. Consumer Service: Verifies the consumer and publishes a ConsumerVerified event. Kitchen Service: Creates a Ticket ( CREATE_PENDING ) and publishes a TicketCreated event. ...

Frameworks

  Communication Frameworks: BLUF:  Google's culture strongly emphasizes efficiency and directness, so getting to the "bottom line up front" is very common. SCQA:  Used in presenting proposals, making recommendations, and structuring project plans. PAS : Used in selling ideas and influencing others. BAB : Used in selling ideas and influencing others. Sparklines : Used in presentation to influence others. STAR:  Widely used in Google's interview process and performance evaluations. Problem-Solving/Decision-Making Frameworks: 5 Whys:  A fundamental technique for root cause analysis, and Google is known for its emphasis on data-driven decision-making, which often involves digging into the root causes of problems. Systems Thinking:  Given the complexity of Google's systems, a systems thinking approach is essential. The Four Questions : Used in post-mortem to review an incident. Human factors : Used in post-mortem to avoid the blame culture. Time Management/Prior...

Email - Incident Management

  Sample 1: Initial Alert (Sent Immediately When an Incident is Detected) Subject:  URGENT: Service Disruption - Customer Login System Dear [Stakeholder Name(s)], We are currently experiencing a major service disruption affecting our customer login system. Customers are unable to access their accounts, and this is impacting our ability to process transactions. Our engineering team is actively investigating the issue and working to restore service. We will provide an update within the next 30 minutes. We understand the severity of this issue, and we are working hard to fix it. Regards, [Your Name] [Your Title] Sample 2: Ongoing Incident Update (Sent During a Prolonged Outage) Subject:  UPDATE: Customer Login System Disruption - Investigation Ongoing Dear [Stakeholder Name(s)], This email provides an update on the ongoing disruption to our customer login system. Current Status:  The issue persists. Customers are still unable to access their accounts. Timeline: 10:00 AM...

"Action-Oriented, Stakeholder-Focused" MoM Structure

  I. Meeting Header: Meeting Title:  Clear and concise (e.g., "Project X Status Update," "Q3 Planning Meeting"). Date and Time:  Record the date and time the meeting took place. Location/Platform:  Indicate where the meeting was held (e.g., Conference Room A, Zoom). Attendees:  List the names and roles of everyone who attended. Absent:  List the names of key individuals who were invited but did not attend. Meeting Owner : Who was in charge of the meeting ? Document owner : Who is in charge of the documentation ? II. Key Discussion Points (Concise Summary): Purpose:  Briefly summarize the main topics discussed. Format:  Use bullet points for brevity. Content: Decision Points:  Clearly state any decisions that were made. Key Information:  Summarize any crucial information shared. Key Questions : Summarize the key questions that were raised. Open Issues:  Note any issues that remain unresolved. Stakeholder Focus:  Frame the summar...

Frameworks

  I. Frameworks for All Roles (Tech Lead, VP, Individual Contributor): Communication Frameworks: BLUF (Bottom Line Up Front):  For concise and effective communication, especially in emails and reports. SCQA (Situation, Complication, Question, Answer):  For structuring business communications and presentations to present a clear narrative. PAS (Problem, Agitation, Solution):  For a persuasive message. BAB (Before, After, Bridge):  For a persuasive message with a focus on the future. Sparkline:  For persuasive presentation with a focus on change. STAR (Situation, Task, Action, Result):  For structuring behavioral stories, particularly in interviews or performance reviews. Problem-Solving/Decision-Making Frameworks: 5 Whys:  For root cause analysis. Systems Thinking:  For understanding complex systems. The Four Questions:  For a post mortem. Human Factors : For a blame less post mortem. Time Management/Prioritization Frameworks: Eisenhower ...

"Proactive, Prioritize, Protect, Partner" (PPPP) Approach to Managing Stakeholder Demands

  Phase 1: Proactive (Set Expectations Upfront) Goal:  Establish clear expectations about how requests will be handled  before  they start piling up. Actions: Communication Framework:  Create a communication framework. Describe how and how often they can reach out to you. Process Transparency:  Be transparent about how the team works, how decisions are made, and how requests are evaluated. Prioritization Process:  Explain your prioritization process. Let them know that not every request can be immediately implemented. Roadmap : Share the team roadmap to set expectations. Educate:  Help them understand the constraints you are working under (time, resources, technology, etc.). Availability : Be clear on your availability. Constraints : Be clear about the constraints. Key Message:  "We value your input, and here's how we'll work together to manage it effectively." Phase 2: Prioritize (Focus on What Matters Most) Goal:  Develop a clear, obje...

"Identify, Understand, Engage, Maintain" (IUEM) Stakeholder Framework

  This framework provides a structured approach to building and managing effective relationships with stakeholders. Phase 1: Identify (Who Are Your Stakeholders?) Goal:  Determine who your stakeholders are and what their interests are. Actions: Brainstorm:  List everyone who has an interest in or is impacted by your work. Categorize:  Group stakeholders based on their roles or areas of interest (e.g., senior management, product owners, other tech teams, customers). Map Influence:  Identify who has the most influence or decision-making power. Map Impact:  Determine who is most affected by your work. Questions to Ask: Who can affect your work or your team's success? Who can be affected by your work or your team's decisions? Who can provide support or resources? Who are your key decision-makers? Tools : Stakeholder matrix. Phase 2: Understand (What Do Your Stakeholders Need?) Goal:  Gain a deep understanding of each stakeholder's needs, expectations, and ...

Connect, Understand, Align, Empower

  Phase 1: Connect (Build Relationships) Goal:  Establish personal connections with each team member and key stakeholders. Actions: One-on-Ones:  Schedule individual meetings with each team member. Purpose:  Get to know them, understand their background, career goals, and perspectives. Questions:  What are they working on? What are they excited about? What challenges are they facing? What are their strengths? Stakeholder Meetings:  Meet with key stakeholders (managers, product owners, other tech leads). Purpose:  Understand their expectations and priorities. Questions:  What are their key goals? How does the team's work impact their objectives? What are their concerns? Team Introductions:  Introduce yourself to the team as a group. Purpose:  Share your background, leadership style, and vision. Ask them : Ask them to share their expectations. Active Listening:  Pay attention to what people are saying (and not saying). Be Authentic: ...

Assess, Act, Inform, Review

  Phase 1: Assess (Understand the Situation) Identify:  What is the issue? What is happening? Scope:  How widespread is the issue? Is it affecting a small group of users, or is it a major outage? Impact:  What is the impact on users, the business, or the system? Is it critical, high, medium, or low? Severity : How severe is the issue ? Gather Information : What are the key details about the issue. Resources:  What resources (people, tools, systems) are available to address the issue? Prioritize:  Is this the most important thing you and your team should be working on right now? Phase 2: Act (Take Action to Resolve the Issue) Contain:  Take immediate action to contain the issue and minimize its impact. This could involve: Rolling back a recent change. Restarting a service. Taking a system offline temporarily. Diagnose:  Identify the root cause of the issue. Resolve:  Implement a solution to fix the problem. Test:  Ensure the fix works and...

Agentic AI - Inventory Management System