<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://jes.al/atom.xml" rel="self" type="application/atom+xml" /><link href="https://jes.al/" rel="alternate" type="text/html" /><updated>2025-10-25T18:09:16+00:00</updated><id>https://jes.al/atom.xml</id><title type="html">Jesal Gadhia</title><subtitle>Seasoned full-stack developer from sunny Los Angeles. Started my programming adventures at an early age, writing code for fun.</subtitle><author><name>Jesal Gadhia</name></author><entry><title type="html">How to break the cycle of firefighting and build engineering excellence</title><link href="https://jes.al/2025/01/how-break-cycle-of-firefighting/" rel="alternate" type="text/html" title="How to break the cycle of firefighting and build engineering excellence" /><published>2025-01-01T00:00:00+00:00</published><updated>2025-01-01T00:00:00+00:00</updated><id>https://jes.al/2025/01/how-break-cycle-of-firefighting</id><content type="html" xml:base="https://jes.al/2025/01/how-break-cycle-of-firefighting/"><![CDATA[<h4 id="exercise-better-foresight-by-identifying-patterns-pinpointing-what-makes-them-persist-and-understanding-what-could-prevent-it-in-the-future">Exercise better foresight by identifying patterns, pinpointing what makes them persist, and understanding what could prevent it in the future.</h4>

<p>Take a moment to count the urgent issues you handled this week. Production incidents. Customer escalations. Team conflicts. Deadline pressures. For many engineering leaders, these “firefighting” moments consume the majority of their workday, leaving little time for strategic thinking or meaningful improvements.</p>

<p>This constant cycle of reacting to problems is exhausting and expensive. Every hour spent handling preventable issues is an hour not spent on innovation, team development, or strategic planning. The cost compounds across your team, affecting morale, productivity, and your ability to deliver value.</p>

<p>But there’s a better way. By embracing systems thinking, you can transform your team from reactive to proactive, creating processes that run themselves and free you to focus on what matters most: innovation and growth.</p>

<h3 id="understanding-the-systems-thinking-iceberg">Understanding the systems thinking iceberg</h3>

<p>One powerful model to visualize systems thinking is the <strong>iceberg model</strong>. Just like an iceberg, where 10% is visible above water while the remaining 90% lies beneath the surface, this model reminds us that there’s much more to a situation than meets the eye. The visible problems are often symptoms of deeper, hidden issues.</p>

<p><img src="/public/wp-content/uploads/0_hJ6B_sr8FQ36-4kN.jpg" alt="0_hJ6B_sr8FQ36-4kN.jpg" /></p>

<h3 id="levels-of-thinking-in-the-iceberg-model">Levels of thinking in the iceberg model</h3>

<h3 id="1-the-event-level">1. The event level</h3>

<p>At the tip of the iceberg are the <strong>events</strong> — the immediate issues that catch our attention. These are surface-level incidents that often demand urgent responses. Examples include:</p>

<ul>
  <li><strong>A critical system outage causes downtime.</strong></li>
  <li><strong>A major customer complains due to a missed project deadline.</strong></li>
  <li><strong>An unexpected defect is discovered in a recently released product.</strong></li>
</ul>

<p>While addressing these events is necessary, focusing solely on them keeps us in a cycle of reaction without addressing the root causes. It’s like repeatedly putting out fires without investigating what started them.</p>

<h3 id="2-the-pattern-level">2. The pattern level</h3>

<p>Just below the surface, <strong>patterns</strong> emerge when we observe similar events happening over time. Recognizing these patterns helps us anticipate issues. Examples of patterns might be:</p>

<ul>
  <li><strong>Frequent system outages</strong>: noticing that system downtimes occur consistently during peak traffic hours.</li>
  <li><strong>Recurring customer complaints</strong>: observing that customer dissatisfaction spikes whenever a specific feature is updated.</li>
  <li><strong>Consistent project delays</strong>: realizing that projects often overrun their deadlines by similar timeframes.</li>
</ul>

<p>By identifying patterns, we begin to see that events are not isolated incidents but symptoms of deeper issues that need to be addressed.</p>

<h3 id="3-the-structure-level">3. The structure level</h3>

<p>Deeper still are the <strong>structures</strong> influencing the patterns we observe. Structures include processes, organizational hierarchies, tools, and policies that shape behavior. Examples of structural issues might be:</p>

<ul>
  <li><strong>Inefficient resource allocation</strong>: teams are understaffed during critical periods, <a href="https://leaddev.com/culture/four-ways-protect-yourself-burnout">leading to burnout</a> and mistakes.</li>
  <li><strong>Outdated processes</strong>: reliance on manual testing rather than automated testing increases the chance of defects slipping through.</li>
  <li><strong>Communication silos</strong>: <a href="https://leaddev.com/communication/want-promote-knowledge-sharing-your-teams-standardize-way-you-take">departments not sharing information effectively</a>, causing misalignment and delays.</li>
</ul>

<p>These structures create the conditions that lead to the patterns and events we experience. By examining and modifying structures, we can influence the patterns and prevent undesirable events.</p>

<h3 id="4-the-mental-model-level">4. The mental model level</h3>

<p>At the base of the iceberg lie the <strong>mental models</strong> — the beliefs, values, and assumptions that drive behavior within the system. Examples include:</p>

<ul>
  <li><strong>A speed over quality mindset</strong>: believing that getting products to market quickly is more important than ensuring they are free of flaws.</li>
  <li><strong>Resistance to change</strong>: assuming that established processes don’t need updating because “they’ve always worked before.”</li>
  <li><strong>Underestimating the importance of communication</strong>: not valuing <a href="https://leaddev.com/communication/leaders-guide-fostering-effective-cross-team-collaboration">cross-department collaboration</a>, leading to isolated teams.</li>
</ul>

<p>These underlying mental models perpetuate the structures and patterns leading to recurring events. Changing mental models can be challenging but is essential for sustainable transformation.</p>

<h3 id="strategies-for-implementing-systems-thinking">Strategies for implementing systems thinking</h3>

<p>With a clear understanding of the underlying issues, the next step is to implement strategies that foster systems thinking and build self-sustaining processes. Here are actionable steps you can take to apply these strategies in your organization.</p>

<h3 id="engage-your-team-in-analysis">Engage your team in analysis</h3>

<p>Involving your team in analyzing the different levels of the iceberg model is crucial. Suppose your team is experiencing frequent project delays. Organize a retrospective meeting involving project managers, engineers, and other stakeholders to examine each level:</p>

<ul>
  <li><strong>Events:</strong> document specific instances of delays and their immediate impacts.</li>
  <li><strong>Patterns</strong>: collect data on project timelines to identify common bottlenecks.</li>
  <li><strong>Structures</strong>: examine whether current project management tools and processes are effective.</li>
  <li><strong>Mental models</strong>: encourage team members to share their beliefs about deadlines, workload management, and quality standards.</li>
</ul>

<p>By bringing together diverse perspectives, you can uncover hidden issues and foster a sense of ownership over the solutions. This collaborative approach ensures that any changes made are well-informed and more likely to be embraced by the team.</p>

<h3 id="identify-leverage-points">Identify leverage points</h3>

<p>Focus on areas where small, strategic changes can have a significant impact. Leverage points often exist within processes, resource allocation, or communication channels. For example:</p>

<ul>
  <li><strong>Implement a tiered support system</strong>: if customer complaints often arise due to slow response times from support, introduce first-line support for quick resolutions and escalate complex issues to specialized teams.</li>
  <li><strong>Streamline approval processes</strong>: if project delays are the product of lengthy approval procedures, simplify or automate approvals to speed up workflow.</li>
  <li><strong>Reallocate resources</strong>: if a team is consistently overloaded, redistribute tasks or hire additional staff to alleviate pressure and improve efficiency.</li>
</ul>

<p>By targeting these leverage points, you can disrupt negative patterns and foster positive outcomes with relatively minimal effort.</p>

<h3 id="challenge-mental-models">Challenge mental models</h3>

<p><a href="https://leaddev.com/management/how-bring-about-positive-cultural-change-your-team">Addressing and reshaping underlying beliefs</a> is crucial for sustainable change. If there’s a “speed over quality” mindset leading to product defects:</p>

<ul>
  <li><strong>Initiate a cultural shift</strong>: launch training sessions emphasizing the importance of quality and its long-term benefits. Share case studies where poor quality led to significant issues.</li>
  <li><strong>Promote open communication</strong>: if resistance to change stems from fear of the unknown, encourage transparency by involving team members in decision-making processes and explaining the benefits of new initiatives.</li>
  <li><strong>Encourage cross-functional collaboration</strong>: if departments work in silos, organize joint projects or team-building activities to break down barriers and foster a collaborative culture.</li>
</ul>

<p>Changing mental models may require consistent effort, but it lays the foundation for lasting improvement.</p>

<h3 id="develop-an-action-plan">Develop an action plan</h3>

<p>An action plan turns insights gained from discussions into concrete steps you can follow to improve the situation. For optimizing cross-department collaboration:</p>

<ul>
  <li><strong>Set clear objectives</strong>: aim to reduce project delays by 25% in the next quarter.</li>
  <li><strong>Define actions</strong>: implement regular inter-departmental meetings, use collaborative tools like shared project boards, and establish clear communication protocols.</li>
  <li><strong>Assign responsibilities</strong>: designate team leads to oversee collaboration efforts and ensure accountability.</li>
  <li><strong>Set timelines</strong>: roll out changes within the next month and schedule regular reviews to assess progress.</li>
</ul>

<p>An effective action plan should be specific, measurable, achievable, relevant, and time-bound (SMART) to ensure accountability and track progress.</p>

<h3 id="monitor-progress-and-adjust">Monitor progress and adjust</h3>

<p>Continuous monitoring allows you to measure the effectiveness of changes and remain flexible. After implementing new processes:</p>

<ul>
  <li><strong>Track metrics</strong>: monitor KPIs such as customer satisfaction scores, defect rates, or project completion times. When metrics aren’t trending in the desired direction, analyze root causes and adjust your approach — perhaps by reallocating resources, modifying processes, or revising timelines.</li>
  <li><strong>Gather feedback</strong>: regularly solicit input from team members about what’s working and what’s not. Use this feedback to make targeted improvements, such as streamlining overcomplicated processes or providing additional support where teams are struggling.</li>
  <li><strong>Celebrate successes</strong>: recognize improvements and milestones to maintain momentum and motivate the team.</li>
</ul>

<p>By staying attentive to results and being willing to adapt, you can ensure that the changes have a lasting positive impact.</p>

<h3 id="components-of-self-sustaining-systems">Components of self-sustaining systems</h3>

<p>Ensuring that all essential components are addressed will help build systems that are not only effective but also self-sustaining. Here are key elements to focus on:</p>

<h3 id="1-roles-and-responsibilities">1. Roles and responsibilities</h3>

<p>Establishing clear organizational structure and team interactions forms the foundation of effective systems. While no longer current practice at Spotify, <a href="https://blog.crisp.se/wp-content/uploads/2012/11/SpotifyScaling.pdf">Henrik Kniberg’s influential 2012 model of scaling agile organizations</a> demonstrates this through several key concepts.</p>

<p>The model organizes autonomous, cross-functional squads that operate like mini-startups, each owning a specific part of the product lifecycle. It scales collaboration through <a href="https://www.wrike.com/agile-guide/squads-tribes-guilds/">tribes</a> — collections of squads working in related areas — to maintain coordination without sacrificing autonomy.</p>

<p>The model also builds expertise through <a href="https://www.adaptovate.com/agile/what-are-chapters-in-an-agile-operating-model/#:~:text=Chapters%20are%20a%20way%20of,information%2C%20technologies%2C%20and%20methodologies.">chapters</a>, where specialists across different squads share knowledge and practices. This structure exemplifies how clear roles and responsibilities can create self-sustaining systems that balance autonomy with collaboration.</p>

<h3 id="2-knowledge-and-skills">2. Knowledge and skills</h3>

<p><a href="https://leaddev.com/culture/beginners-guide-building-sustainable-learning-culture">Developing a learning culture</a> enables organizations to adapt and innovate continuously. Microsoft’s transformation under Satya Nadella, chronicled in his <a href="https://news.microsoft.com/hitrefresh/">2017 book “Hit Refresh</a>,” showcases how even large enterprises can fundamentally reshape their culture:</p>

<p>The company focused on embedding a growth mindset where learning from failures is valued over knowing all the answers. This started with leaders modeling vulnerability by openly sharing their own failures and lessons learned. They implemented “failure retrospectives,” where teams analyzed setbacks not as problems to avoid but as valuable learning opportunities. Recognition systems were revised to reward innovative attempts and learning processes, not just successful outcomes.</p>

<p>They worked on breaking down silos by promoting cross-functional skill development and collaborative learning. This included rotating team members across departments, creating mixed-skill project teams, and establishing regular knowledge-sharing sessions where different departments teach each other about their work. They also implemented shared objectives that required multiple departments to collaborate, moving away from department-specific goals that encouraged isolation.</p>

<p>Microsoft also prioritized psychological safety which encouraged questioning, learning, and challenging the status quo. Leaders achieved this by actively soliciting diverse viewpoints in meetings, responding positively to challenges of their own ideas, and establishing <a href="https://leaddev.com/culture/5-takeaways-running-50-postmortems">“no-blame” policies</a> for raising concerns. They created formal channels for anonymous feedback and suggestions, while also training managers to respond constructively to new ideas and concerns. Regular town halls and open forums were established where employees at all levels could question existing practices and propose alternatives without fear of negative consequences.</p>

<h3 id="3-processes-and-rituals">3. Processes and rituals</h3>

<p>Establishing consistent operational practices ensures reliability and enables innovation. Drawing from their extensive experience operating large-scale systems, <a href="https://sre.google/sre-book/">Google’s Site Reliability Engineering teams</a> have pioneered practices that demonstrate this.</p>

<p>Their teams implement <a href="https://cloud.google.com/blog/products/management-tools/sre-error-budgets-and-maintenance-windows">error budgets</a> — a concept that gives teams a specific allowance for acceptable system failures. They define clear service level objectives (SLOs) that ensure technical decisions directly connect to customer impact.</p>

<p>Their teams also follow a structured <a href="https://sre.google/workbook/incident-response/">post-incident analysis process</a> that goes beyond just fixing immediate problems. Each incident triggers a formal review with a standardized template covering what happened, why it happened, its impact, and the broader systematic improvements needed. This systematic approach has helped Google build institutional memory and continuously improve their operational practices</p>

<h3 id="4-tools-and-equipment">4. Tools and equipment</h3>

<p>Building and maintaining the right tooling infrastructure enables teams to work effectively. <a href="https://netflixtechblog.com/">Netflix’s engineering organization</a>, renowned for its open-source contributions and innovative practices, demonstrates this through several groundbreaking approaches.</p>

<p>Netflix pioneered chaos engineering through tools like Chaos Monkey, which randomly terminates instances in production to ensure systems can handle unexpected failures. <a href="https://netflixtechblog.com/netflix-chaos-monkey-upgraded-1d679429be5d">This tool simulates real-world failures by deliberately causing outages</a> during business hours when engineers are available to respond. This forces teams to build resilient systems that can handle failures gracefully. Netflix has built deployment pipelines that automate the process of moving code from development to production. These pipelines include automated testing, security scanning, canary deployments (rolling out changes to a small subset of users first), and one-click rollbacks if issues are detected.</p>

<p>For custom testing tools, Netflix developed and open-sourced several frameworks that others can learn from. <a href="https://netflixtechblog.com/fit-failure-injection-testing-35d8e2a9bb2">The failure injection testing (FIT) framework</a> allows teams to inject failures at the application level rather than the infrastructure level. For organizations looking to develop their own testing tools, <a href="https://netflixtechblog.com/tagged/testing">Netflix’s engineering blog</a> provides examples of their approach to testing distributed systems..</p>

<h3 id="5-observability-and-metrics">5. Observability and metrics</h3>

<p>Creating comprehensive system visibility enables data-driven operations. <a href="https://docs.aws.amazon.com/wellarchitected/">AWS’s Well-Architected Framework</a>, demonstrates effective observability through several key practices that have transformed how organizations monitor and respond to system behavior.</p>

<p>AWS implements integrated metrics, logging, and tracing that work together to provide complete system visibility. For example, when a customer experiences a slow checkout process, teams can trace the entire transaction path across different services, examine detailed logs of each component’s behavior, and correlate this with system-wide performance metrics. This three-pronged approach helps quickly identify whether the issue stems from database performance, network latency, or application code.</p>

<p>AWS aligns technical metrics directly with business outcomes through what they call “business-aware monitoring.” Rather than just tracking technical metrics like CPU usage or memory consumption, they monitor business-relevant metrics like order completion rate, revenue per hour, or customer engagement scores. When technical issues occur, teams can immediately see the business impact — for example, how a slight increase in API latency directly correlates to a drop in successful checkouts or customer engagement. This approach helps teams prioritize their responses based on actual business impact rather than just technical severity.</p>

<h3 id="6-performance-and-expectations">6. Performance and expectations</h3>

<p>Implementing a performance management system fosters a culture of accountability and continuous improvement. Netflix’s widely studied high-performance culture, recently reaffirmed in their <a href="https://jobs.netflix.com/culture">2024 culture memo</a>, demonstrates this.</p>

<p>Netflix hires experienced professionals who thrive in environments of freedom and responsibility, paying top-of-market compensation to attract and retain exceptional talent. To prevent burnout, they implement unlimited vacation policies and encourage actual usage, maintain flexible working arrangements, and explicitly discourage long hours. Instead of measuring time spent, they focus on impact delivered. Teams are kept intentionally lean, with each member bringing significant expertise and value, rather than distributing work across larger groups.</p>

<p>The company’s “keeper test” is a fundamental part of their performance management approach. Managers regularly ask themselves: “If this person were interviewing elsewhere, would I fight hard to keep them?” This isn’t about constant pressure, but rather about maintaining honest dialogue about performance and fit. If the answer is “no,” they provide generous severance packages rather than maintaining ongoing employment.</p>

<p>Netflix’s approach focuses on providing context rather than top-down control. In practice, this means leaders spend significant time sharing detailed information about company strategy, market conditions, and business challenges. For example, instead of dictating specific technical solutions, leaders might share comprehensive data about customer behavior, cost constraints, and strategic priorities, then trust their teams to make informed decisions.</p>

<h3 id="final-thoughts">Final thoughts</h3>

<p>Picture this: Your phone buzzes with another escalation. But this time is different. Instead of jumping into firefighter mode, you see an opportunity for fireproofing.</p>

<p>Take that production incident, customer escalation, or team bottleneck and ask:</p>

<ul>
  <li>What patterns made this inevitable?</li>
  <li>Which structures allow these patterns to persist?</li>
  <li>What system could prevent this entirely?</li>
</ul>

<p>Then build it. While others scramble from crisis to crisis, you’ll be methodically eliminating the conditions that create them.</p>

<hr />

<p><em>This article was originally published on</em> <a href="https://leaddev.com/management/how-break-cycle-firefighting"><em>LeadDev.com</em></a> <em>on Dec 24th, 2024.</em></p>]]></content><author><name>jesalg</name></author><category term="career" /><category term="leadership" /><category term="software development" /><summary type="html"><![CDATA[Exercise better foresight by identifying patterns, pinpointing what makes them persist, and understanding what could prevent it in the future]]></summary></entry><entry><title type="html">Build an AI roadmap that actually delivers value</title><link href="https://jes.al/2024/10/build-an-ai-roadmap-that-actually-delivers-value/" rel="alternate" type="text/html" title="Build an AI roadmap that actually delivers value" /><published>2024-10-15T00:00:00+00:00</published><updated>2024-10-15T00:00:00+00:00</updated><id>https://jes.al/2024/10/build-an-ai-roadmap-that-actually-delivers-value</id><content type="html" xml:base="https://jes.al/2024/10/build-an-ai-roadmap-that-actually-delivers-value/"><![CDATA[<h4 id="what-a-year-in-the-trenches-building-with-llms-taught-me-about-delivering-value-with-ai">What a year in the trenches building with LLMs taught me about delivering value with AI</h4>

<p><img src="/public/wp-content/uploads/f173ffc5-e444-4715-ab8c-049889bcc02d_1100x660.jpg" alt="f173ffc5-e444-4715-ab8c-049889bcc02d_1100x660.jpg" /></p>

<p>Artificial intelligence (AI) is rapidly becoming an integral part of modern engineering. From automating mundane tasks to driving groundbreaking innovations, AI offers unprecedented opportunities for organizations to gain a competitive edge.</p>

<p>I’ve spent over a year in the trenches building with LLMs and even longer working with applied ML. My company has shipped nearly 100 AI agents into production for our healthcare customers, achieving a 95% reduction in operational expenses and a 140% boost in staff productivity. We were able to achieve this by identifying the areas where AI could create the most value for our customers, pinpointing high-value opportunities.</p>

<h2 id="identify-areas-of-impact">Identify areas of impact</h2>

<p>To maximize impact when building your AI roadmap, focus on areas where AI can truly move the needle for your customers and your business. Consider using a structured framework to systematically identify high-impact areas and prioritize AI opportunities based on customer needs, business value, and technical feasibility. This approach ensures your AI roadmap focuses on high-impact projects that align with your strategic objectives and timelines.</p>

<p>Start with projects that have clear ROI and potential for quick wins to build momentum for your AI initiatives and demonstrate value to your customers.</p>

<p>I recommend focusing on the following key areas where AI can deliver a significant impact:</p>

<h3 id="providing-creative-ai-value">Providing creative AI value</h3>

<p>Developing AI systems that can generate content or solutions customers can’t easily create on their own is a great way to provide value to them.</p>

<p>Potential implementations include:</p>

<ul>
  <li>
    <p>AI that generates code snippets, creates artwork, or writes marketing copy based on simple prompts</p>
  </li>
  <li>
    <p>Content creation tools that produce reports, articles, or product descriptions</p>
  </li>
  <li>
    <p>AI assistants that draft emails, create presentations, or generate data visualizations</p>
  </li>
</ul>

<p>These tools significantly boost your customers’ output and creativity, allowing them to produce high-quality work faster and more efficiently.</p>

<h3 id="help-synthesize-information-for-your-customer">Help synthesize information for your customer</h3>

<p>Using AI to curate, synthesize, and surface relevant information from vast datasets can improve customer decision-making and reduce time spent searching for information.</p>

<p>Potential implementations include:</p>

<ul>
  <li>
    <p>AI-powered knowledge management systems that extract key insights from large documents or databases</p>
  </li>
  <li>
    <p>Personalized insights that keep customers informed about trends, updates, or relevant news based on their data</p>
  </li>
  <li>
    <p>Search systems that integrate traditional keyword search with AI-powered semantic search using embeddings to deliver highly relevant results</p>
  </li>
</ul>

<h3 id="improve-process-efficiency">Improve process efficiency</h3>

<p>Automating procedural tasks capable of independent action and decision-making within defined parameters frees up customer time to focus on higher-value activities.</p>

<p>Potential implementations include:</p>

<ul>
  <li>
    <p>Advanced AI chatbots that handle complex customer inquiries, process orders, or provide technical support without human intervention</p>
  </li>
  <li>
    <p>AI agents that perform automated quality checks on customer data or products</p>
  </li>
  <li>
    <p>AI-driven systems for optimizing customer supply chains or scheduling resources</p>
  </li>
</ul>

<h3 id="combine-intelligence-for-complex-scenarios">Combine intelligence for complex scenarios</h3>

<p>Combine human and artificial intelligence to enhance your customers’ decision-making and problem-solving capabilities in complex scenarios.</p>

<p>Potential implementations include:</p>

<ul>
  <li>
    <p>Co-pilot systems that work alongside customers in sophisticated tasks</p>
  </li>
  <li>
    <p>AI assistants that help analyze large datasets, generate reports, or troubleshoot complex issues</p>
  </li>
  <li>
    <p>AI systems that can suggest optimizations in manufacturing processes or supply chain management</p>
  </li>
</ul>

<p>These augmented intelligence initiatives leverage the strengths of both humans and AI, leading to superior outcomes for your customers in complex tasks.</p>

<h2 id="understand-patterns-of-implementation">Understand patterns of implementation</h2>

<p>As you identify areas where AI can make a significant impact, it’s crucial to understand the high-level implementation patterns that can guide your roadmap. Recognizing these patterns helps in selecting the right approach for your specific needs, ensuring efficient resource allocation and maximizing the value delivered.</p>

<p>Here are the primary patterns to consider when building your AI roadmap:</p>

<h4 id="retrieval-augmented-generation-rag"><strong>Retrieval-Augmented Generation (RAG)</strong></h4>

<p><a href="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6c16fcb-d649-4194-be3a-1683f3b4a392_1600x943.png"></a></p>

<p><img src="https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6c16fcb-d649-4194-be3a-1683f3b4a392_1600x943.png" alt="" /></p>

<table>
  <tbody>
    <tr>
      <td>(Source: [Retrieval Augmented Generation (RAG) for LLMs</td>
      <td>Prompt Engineering Guide](https://www.promptingguide.ai/research/rag))</td>
    </tr>
  </tbody>
</table>

<p>RAG is a pattern that combines the capabilities of large language models (LLMs) with search functionalities. It involves retrieving relevant information from your data sources and using it to generate more accurate and contextually appropriate responses.</p>

<p>If your goal is to enhance information retrieval, provide detailed answers to user queries, or generate content based on specific data, RAG is an effective approach. For example:</p>

<ul>
  <li>
    <p><strong>Customer Support</strong>: Improving response accuracy by providing agents with relevant information drawn from internal knowledge bases.</p>
  </li>
  <li>
    <p><strong>Content Generation</strong>: Creating personalized reports or summaries by retrieving and synthesizing data from various sources.</p>
  </li>
</ul>

<p><strong>I</strong>mplementing RAG can be facilitated by tools like vector databases for efficient search and frameworks that integrate retrieval with LLMs.</p>

<h4 id="ai-agents"><strong>AI Agents</strong></h4>

<p><a href="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F967a05e6-9754-470e-827f-c57d7b565a02_927x618.png"></a></p>

<p><img src="https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F967a05e6-9754-470e-827f-c57d7b565a02_927x618.png" alt="" /></p>

<table>
  <tbody>
    <tr>
      <td>(Source: [LLM Agents</td>
      <td>Prompt Engineering Guide](https://www.promptingguide.ai/research/llm-agents))</td>
    </tr>
  </tbody>
</table>

<p>AI agents are systems that can perform tasks autonomously by making decisions and executing actions based on predefined objectives and real-time data. They can handle both attended tasks (requiring human oversight) and unattended tasks (operating independently).</p>

<p>For initiatives aimed at workflow optimization, process automation, or complex decision-making, AI agents are the go-to pattern. They excel in scenarios like:</p>

<ul>
  <li>
    <p><strong>Workflow Automation</strong>: Streamlining operations by automating routine tasks, freeing up staff to focus on higher-value activities.</p>
  </li>
  <li>
    <p><strong>Decision Support</strong>: Assisting in complex problem-solving by analyzing data and providing recommendations.</p>
  </li>
</ul>

<p>Building AI agents may involve using platforms that support agent orchestration, integration with various data sources, and capabilities for monitoring and adjusting agent behavior.</p>

<h4 id="hybrid-approaches"><strong>Hybrid Approaches</strong></h4>

<p>Sometimes, combining patterns like RAG and AI agents yields the best results. This hybrid approach leverages the strengths of both patterns to address more complex challenges.</p>

<p>In cases where you need both advanced information retrieval and autonomous task execution a hybrid approach is beneficial.  For example:</p>

<ul>
  <li><strong>Code Generation</strong>: Developing tools that not only generate code snippets based on user prompts (utilizing RAG) but also test and implement code changes autonomously (leveraging AI agents).</li>
</ul>

<h2 id="rapidly-deliver-value">Rapidly deliver value</h2>

<p>It’s crucial to quickly demonstrate the value of your AI initiatives to your stakeholders and customers by following these guiding principles:</p>

<h3 id="start-simple">Start simple</h3>

<p>When implementing AI solutions, simplicity is key to providing immediate value without unnecessary delays or costs. Here’s how you can achieve this:</p>

<ul>
  <li>
    <p><strong>Leverage existing APIs:</strong> find the quickest and easiest way to integrate LLM capabilities into your application by looking into readily available inference APIs from providers like OpenAI (GPT models) or Anthropic (Claude models). This approach allows you to offer advanced features to your customers quickly, without the time and expense of developing and training models from scratch.</p>
  </li>
  <li>
    <p><strong>Prioritize product-market fit:</strong> focus on ensuring your AI solution meets a real customer need before scaling up. By validating product-market fit early, you avoid investing heavily in expensive infrastructure like GPUs for training or fine-tuning models that may not deliver the desired value.</p>
  </li>
  <li>
    <p><strong>Consider self-hosting strategically:</strong> while <a href="https://www.plural.sh/blog/self-hosting-large-language-models/">self-hosting</a> AI models can offer benefits like enhanced data privacy and cost optimization at scale, it may slow down initial value delivery due to setup complexity. Start with third-party services to provide immediate value, and consider self-hosting later as your needs for control and optimization grow.</p>
  </li>
</ul>

<h3 id="build-measure-and-learn">Build, measure, and learn</h3>

<p>After initiating your AI projects with simple implementations, it’s crucial to adopt an iterative approach to refine and improve your solutions. This cycle of building, measuring, and learning ensures that your AI initiatives continue to deliver increasing value over time. Here’s how to integrate this mindset:</p>

<ul>
  <li>
    <p><strong>Understand model benchmarks:</strong> use established benchmarks to help you pick the right model for the right job. For example, <a href="https://en.wikipedia.org/wiki/MMLU">MMLU</a> assesses models across 57 diverse subjects to gauge general knowledge and reasoning abilities, while <a href="https://www.swebench.com/">SWE-Bench</a> evaluates models on software engineering tasks, helping you understand their capabilities in coding and development contexts. By evaluating models against these benchmarks, you can select the most suitable model for your specific needs, ensuring a solid foundation for your project.</p>
  </li>
  <li>
    <p><strong>Start with unit tests:</strong> develop tests or system evaluations that are specific to your application. These evaluations aim to validate functionality, catch regressions, and ensure your AI system performs optimally for your particular use case. Checking your AI system using real examples to ensure it works correctly. Provide sample inputs that reflect how users will interact with your system and verify that the outputs are appropriate. This helps you quickly spot any issues and make sure your AI solution meets basic requirements.</p>
  </li>
  <li>
    <p><strong>Embrace <a href="https://www.databricks.com/glossary/llmops">LLMOps</a>:</strong> LLMOps (Large Language Model Operations) refers to the practices and tools used to manage, deploy, and maintain large language models effectively in production environments. Instead of building these tools in-house – which may become commoditized – leverage existing solutions for observability and monitoring, such as <a href="https://www.langchain.com/langsmith">LangSmith</a> and <a href="https://langfuse.com/">Langfuse</a>. This allows you to focus on production monitoring and continual enhancement, responding promptly to issues, and adapting your AI systems based on real-world usage.</p>
  </li>
</ul>

<h3 id="manage-expectations">Manage expectations</h3>

<p>As you transition from proof-of-concept to production, it’s crucial to manage the expectations of all stakeholders – including users, team members, and leadership – to build trust in your AI-powered systems. Proper expectation management ensures that everyone understands the capabilities and limitations of your AI solutions, which is essential for delivering consistent value.</p>

<ul>
  <li>
    <p><strong>Ensure accuracy and reliability:</strong> users need to trust that your AI systems are providing accurate and reliable information. Be transparent about your system’s limitations, but if you find your model is underperforming, explore techniques like <a href="https://leaddev.com/tech/what-retrieval-augmented-generation-rag-and-are-you-ready-it">retrieval-augmented generation (RAG)</a> to provide more context, or fine-tune your model.</p>
  </li>
  <li>
    <p><strong>Design a defensive UX:</strong> create user interfaces that clearly communicate the AI system’s capabilities, limitations, and confidence levels. Provide explanations for AI-generated outputs where possible and incorporate user feedback mechanisms that allow users to report inaccuracies</p>
  </li>
  <li>
    <p><strong>Implement escape hatches:</strong> plan for situations where AI may not provide satisfactory solutions by implementing <a href="https://docs.omega2-andromeda.guidewire.net/jutro/documentation/10.3/escape-hatches/#:~:text=%22Escape%20Hatch%22%20is%20a%20term,hack'%20the%20specific%20abstraction%20contract.">“escape hatches”</a> and human-in-the-loop processes. This could involve a tiered response system where AI handles simple queries while complex issues are flagged for human review.</p>
  </li>
</ul>

<h3 id="prepare-for-the-future">Prepare for the future</h3>

<p>While delivering immediate value is essential, it’s equally important to design your AI initiatives with the future in mind. By anticipating changes and building adaptability into your systems, you ensure that the value you deliver today can be sustained and enhanced over time. Here’s how:</p>

<ul>
  <li>
    <p><strong>Decreasing costs:</strong> as hardware becomes cheaper and more efficient, and as open-source models become more accessible, you can scale your AI solutions without significant additional investment. This allows you to offer more value to your customers quickly, as you can reinvest savings into new features or pass them on to customers.</p>
  </li>
  <li>
    <p><strong>Evolving technology:</strong> anticipate that today’s cutting-edge AI research will become commoditized in the future. Stay ahead of the curve by integrating these advancements early to deliver innovative solutions now, but avoid heavily investing in building everything in-house. Instead, leverage existing technologies and be prepared to adopt commoditized versions as they become available. This approach lets you capitalize on the latest innovations without getting locked into costly, custom-built systems, enabling you to maintain agility and continue delivering value rapidly.</p>
  </li>
  <li>
    <p><strong>Flexible architecture:</strong> design your systems to be adaptable, ensuring you can easily swap out underlying components like the LLM or vector store as newer and better alternatives emerge. This flexibility allows you to quickly implement improvements without overhauling your entire system, enabling you to deliver enhanced value to your customers promptly.</p>
  </li>
</ul>

<h2 id="close-the-talent-gap">Close the talent gap</h2>

<p>The rapid rise of AI has created a significant demand for skilled AI engineers and data scientists. Building an AI-ready team requires a multi-pronged approach.</p>

<h3 id="hiring-applied-ai-talent">Hiring applied AI talent</h3>

<p>When hiring for AI talent, it’s crucial to understand the distinction between research and applied AI engineering. Researchers focus on pushing the boundaries of AI, developing new algorithms, and publishing academic papers. Applied AI engineers, on the other hand, focus on taking those advancements and translating them into real-world products. They are the bridge between cutting-edge research and practical implementation.</p>

<p><a href="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fedcb9e-4b9d-4cba-a020-be252ef8a1f8_1005x317.png"></a></p>

<p><img src="https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fedcb9e-4b9d-4cba-a020-be252ef8a1f8_1005x317.png" alt="" /></p>

<p>(Source: The Rise of the AI Engineer - by swyx &amp; Alessio)</p>

<h3 id="what-to-look-for-in-candidates">What to look for in candidates</h3>

<p>When evaluating candidates for AI engineering roles, prioritize the skills that enable them to build and ship AI-powered products.</p>

<p><em><a href="https://www.latent.space/p/ai-engineer">The Rise of the AI Engineer</a></em> emphasizes the importance of strong software engineering skills. Look for proficiency in languages like Python and JavaScript, experience with software development best practices, a deep understanding of data structures and algorithms, and a knack for building scalable and maintainable systems.</p>

<p>While theoretical knowledge is valuable, prioritize candidates with hands-on experience using popular AI tools and frameworks. This includes familiarity with:</p>

<ul>
  <li>
    <p><strong>LLM APIs:</strong> experience working with APIs from providers like OpenAI and Anthropic to integrate pre-trained models into applications.</p>
  </li>
  <li>
    <p><strong>Chaining and retrieval Tools:</strong> knowledge of tools like LangChain and LlamaIndex for building complex LLM workflows and integrating external data sources.</p>
  </li>
  <li>
    <p><strong>Vector databases:</strong> experience with vector databases like Pinecone and Weaviate for efficient semantic search and retrieval.</p>
  </li>
  <li>
    <p><strong>Prompt engineering techniques:</strong> A strong understanding of <a href="https://leaddev.com/team/what-prompt-engineer-anyway">prompt engineering principles</a> and the ability to craft effective prompts to elicit desired responses from LLMs.</p>
  </li>
</ul>

<p>Seek candidates who are passionate about building products and solving real-world problems with AI. Look for a demonstrated ability to translate AI concepts into tangible user benefits.</p>

<p>Lastly, prioritize candidates who are adaptable, eager to learn new technologies, and can keep pace with the latest advancements in the field.</p>

<p>By focusing on these practical, product-oriented skills, you can build a high-performing AI team capable of delivering real value to your organization.</p>

<h2 id="upskill-your-existing-engineers">Upskill your existing engineers</h2>

<p>As AI becomes increasingly integrated into various aspects of software development, the lines between “AI engineering” and “software engineering” will blur.</p>

<p>It’s important to cultivate a basic understanding of AI concepts and principles across your entire engineering team, empowering everyone to contribute to the success of your AI initiatives.</p>

<p>Provide opportunities for your current engineers to upskill and learn AI concepts and tools.</p>

<h3 id="use-workshops-and-hackathons-as-learning-devices">Use workshops and hackathons as learning devices</h3>

<p>To help upskill the talent you already have, organize hands-on workshops and <a href="https://leaddev.com/culture-engagement-motivation/running-your-first-internal-hackathon">hackathons</a> focused on AI. Bring in external AI experts or leverage internal knowledge to lead these events, focusing on real-world applications relevant to your business.</p>

<p>Encourage cross-functional teams to tackle actual business problems using AI during hackathons, providing valuable learning experiences and the potential to accelerate the AI roadmap. By showcasing successful projects company-wide, you can inspire and motivate other team members to engage with AI technologies.</p>

<h3 id="rotation-and-hands-on-experience-for-upskilling">Rotation and hands-on experience for upskilling</h3>

<p>Regularly cycle team members through AI-focused projects or teams, allowing them to gain hands-on experience with various AI applications.</p>

<p>This rotation program serves multiple purposes: it provides practical, real-world experience with AI technologies, exposes engineers to different use cases and challenges, and helps disseminate AI knowledge throughout your organization.</p>

<p>As engineers work on diverse AI projects, they’ll naturally build a broader skill set and a deeper understanding of how AI can be applied to solve business problems. Moreover, this rotation strategy can help identify hidden talents and interests among your engineers, potentially uncovering AI champions who can further drive innovation in your organization.</p>

<h2 id="final-thoughts">Final thoughts</h2>

<p>Building and executing an effective AI roadmap is an ongoing journey that requires careful planning, experimentation, and adaptation. By embracing a structured approach, prioritizing practical implementation, and remaining adaptable to the ever-evolving AI landscape, engineering leaders can successfully navigate the challenges and opportunities of AI adoption, leading their teams and organizations toward a brighter, AI-powered future.</p>

<hr />

<p><em>This article was originally published on <a href="https://leaddev.com/tech/build-ai-roadmap-actually-delivers-value">LeadDev.com</a> on Oct 14th, 2024.</em></p>]]></content><author><name>jesalg</name></author><category term="career" /><category term="leadership" /><category term="software development" /><summary type="html"><![CDATA[What a year in the trenches building with LLMs taught me about delivering value with AI]]></summary></entry><entry><title type="html">6 Questions To Ask Yourself Before Applying To That Job</title><link href="https://jes.al/2024/07/6-questions-to-ask-yourself-before-applying-to-that-job/" rel="alternate" type="text/html" title="6 Questions To Ask Yourself Before Applying To That Job" /><published>2024-07-31T00:00:00+00:00</published><updated>2024-07-31T00:00:00+00:00</updated><id>https://jes.al/2024/07/6-questions-to-ask-yourself-before-applying-to-that-job</id><content type="html" xml:base="https://jes.al/2024/07/6-questions-to-ask-yourself-before-applying-to-that-job/"><![CDATA[<h4 id="the-current-job-market-is-overflowing-with-competition-put-yourself-in-better-stead-for-meeting-the-job-spec-by-asking-yourself-these-6-questions-before-applying">The current job market is overflowing with competition, put yourself in better stead for meeting the job spec by asking yourself these 6 questions before applying.</h4>

<p><img src="/public/wp-content/uploads/photo-1617575521317-d2974f3b56d2.jpg" alt="photo-1617575521317-d2974f3b56d2.jpg" /></p>

<p>Rejection stings. As engineers, we’re wired to solve problems and achieve goals. <a href="https://leaddev.com/personal-development/where-are-all-laid-software-developers-going">In today’s job market</a>, it can be tricky to get past the first stage, let alone a second or third, so a “no” can feel like a personal setback. But what if we could reframe potential rejection as a learning opportunity before it even happens?</p>

<p>Enter the <a href="https://en.wikipedia.org/wiki/Pre-mortem">premortem</a>, a tool used in <a href="https://leaddev.com/personal-development/how-tech-leads-can-manage-projects-effectively">project management</a> to anticipate potential failures before they occur. Applying the concept of premortems to your job search and anticipating what might cause your application to be rejected, can help you navigate the process more effectively. Here are six questions to ask yourself before applying to better align with the job spec.</p>

<h2 id="1-does-my-expertise-match-the-demands-of-the-companys-size"><strong>1. Does my expertise match the demands of the company’s size?</strong></h2>

<p>Knowing the type of environment you thrive in and applying that to your search is an important step. Different company settings require different skill sets and experiences, so a mismatch in company size or stage can lead to difficulties in adapting to the pace.</p>

<p>For example, if you’ve spent the last five years at Google working on large-scale infrastructure projects, moving to a 10-person start-up might require you to wear multiple hats and work on tasks outside your current expertise. Conversely, <a href="https://leaddev.com/career-paths-progression-promotion/eight-things-you-need-know-when-moving-startup-established-tech">someone used to the fast-paced, multifaceted nature of a start-up might struggle with the bureaucratic processes in a large corporation</a>.</p>

<p><strong>Action</strong>:</p>

<ul>
  <li>
    <p>Create two versions of your resume: one tailored for smaller companies and another for larger organizations.</p>
  </li>
  <li>
    <p>List three to five specific projects or experiences that demonstrate your adaptability to different company sizes.</p>
  </li>
  <li>
    <p>Draft a paragraph for your cover letter explicitly addressing your fit for the company’s size.</p>
  </li>
</ul>

<h2 id="2-can-i-effectively-integrate-into-this-team-structure-and-working-style"><strong>2. Can I effectively integrate into this team structure and working style?</strong></h2>

<p>Look into the team and wider org structure of the company you’re applying to and consider whether your skill set lends itself to the internal dynamics. Reflect on your collaboration style; do you prefer working as part of a specialized team or within a cross-functional one?</p>

<p>For example, if you’re a machine learning specialist within a dedicated research team, transitioning to a product-focused team where you need to collaborate <a href="https://leaddev.com/team/collaborate-effectively-using-power-agreements">closely with UX designers, product managers, and software engineers</a> might be challenging. You may need to adapt your communication style by simplifying technical jargon, <a href="https://leaddev.com/personal-development/present-technical-information-using-storytelling-framework">learning to translate complex concepts for non-technical team members</a>, and developing skills in areas like product management or user experience to contribute effectively.</p>

<p>Conversely, if you’re accustomed to working in a cross-functional product team and plan to join a specialized research group, you might struggle to dive deep into a specific area of expertise and adapt to a more focused, research-oriented workflow.</p>

<p><strong>Action</strong>:</p>

<ul>
  <li>
    <p>Research the company’s team structure (e.g., cross-functional, specialized) using their website or job description.</p>
  </li>
  <li>
    <p>Prepare two to three specific examples of how you’ve successfully adapted to different team structures in the past.</p>
  </li>
  <li>
    <p>List questions to ask during the interview about team dynamics and collaboration methods.</p>
  </li>
</ul>

<h2 id="3-does-my-area-of-expertise-directly-address-the-challenges-and-goals-of-this-particular-role"><strong>3. Does my area of expertise directly address the challenges and goals of this particular role?</strong></h2>

<p>Having the right skills doesn’t guarantee you’re the right fit for the team’s needs. It’s crucial to ensure that your expertise aligns with the specific requirements of the role you’re applying for. This goes beyond just matching keywords on a job description; it involves understanding the nuances of the role, the team’s current challenges, and the company’s strategic goals.</p>

<p>Consider the depth and breadth of your expertise in relation to the role’s demands. Some positions may require deep specialization in a particular area, while others might value a broader skill set. Additionally, the team may be looking for someone to fill a specific gap or bring a particular perspective that complements existing team members’ skills.</p>

<p>It’s also important to <a href="https://leaddev.com/personal-development/own-your-career-personal-development-plan">consider the trajectory of your career</a> and how it aligns with the role’s growth potential. A position that doesn’t allow you to utilize your core strengths or develop in your desired direction might not be the best fit, even if you have the required skills on paper.</p>

<p>For example, you might be applying for a full-stack role, but if the team is looking for more back-end expertise and your strength lies primarily in front-end development, this could be a misalignment. Despite your full-stack development experience, your limited depth of experience on the server side could be a dealbreaker for the hiring team if they’re specifically looking to bolster their back-end capabilities.</p>

<p>Alternatively, if you’re a generalist full-stack developer applying to a role that requires deep specialization in a particular area like database optimization or scalability, your breadth of knowledge might not compensate for the lack of in-depth expertise they’re seeking.</p>

<p><strong>Action</strong>:</p>

<ul>
  <li>
    <p>Create a table mapping your skills to the job requirements, identifying any gaps.</p>
  </li>
  <li>
    <p>Choose three key skills from the job description and write a brief statement for each, explaining how you’ve applied them in past roles.</p>
  </li>
  <li>
    <p>Identify any areas where you may lack experience and prepare talking points about how you will mitigate the skill gap.</p>
  </li>
</ul>

<h2 id="4-have-i-researched-the-demands-of-this-industry"><strong>4. Have I researched the demands of this industry?</strong></h2>

<p>If you’re transitioning to a new industry altogether, you may have some other facets to consider before hitting “send” on your CV. Moving fields will involve adapting to different regulations, stakeholder expectations, and industry-specific knowledge. This can present a steep learning curve, so you have to be sure you’re well-equipped to walk into this role.</p>

<p>To capitalize on transferable skills, identify core competencies from your current role that are valuable across industries. These might include project management, data analysis, problem-solving, or leadership skills. Then, frame these skills in the context of the new industry.</p>

<p>For instance, if you’ve managed tech projects in the software industry and are transitioning to healthcare, you could highlight:</p>

<ul>
  <li>
    <p><strong>Project management</strong>: Emphasize how your experience managing complex software projects can translate to overseeing the implementation of healthcare IT systems.</p>
  </li>
  <li>
    <p><strong>Stakeholder communication</strong>: Showcase how <a href="https://leaddev.com/personal-development/how-communicate-executive-audience">your ability to communicate technical concepts to non-technical stakeholders</a> can be applied when explaining medical technologies to healthcare professionals.</p>
  </li>
  <li>
    <p><strong>Regulatory compliance</strong>: If you’ve dealt with data privacy in tech, highlight how this experience can be valuable in understanding and implementing <a href="https://www.digitalguardian.com/blog/what-hipaa-compliance">HIPAA compliance</a> in healthcare.</p>
  </li>
  <li>
    <p><strong>Problem-solving</strong>: Illustrate how your approach to troubleshooting software issues can be applied to optimizing patient care workflows.</p>
  </li>
</ul>

<p>At the very least, anticipate questions from the hiring team about your industry transition and prepare examples that demonstrate how your transferable skills can add value in the new context. Be prepared to discuss how you plan to bridge any knowledge gaps and show enthusiasm for learning industry-specific regulations and practices.</p>

<p><strong>Action</strong>:</p>

<ul>
  <li>
    <p>Read industry-specific publications or reports to familiarize yourself with current trends and challenges.</p>
  </li>
  <li>
    <p>Identify and list key trends, regulations, or standards relevant to the industry you’re targeting.</p>
  </li>
  <li>
    <p>Connect with two to three professionals in the target industry via LinkedIn to network and learn more.</p>
  </li>
</ul>

<h2 id="5-do-my-values-align-with-the-companys-culture"><strong>5. Do my values align with the company’s culture?</strong></h2>

<p><a href="https://leaddev.com/professional-development/finding-company-inclusive-engineering-culture">Finding a company that’s a good cultural fit</a> is often as important as skills and experience. Misalignment with a company’s core values and culture can lead to dissatisfaction and a lack of fulfillment. Before you start applying for jobs, take some time to reflect on your own values, work style preferences, and what you consider to be an ideal work environment.</p>

<p>To pinpoint the cultural vibe of a company you’re applying to, consider the following:</p>

<ul>
  <li>
    <p><strong>Company website and social media</strong>: Look beyond the job description. Examine the company’s mission statement, values, and how they present themselves online. What values do they emphasize?</p>
  </li>
  <li>
    <p><strong>Employee reviews</strong>: Sites like Glassdoor can offer insights into the company culture from current and former employees. Look for patterns in the reviews.</p>
  </li>
  <li>
    <p><strong>News and press releases</strong>: These can give you an idea of the company’s priorities and how they handle various situations.</p>
  </li>
  <li>
    <p><strong>Interview process</strong>: Pay attention to how the company conducts its hiring process. Is it efficient and respectful of your time? This can be indicative of their overall organizational culture.</p>
  </li>
  <li>
    <p><strong>Questions asked during interviews</strong>: Are they focused solely on technical skills, or do they also inquire about your work style, collaboration preferences, and career goals?</p>
  </li>
  <li>
    <p><strong>Office environment</strong>: If you have an on-site interview, observe the workspace. Is it open-plan or more traditional? How do employees interact?</p>
  </li>
  <li>
    <p><strong>Communication style</strong>: Notice how quickly the company responds to your emails and the tone of their communications. This can reflect their internal communication culture.</p>
  </li>
</ul>

<p><strong>Action</strong>:</p>

<ul>
  <li>
    <p>List the company’s stated values (usually found on their website) and write a brief example of how you’ve demonstrated each in your career.</p>
  </li>
  <li>
    <p>Prepare three specific questions about company culture to ask during your interview.</p>
  </li>
  <li>
    <p>Write down three of your own core values and be prepared to discuss how they align with the company’s culture.</p>
  </li>
</ul>

<h2 id="6-how-can-i-differentiate-myself-from-other-applicants"><strong>6. How can I differentiate myself from other applicants?</strong></h2>

<p>In a competitive job market, it’s important to evaluate how your profile stacks up against other candidates. Highlighting your unique value proposition can make you a clearer frontrunner. Your unique value proposition is the combination of skills, experiences, and qualities that set you apart from other candidates and make you particularly well-suited for the role.</p>

<p>Remember, your unique value proposition isn’t just about being different; it’s about being different in a way that’s valuable to the employer. It should highlight not just what makes you unique, but why that uniqueness matters in the context of the job you’re applying for.</p>

<p>For example, if you’re applying for a data scientist position at a competitive tech company, you might be up against candidates with PhDs, extensive publications, and experience at leading firms. To stand out, you could highlight unique projects where you’ve driven significant business impact, your ability to communicate complex data insights to non-technical stakeholders, or any relevant interdisciplinary skills.</p>

<p><strong>Action</strong>:</p>

<ul>
  <li>
    <p>Write a one-paragraph, unique value proposition statement highlighting your distinctive skills and experiences.</p>
  </li>
  <li>
    <p>Identify three quantifiable achievements from your career and frame them in terms of business impact.</p>
  </li>
  <li>
    <p>Create a brief “elevator pitch” that succinctly communicates your unique qualifications for the role.</p>
  </li>
</ul>

<h2 id="what-happens-in-the-face-of-rejection"><strong>What happens in the face of rejection?</strong></h2>

<p>Remember, rejection is not a reflection of your worth as an engineer. It’s an opportunity to learn, adapt, and refine your approach. By incorporating both pre-mortem analysis and post-rejection reflection into your job search, you can turn setbacks into stepping stones for future success.</p>

<p>If faced with rejection, consider these steps for a thorough retrospective:</p>

<ul>
  <li>
    <p><strong>Request feedback</strong>: If possible, ask the hiring manager or recruiter for specific feedback on your application or interview performance.</p>
  </li>
  <li>
    <p><strong>Review your application</strong>: Assess whether your resume, cover letter, and portfolio (if applicable) effectively highlighted your most relevant skills and experiences.</p>
  </li>
  <li>
    <p><strong>Reflect on the interview process</strong>: Consider your performance in technical and behavioral interviews. Did you provide clear, concise examples that demonstrated your skills? Were there areas where you struggled?</p>
  </li>
  <li>
    <p><strong>Assess your preparation</strong>: Evaluate how well you researched the company and articulated your interest in the specific role.</p>
  </li>
  <li>
    <p><strong>Evaluate your unique value proposition</strong>: Did you effectively communicate what sets you apart from other candidates and connect your unique skills to the company’s needs?</p>
  </li>
  <li>
    <p><strong>Consider external factors</strong>: Acknowledge that sometimes rejections are due to factors beyond your control, but focus on what you can improve.</p>
  </li>
  <li>
    <p><strong>Develop an improvement plan</strong>: Based on your analysis, identify areas for improvement and set specific, actionable goals. For example, “I will improve my coding interview skills by completing one LeetCode challenge daily for 30 days” or “I will practice mock system design interviews weekly.”</p>
  </li>
  <li>
    <p><strong>Stay resilient</strong>: <a href="https://leaddev.com/personal-development/professional-growth-based-personal-passions">Maintain a growth mindset</a> and view each application and interview as a learning experience. Keep your job search active and don’t put all your hopes on one opportunity.</p>
  </li>
</ul>

<p>By systematically reviewing your experience and making targeted improvements, you can enhance your candidacy for future opportunities. Remember, many successful professionals have faced rejection on their career paths. The key is to learn, adapt, and persist in your job search journey.</p>

<hr />

<p><em>This article was originally published on</em> <a href="https://leaddev.com/personal-development/6-questions-ask-yourself-applying-job"><em>LeadDev.com</em></a> <em>on Jul 30th, 2024.</em></p>]]></content><author><name>jesalg</name></author><category term="career" /><category term="interview" /><category term="hiring" /><category term="coaching" /><summary type="html"><![CDATA[The current job market is overflowing with competition, put yourself in better stead for meeting the job spec by asking yourself these 6 questions before applying.]]></summary></entry><entry><title type="html">4 Essential Skills For Navigating Workplace Pressures</title><link href="https://jes.al/2024/05/4-essential-skills-navigating-workplace-pressures/" rel="alternate" type="text/html" title="4 Essential Skills For Navigating Workplace Pressures" /><published>2024-05-03T00:00:00+00:00</published><updated>2024-05-03T00:00:00+00:00</updated><id>https://jes.al/2024/05/4-essential-skills-navigating-workplace-pressures</id><content type="html" xml:base="https://jes.al/2024/05/4-essential-skills-navigating-workplace-pressures/"><![CDATA[<h3 id="manage-the-stresses-of-complex-problem-solving-tight-deadlines-and-high-pressure-situations-at-work-with-integrity-and-emotional-intelligence">Manage the stresses of complex problem-solving, tight deadlines, and high-pressure situations at work with integrity and emotional intelligence.</h3>

<p><img src="/public/wp-content/uploads/Four-Agreements-Don-Miguel-Ruiz.jpg" alt="Four-Agreements-Don-Miguel-Ruiz.jpg" /></p>

<p>A few years ago, I discovered Don Miguel Ruiz’s renowned book, <a href="https://www.amazon.com/Four-Agreements-Practical-Personal-Freedom/dp/1878424319">The Four Agreements</a>, which provides four simple yet profound principles for personal growth and self-improvement. Since then, I’ve found myself frequently applying its principles to navigate workplace challenges, such as communicating effectively with colleagues, managing stress and emotions during high-pressure situations, and maintaining integrity and authenticity in the face of difficult decisions.</p>

<p>Integrating these tenets into my daily professional life has been a powerful self-coaching tool, helping me handle common workplace pressures with calm composure.</p>

<h2 id="what-are-the-four-agreements">What are the four agreements?</h2>

<p>The four agreements are the following set of practical guidelines:</p>

<ol>
  <li><strong>Be impeccable with your word</strong>  – Speak with integrity and honesty, avoiding gossip and self-deprecation. Use your words constructively.</li>
  <li><strong>Don’t take anything personally</strong>  – Recognize that others’ actions and opinions are projections of their own reality, not yours. Don’t let them needlessly affect you.</li>
  <li><strong>Don’t make assumptions</strong>  – Communicate clearly and ask questions to ensure mutual understanding. This helps prevent misinterpretations and conflicts.</li>
  <li><strong>Always do your best</strong>  – Your best may vary from moment to moment, but by always striving to do your best, you’ll avoid self-judgment and regret.</li>
</ol>

<p>While these principles were developed for personal growth, they hold immense value in professional settings where clear communication, trust, and collaboration are crucial.</p>

<h2 id="1-be-impeccable-with-your-word">1. Be impeccable with your word</h2>

<p>Clear and honest communication is the <a href="https://leaddev.com/building-happy-teams/three-strategies-building-trust-your-engineering-teams">foundation of trust and reliability</a>. Being impeccable with your word means making commitments you can keep, <a href="https://leaddev.com/team/how-grow-your-engineers-through-continuous-feedback">providing feedback</a>  that is both truthful and constructive, and ensuring that your communications uplift and empower your colleagues.</p>

<p><em>“I define integrity as honoring your word. A person with integrity keeps her promises whenever possible, and still honors them if she is unable to do so. You make a grounded promise by committing only to deliver what you believe you can deliver. You keep the promise by delivering it. And you can still honor the promise when you can’t keep it by letting the person you are promising know of the situation, and taking care of the consequences.”</em><br />
― Fred Kofman, <a href="https://www.amazon.com/Meaning-Revolution-Power-Transcendent-Leadership/dp/1524760730">The Meaning Revolution: The Power of Transcendent Leadership</a></p>

<p>How to practically apply this principle:</p>

<ul>
  <li>
    <p><strong>Commitments</strong>: When discussing project timelines or deliverables with your manager or team, be clear and truthful about estimates and potential challenges. Follow through on your promise when you commit to a deadline or task. If circumstances change and you cannot meet the commitment, <a href="https://leaddev.com/process/communicating-quickly-effectively-and-inclusively">communicate promptly and transparently</a>  to manage expectations.</p>
  </li>
  <li>
    <p><strong>Feedback</strong>: When having tough conversations, such as providing critical feedback or addressing performance issues, <a href="https://leaddev.com/communication-relationships/empathy-key-effective-verbal-communication">speak with honesty and empathy</a>, focusing on facts and constructive solutions rather than personal attacks or accusations.</p>

    <p>Avoid participating in or spreading rumors about team dynamics or project decisions. Instead, encourage open and transparent communication using tools such as team surveys, decision logs, or requests for comments (RFCs) to surface feedback through the right channels.</p>
  </li>
  <li>
    <p><strong>Escalations</strong>: When direct communication with a colleague can’t resolve an issue, employ the concept of <a href="https://www.linkedin.com/pulse/how-escalate-disagreements-cleanly-coaching-77-fred-kofman/">clean escalation</a>. This involves presenting the problem to a higher authority or a mediator without undermining or blaming others. Approach escalation by clearly stating the facts, outlining your efforts to resolve the issue, and providing constructive suggestions for the next steps. This practice ensures issues are addressed with integrity, fostering a solution-oriented, respectful work environment.</p>
  </li>
  <li>
    <p><strong>Recognition</strong>: When acknowledging contributions or achievements, be genuine and specific in your praise, recognizing the efforts and impact of individuals or teams.</p>
  </li>
</ul>

<p>Mastering the art of communication is a transformative tool in any professional’s arsenal. Commit to maintaining high standards of integrity in all your interactions, which strengthens relationships and fosters a reliable and ethical work environment. For more techniques on how to become impeccable with your words, check out Fred Kofman’s courses on <a href="https://www.linkedin.com/learning/fred-kofman-on-making-commitments/welcome?resume=false">making commitments</a>  and <a href="https://www.linkedin.com/learning/fred-kofman-on-managing-conflict/how-you-handle-the-conflict-makes-the-difference?resume=false">managing conflict</a>.</p>

<h2 id="2-dont-take-anything-personally">2. Don’t take anything personally</h2>

<p>Feedback and critiques are part and parcel of the professional environment. They aim to improve quality and project outcomes, not diminish personal worth. Cultivating the ability not to take things personally can transform potentially defensive situations into opportunities for learning and growth.</p>

<p><em>“There’s several reasons why it makes sense to begin building a culture of radical candor by asking people to criticize you. First, it’s the best way to show that you are aware you are often wrong and that you want to hear about it when you are. You want to be challenged. Second, you’ll learn a lot. Few people scrutinize you as closely as do those that report to you. […] Third, the more first hand experience you have with how it feels to receive criticism, the better idea you’ll have of how your own guidance lands for others. Fourth, asking for criticism is a great way to build trust and strengthen your relationships.”</em><br />
― Kim Malone Scott, <a href="https://www.goodreads.com/work/quotes/50329793">Radical Candor: Be a Kickass Boss Without Losing Your Humanity</a></p>

<p>How to practically apply this principle:</p>

<ul>
  <li>
    <p><strong>Feedback</strong>: Establish a culture where <a href="https://leaddev.com/team/art-giving-and-receiving-feedback-leader">giving and receiving feedback</a>  is seen as a natural part of the continuous improvement process, not a personal criticism.</p>
  </li>
  <li>
    <p><strong>Disagreements</strong>: When faced with disagreements or differing opinions, separate the ideas from the individuals. Focus on understanding the rationale behind different perspectives without taking the opposing views as a personal affront.</p>
  </li>
  <li>
    <p><strong>Failures</strong>: View project setbacks, bugs, or failures as learning opportunities rather than personal shortcomings. Approach them with curiosity and a growth mindset, seeking to understand the root causes and implement improvements.</p>
  </li>
  <li>
    <p><strong>Emotions</strong>: Recognize that emotions are a natural part of the human experience, but it’s essential to manage them effectively in professional settings. To separate your own emotions from work interactions, practice mindfulness by acknowledging your emotions without judgment and consciously redirecting your focus back to the task at hand. Use <a href="https://en.wikipedia.org/wiki/Cognitive_reframing#:~:text=Cognitive%20reframing%20is%20a%20psychological,are%20challenged%20and%20then%20changed.">cognitive reframing</a>  to look at the situation from a different perspective and find a more objective or positive interpretation.</p>
  </li>
</ul>

<p>Not taking things personally is crucial for professional resilience and growth. Encourage a feedback-rich environment where all team members feel safe to express honest opinions. For additional strategies on building this type of environment, <a href="https://leaddev.com/personal-development/10-essential-books-new-software-engineering-managers">consider reading Kim Scott’s book on Radical Candor</a>  to learn techniques for getting, giving, and encouraging feedback and guidance that’s kind, clear, specific, and sincere.</p>

<h2 id="3-dont-make-assumptions">3. Don’t make assumptions</h2>

<p><a href="https://leaddev.com/communication-relationships/dont-let-miscommunications-derail-your-projects">Miscommunications can derail projects.</a>  By <a href="https://leaddev.com/team/collaborate-effectively-using-power-agreements">not making assumptions</a>  and seeking clarity, you prevent misunderstandings and ensure that everyone is aligned on project goals and methods.</p>

<p><em>“Seek first to understand, then to be understood. This principle is the key to effective interpersonal communication.”</em><br />
― Stephen R. Covey, <a href="https://www.amazon.com/gp/product/0743269519/">The 7 Habits of Highly Effective People</a></p>

<p>How to practically apply this principle:</p>

<ul>
  <li>
    <p><strong>Active listening</strong>: In any conversation or collaboration, practice active listening to fully understand the other person’s perspective, needs, and ideas. Give your full attention to the speaker, ask clarifying questions, and paraphrase their key points to confirm your understanding. By engaging in active listening, you demonstrate respect, build rapport, and gather the necessary information to make informed decisions and avoid misunderstandings.</p>
  </li>
  <li>
    <p><strong>Decision-making</strong>: <a href="https://leaddev.com/technical-decision-making/how-drive-decisions-engineering-leader">When faced with important decisions, involve relevant stakeholders and gather diverse perspectives.</a>  Create opportunities for open discussion through meetings, collaborative documents (e.g., shared notes, wikis), surveys, and 1:1 conversations. Maintain a decision log to ensure transparency and accountability. By providing multiple avenues for input and collaboration, and keeping a record of the decision-making process, you can make informed decisions that consider diverse viewpoints.</p>
  </li>
  <li>
    <p><strong>Culture</strong>: In multicultural or global teams, be aware of potential cultural differences and avoid making assumptions about communication styles, work practices, or social norms. For example, some cultures may value direct communication, while others prefer a more indirect approach. Similarly, attitudes towards hierarchy, decision-making processes, and work-life balance can differ greatly between cultures. Approach interactions with curiosity and a willingness to learn.</p>
  </li>
  <li>
    <p><strong>Empathy</strong>: Before jumping to conclusions about a colleague’s behavior or actions, consider that you may be unaware of underlying factors or perspectives. <a href="https://leaddev.com/team/4-pillars-empathetic-leadership">Practice empathy</a>  and seek to understand their context before making assumptions.</p>
  </li>
</ul>

<p>Avoiding assumptions is fundamental to fostering clear and effective communication. As Stephen R. Covey advises, you can prevent many workplace misunderstandings and conflicts by actively seeking to understand before being understood. This habit aligns teams and supports a culture of open dialogue and mutual respect.</p>

<h2 id="4-always-do-your-best">4. Always do your best</h2>

<p>Your “best” can vary daily, but the commitment to give your all within your current circumstances <a href="https://leaddev.com/culture-engagement-motivation/fostering-culture-accountability">fosters a culture of accountability</a>  and excellence. Demonstrating personal responsibility, openly communicating challenges, and learning from setbacks builds trust, psychological safety, and a shared commitment to learning and growth, rather than perfection. It reduces the guilt of not meeting unrealistic expectations and highlights <a href="https://leaddev.com/team/embracing-cycles-productivity-healthier-teams">the value of consistent effort over sporadic perfection.</a></p>

<p><em>“In the fixed mindset, everything is about the outcome. If you fail—or if you’re not the best—it’s all been wasted. The growth mindset allows people to value what they’re doing regardless of the outcome. They’re tackling problems, charting new courses, working on important issues. Maybe they haven’t found the cure for cancer, but the search was deeply meaningful.”</em><br />
― Carol S. Dweck, <a href="https://www.amazon.com/gp/product/0345472322/">Mindset: The New Psychology of Success</a></p>

<p>How to practically apply this principle:</p>

<ul>
  <li>
    <p><strong>Prioritization</strong>: In moments of high stress or tight deadlines, <a href="https://leaddev.com/process/prioritization-framework-uncertain-times">prioritize and give your best to the most critical tasks.</a>  Remember, “your best” doesn’t mean overworking but rather applying yourself effectively within the given constraints.</p>
  </li>
  <li>
    <p><strong>Learning</strong>: Embrace a growth mindset and <a href="https://leaddev.com/team/cultivating-culture-learning">continuously seek opportunities to expand your knowledge and skills.</a>  Attend workshops, read industry publications, or participate in professional development programs to enhance your abilities and stay current with best practices.</p>
  </li>
  <li>
    <p><strong>Balance</strong>: Recognize the importance of self-care. Make time for activities that rejuvenate you, such as exercise, hobbies, or spending time with loved ones. A well-rested and balanced individual is better equipped to do their best work.</p>
  </li>
  <li>
    <p><strong>Collaboration</strong>: Foster an environment of collaboration and support within your team. Offer assistance when colleagues need it, and don’t hesitate to ask for help when you need it. Collective effort and mutual support can help everyone perform at their best.</p>
  </li>
</ul>

<p>Strive for consistent effort rather than perfection, focusing on what can be learned from each experience. Embrace a growth mindset to foster an environment of continuous improvement. To build a practice of getting comfortable with setbacks and failures and learning from them, Carol Dweck’s <a href="https://www.amazon.com/gp/product/0345472322/">Mindset</a>  is a must-read.</p>

<h2 id="closing-thoughts">Closing thoughts</h2>

<p>Integrating the four agreements into your professional life isn’t just about enhancing your work environment; it’s about cultivating a philosophy of personal and collective excellence. Reflect on these agreements regularly and strive to live by them, as they have the potential to fundamentally improve both your professional and personal life.</p>

<hr />

<p><em>This article was originally published on <a href="https://leaddev.com/personal-development/4-essential-skills-navigating-workplace-pressures">LeadDev.com</a> on April 24th, 2024.</em></p>]]></content><author><name>jesalg</name></author><category term="career" /><category term="leadership" /><category term="coaching" /><summary type="html"><![CDATA[Manage the stresses of complex problem-solving, tight deadlines, and high-pressure situations at work with integrity and emotional intelligence.]]></summary></entry><entry><title type="html">How to develop your skillset for the AI era</title><link href="https://jes.al/2024/04/how-to-deveop-your-skillset-for-the-ai-area/" rel="alternate" type="text/html" title="How to develop your skillset for the AI era" /><published>2024-04-06T00:00:00+00:00</published><updated>2024-04-06T00:00:00+00:00</updated><id>https://jes.al/2024/04/how-to-deveop-your-skillset-for-the-ai-area</id><content type="html" xml:base="https://jes.al/2024/04/how-to-deveop-your-skillset-for-the-ai-area/"><![CDATA[<p><img src="/public/wp-content/uploads/skills.jpg" alt="skills.jpg" /></p>

<h3 id="how-can-engineers-ensure-their-skills-keep-up-with-ai-advancements">How can engineers ensure their skills keep up with AI advancements?</h3>

<p>Over the last few years, we’ve watched AI take giant leaps in coding – from AI-assisted coding tools like <a href="https://github.com/features/copilot">GitHub Co-Pilot</a>  to the first AI engineer named <a href="https://leaddev.com/process/what-devin-and-can-it-really-replace-developers">Devin</a>. This explosion of AI capabilities has sparked endless debates, with the burning question on everyone’s mind being: does software engineering still have a future?</p>

<p>The short answer? Yes, but with a catch. The coding aspect of software engineering might become more automated, with AI taking over the bulk of code generation in the future. However, software engineering is more than code.</p>

<p>Looking ahead, engineers who can <a href="https://leaddev.com/team/how-business-alignment-works-high-performing-engineering-teams">zero in on business results</a>, flex into other roles, and consistently deliver value will continue to be in demand despite AI as their impact extends beyond their coding ability.</p>

<h2 id="think-like-an-entrepreneur">Think like an entrepreneur</h2>

<p>Simply being skilled in engineering won’t cut it anymore. The real magic happens when you <a href="https://leaddev.com/technical-decision-making/why-business-context-important-technical-decision-making">connect engineering efforts directly to business outcomes.</a>  Embracing an entrepreneurial mindset equips engineers with a broad view that transcends the immediate technical challenges. In a world where AI can write code but cannot grasp the entire organization’s nuances, its people, culture, and the broader environment it operates within, having an expansive vision becomes a critical advantage.</p>

<p>Engineers who think like entrepreneurs understand that success in the AI era demands more than technical excellence. They have an intrinsic <a href="https://leaddev.com/culture-engagement-motivation/how-drive-customer-focused-engineering-team">drive to create customer value</a>, ensuring their engineering solutions are not just technically sound but also strategically aligned with business goals. They’re the bridge between technical feasibility and product strategy, using their skills to steer product decisions in the right direction.</p>

<h3 id="how-can-you-become-an-intrapreneur">How can you become an intrapreneur?</h3>

<h3 id="1-understand-the-business"><strong>1. Understand the business</strong></h3>

<ul>
  <li><strong>Why?</strong>  This will help you see where your projects fit within the larger picture and how they can influence the bottom line.</li>
  <li><strong>How?</strong> Dive into your company’s OKRs and KPIs to understand the measures of success. Participate in all-hands meetings, review annual reports, do competitor research, and stay informed on company strategy.</li>
</ul>

<h3 id="2-build-customer-empathy"><strong>2. Build customer empathy</strong></h3>

<ul>
  <li><strong>Why?</strong>  Putting yourself in the customer’s shoes will help you make informed engineering decisions that resonate with user needs and business goals.</li>
  <li><strong>How?</strong>  Explore business intelligence (BI) tools, user experience (UX) research, and analytics platforms to understand customer sentiment and user behavior. Additionally, listen to recorded sales calls, if available, to get a first-hand pulse of what the customer is thinking and how they are reacting to the product.</li>
</ul>

<h3 id="3-incorporate-insights-into-decision-making"><strong>3. Incorporate insights into decision-making</strong></h3>

<ul>
  <li><strong>Why?</strong>  Combining business context and data-driven insights in your decision-making process ensures that your engineering efforts are both technically sound and strategically aligned with business objectives.</li>
  <li><strong>How?</strong>  When proposing new features or improvements, connect it back to the business objectives, user feedback, and data analysis that support your suggestion. <a href="https://leaddev.com/personal-development/how-engineering-leaders-can-write-better-proposals">Present your ideas</a>  in a way that highlights their potential impact on both user satisfaction and business success.</li>
</ul>

<p>By embracing these practices, you will become adept at navigating uncertainty, prioritizing projects that offer the highest return on investment, and persuasively advocating for your ideas.</p>

<h2 id="flex-across-functions">Flex across functions</h2>

<p>Hand-in-hand with a business-centric approach is the need to wear multiple hats. The more versatile an engineer is, the more indispensable they become.</p>

<p>In a world where specific tasks may eventually be automated by AI, human engineers’ ability to synthesize information across domains, connect disparate ideas, and apply insights in new contexts sets them apart.</p>

<h3 id="how-can-you-cultivate-versatility">How can you cultivate versatility?</h3>

<h3 id="1-collaborate-on-the-product-roadmap"><strong>1. Collaborate on the product roadmap</strong></h3>

<ul>
  <li><strong>Why?</strong>  Gaining insight into your company’s product goals and understanding how technology can drive these objectives is crucial as it broadens your perspective beyond just the technical aspects of your work.</li>
  <li><strong>How?</strong>  Volunteer to join roadmap planning sessions and offer a technical perspective on proposed features. Help with prioritization by assessing the technical effort required versus the projected business impact.</li>
</ul>

<h3 id="2-contribute-to-design-systems"><strong>2. Contribute to design systems</strong></h3>

<ul>
  <li><strong>Why?</strong>  Understanding design principles is crucial for creating technically sound products that provide a great user experience. A basic knowledge of UX/UI principles, color theory, and user-centric design can significantly improve the <a href="https://leaddev.com/building-happy-teams/building-bridges-between-design-and-development">collaboration between engineering and design teams</a>, leading to more cohesive and user-centric products.</li>
  <li><strong>How?</strong>  Work closely with designers to understand the core components of your product’s UI/UX. Offer to develop a shared library of UI components or a style guide that codifies design principles and patterns.</li>
</ul>

<h3 id="3-mentor-across-functions"><strong>3. Mentor across functions</strong></h3>

<ul>
  <li><strong>Why?</strong> Sharing your expertise and insights across different functions not only helps others grow but also <a href="https://leaddev.com/building-happy-teams/three-strategies-building-trust-your-engineering-teams">establishes trust</a>, builds communication skills, and positions you as someone they can go to in the future.</li>
  <li><strong>How?</strong> Initiate informal coffee chats or lunch meetings with peers in different roles. Offer mentorship or advice, focusing on how their roles contribute to the business’s success. This could involve guiding a designer on how to consider technical constraints in their designs or helping a marketing colleague understand the possibilities of the product.</li>
</ul>

<p>By actively engaging in these practices, you’ll be well on your way to becoming a more versatile engineer. This cross-functional agility ensures that engineers can adapt to changes, foresee the implications of decisions across domains, and innovate at the intersections of disciplines, enabling them to provide value that no AI point solution can.</p>

<h2 id="carve-your-niche">Carve your niche</h2>

<p>Grounded in a rich understanding of the broader context and enhanced by a diverse skill set, building specialization will ensure that engineers can bring unique insights, creativity, and solutions that AI cannot. It’s the intersection of depth and breadth in an engineer’s expertise that will define their irreplaceability in an AI-driven world.</p>

<p>This is where Roger Martin’s <a href="https://rogermartin.medium.com/the-doctrine-of-relentless-utility-744b19854b7b">Doctrine of Relentless Utility</a>  comes into play, a career strategy that focuses on finding your niche and monopolizing it.</p>

<p>As you become more adept at navigating between different roles and perspectives, you’ll be better positioned to uncover unique opportunities where your particular blend of skills and interests intersect with unmet needs within your team or organization.</p>

<p>Aligning what you’re good at with areas where you can make a significant impact allows you to establish a distinctive role that plays to your strengths and passions. This strategy promotes an active, value-driven approach, looking for ways to contribute beyond the usual scope of your role.</p>

<p>For instance, let’s say you have a knack for simplifying complex technical concepts into digestible content. Your niche could be bridging the gap between advanced technical knowledge and non-technical stakeholders or clients. Build on this by developing and sharing insights through blogs, workshops, or internal documentation that make these concepts accessible and engaging.</p>

<p>Another example could be finding yourself at ease automating repetitive tasks that bog down your team. Your niche is identifying efficiency drains within your team’s workflow by creating custom scripts or leveraging existing tools to automate these tasks. This way, you’ll be freeing up time for your team to focus on more impactful projects.</p>

<p>By adopting the doctrine of relentless utility, you’re not just filling a role; you’re carving out an area of focus where you can truly excel and provide unmatched value.</p>

<p>Remember, the niche you carve out today may not remain your niche tomorrow. Continuously explore, learn, and iterate, allowing your niche to evolve alongside your skills, interests, and the changing needs of your team. This ongoing journey of adaptation ensures your contributions remain impactful and aligned with both personal growth and team objectives.</p>

<h2 id="closing-thoughts">Closing thoughts</h2>

<p>We find ourselves at a juncture similar to the one brought about by the printing press and the typewriter. The fears are familiar – concerns about job displacement, the devaluation of human expertise, and the uncertainties of a shifting professional landscape.</p>

<p>Yet, if history has taught us anything, it’s that with disruption comes opportunity. Just as the printing press opened up the world of knowledge and the typewriter transformed the professional landscape, AI will redefine software engineering. It will challenge us to elevate our roles beyond coding, to think like entrepreneurs, and to build a more multi-faced identity.</p>

<p>The future of software engineering isn’t about clinging to the past but one where AI helps us build unimaginable things.</p>

<hr />

<p><em>This article was originally published on <a href="https://leaddev.com/personal-development/how-develop-your-skillset-ai-era">LeadDev.com</a> on April 4th, 2024.</em></p>]]></content><author><name>jesalg</name></author><category term="career" /><category term="leadership" /><category term="software development" /><summary type="html"><![CDATA[How can engineers ensure their skills keep up with AI advancements?]]></summary></entry><entry><title type="html">Default Open</title><link href="https://jes.al/2024/02/default-open/" rel="alternate" type="text/html" title="Default Open" /><published>2024-02-08T00:00:00+00:00</published><updated>2024-02-08T00:00:00+00:00</updated><id>https://jes.al/2024/02/default-open</id><content type="html" xml:base="https://jes.al/2024/02/default-open/"><![CDATA[<h4 id="from-assumptions-to-understanding">From Assumptions to Understanding</h4>

<p><img src="/public/wp-content/uploads/1_HTe4PpQ8_BK2aW1-HTdC1A.jpeg" alt="1_HTe4PpQ8_BK2aW1-HTdC1A.jpeg" /></p>

<p><a href="https://en.wikipedia.org/wiki/Louis_Moeller"><em>Louis Moeller</em></a><em>, Different Opinions</em>,  <a href="https://en.wikipedia.org/wiki/High_Museum_of_Art">High Museum of Art</a>, Atlanta.</p>

<p>While returning home from my company offsite, I was standing in the TSA line, placing my belongings into the gray bins. It was then that a question caught me off guard.</p>

<p>“Have you ever been on a flight?”</p>

<p>I froze, my hands mid-air, gripping my shoes. The question, coming from a man in his thirties behind me, felt like a jab, wrapped in a thin veil of innocence. Why would he ask that? Was it my slightly fumbled handling of the trays, or had I committed some cardinal sin of air travel in his eyes?</p>

<p>“Yes, I have,” I responded, the words laced with a defensive edge. His question had pricked at something, a mix of annoyance and curiosity. Was it so apparent that I was out of my element, or was he just being snarky?</p>

<p>“It’s my first flight,” he then confessed, his tone shifting, revealing a mix of excitement and nervousness. “I wasn’t sure if my bag needs to go in the tray.”</p>

<p>In that moment, my assumptions hung heavily between us. The question wasn’t a snarky jab but a genuine plea for guidance, cloaked in the vulnerability of a first-time flyer. I had been so quick to assume malice, to paint his curiosity as a critique, that I nearly missed the human element, the shared experience of navigating unfamiliar territories.</p>

<p>“Yes, they are expecting the bags to be on the tray,” I found myself saying, the words coming out more as a realization of my own hasty judgment. I added, “Hope you have a great first flight!”</p>

<p>This encounter, brief and seemingly inconsequential, served as a profound lesson. It reminded me that our assumptions, especially those tinged with defensiveness, can cloud our judgment, that behind every question lies a story, a context we might not immediately understand.</p>

<p>As I watched him walk towards his gate, I was reminded just earlier in the offsite how my team and I were discussing how we admired  <a href="https://www.redditinc.com/blog/sharing-our-company-values">Reddit’s “Default Open” value</a>. This moment underscored the importance of giving others the benefit of the doubt, of approaching interactions with default openness. For in the end, we are all navigating our own journeys, sometimes confidently, sometimes with hesitation, but always moving forward, one question at a time.</p>]]></content><author><name>jesalg</name></author><category term="storytelling" /><category term="values" /><category term="culture" /><category term="writing" /><summary type="html"><![CDATA[From Assumptions to Understanding]]></summary></entry><entry><title type="html">From Chaos to Clarity: Achieving Personal Knowledge Mastery</title><link href="https://jes.al/2024/01/from-chaos-to-clarity-achieving-personal-knowledge-mastery/" rel="alternate" type="text/html" title="From Chaos to Clarity: Achieving Personal Knowledge Mastery" /><published>2024-01-09T00:00:00+00:00</published><updated>2024-01-09T00:00:00+00:00</updated><id>https://jes.al/2024/01/from-chaos-to-clarity-achieving-personal-knowledge-mastery</id><content type="html" xml:base="https://jes.al/2024/01/from-chaos-to-clarity-achieving-personal-knowledge-mastery/"><![CDATA[<p>Remember scrambling for notes, losing ideas to the ether, struggling to keep up with tasks, and drowning in a sea of information? Yeah, me too. But that was before I understood Personal Knowledge Management (PKM).</p>

<p>In my <a href="https://jes.al/2023/01/from-chaos-to-clarity-the-essential-guide-to-personal-knowledge-management/">previous post</a>, we explored the essentials of PKM and Tiago Forte’s <a href="https://fortelabs.co/blog/the-4-levels-of-personal-knowledge-management/">The 4 Levels of Personal Knowledge Management</a>. Since then, I have received numerous requests for practical tips on how to master PKM, and many people have been curious about my own approach to it.</p>

<p>So today, we dive deeper, and I will share some tips on how you can achieve your own Personal Knowledge Mastery. Let’s break it down, level by level, and see how we can start getting insights out of information to drive impact.</p>

<p><img src="/public/wp-content/uploads/0_bZBEIYVSEu7cLbHh.jpg" alt="0_bZBEIYVSEu7cLbHh.jpg" /></p>

<p>Source: <a href="https://www.gapingvoid.com/want-to-know-how-to-turn-change-into-a-movement/">gapingvoid</a></p>

<h4 id="level-1-storing-information"><strong>Level 1: Storing Information</strong></h4>

<p>If you want to build a great PKM practice, you need to have a way to capture information with the least amount of friction, both on the go and on the computer. Fumbling with clunky or slow apps will get you to focus on the app vs. what you were there to begin it and will cause you to lose motivation.</p>

<p>After experimenting with various tools like <a href="https://logseq.com/">Logseq</a>, <a href="https://roamresearch.com/">Roam</a>, and <a href="https://www.remnote.com/">RemNote</a>, I found my match in <a href="https://amplenote.com/">Amplenote</a>. Its ability to sync notes cross-platform and the simple UX met my need for portability and simplicity.</p>

<p>Each day, Amplenote’s “daily jot” feature automatically creates a new note, which I love. I used to do this manually in Notion by creating a running list of notes per day for each year before I switched over.</p>

<p>I usually capture the top things I want to focus on or accomplish that day. This is also similar to the technique recommended in the book <a href="https://maketime.blog/">Make Time</a> if you want to learn more. I also use the daily journal to capture interesting links, code snippets, or ideas I come across that I can revisit later. This allows me to keep the number of tabs I have open to only a handful, reducing my mental clutter.</p>

<p><img src="https://cdn-images-1.medium.com/max/1600/0*BLRQpfdPKGsePp6_.png" alt="" /></p>

<p>Source: <a href="https://www.amplenote.com/help">Amplenote</a></p>

<p>If you are looking for an app that has all the features I mentioned in this post, such as daily journaling, task management, note-taking, graph view, outlining, and cross-platform compatibility, then you should check out <a href="https://noteapps.info/">NotesApp.Info</a> to find the one you like. Currently, only a few apps meet all these specific requirements, but you can change the filters based on your preferences to see more options.</p>

<p><img src="https://cdn-images-1.medium.com/max/1600/1*wtwCzbPPPY6mQzqoly3bgQ.png" alt="" /></p>

<p>Source: <a href="https://noteapps.info/">NotesApp.Info</a></p>

<h4 id="level-2-managing-knowledge">Level 2: Managing Knowledge</h4>

<p>Having a quick system for jotting down thoughts is just the beginning; managing long-form notes efficiently is equally important.</p>

<p>I use Amplenote to tag and organize various notes — #brainstorm for creative ideas, #meeting for general discussions, #interview for candidate assessments, #1–1 for personal meetings, and so on. This streamlines the retrieval and connection of related information.</p>

<p>Now, I can go back and review every meeting interaction and keep track of action items without dropping the ball, which brings us to the next point.</p>

<p><img src="https://cdn-images-1.medium.com/max/1600/0*zODhBPluHNoBRfAQ.png" alt="" /></p>

<p>Source: <a href="https://www.amplenote.com/help">Amplenote</a></p>

<h4 id="level-3-enabling-action">Level 3: Enabling Action</h4>

<p>Ideas from my notes often evolve into tasks. I use dedicated notes for brainstorming, later converting these thoughts into actionable tasks within Amplenote.</p>

<p>So, for example, I had a task to “Write a blog post about [[Achieving PKM Mastery]]”. And I tagged my note as part of that task. I would then visit that note when I got a chance to flesh out the blog post’s content. So, I’m not pressed to produce something in one go but rather to make incremental progress. I usually have several tasks, such as writing proposals, blog posts, social media posts, etc., where I make incremental progress as inspiration strikes.</p>

<p><img src="https://cdn-images-1.medium.com/max/1600/0*hQQOZeLRt9yMKxHJ.gif" alt="" /></p>

<p>Source: <a href="https://www.amplenote.com/help">Amplenote</a></p>

<p>This technique has been a major unlock in boosting my productivity. I can now think about multiple projects simultaneously without feeling the pressure of producing a finished product. This approach is similar to the concept of <a href="https://notes.andymatuschak.org/Evergreen_notes">evergreen notes</a>, where the notes are not just temporary scribbles but are improved and updated over time as the author gains more knowledge and clarity on the subject matter.</p>

<p>My notes usually start out as an outline and then are fleshed out gradually. That’s one reason I really love <a href="https://en.wikipedia.org/wiki/Outliner">outliner tools</a> such as Roam Research, Logseq, etc, where everything starts out as a bullet by default.</p>

<p><img src="https://cdn-images-1.medium.com/max/1600/1*WVb3SQBTT48KlijHzjLTaA.png" alt="" /></p>

<p>Tasks can also be assigned a date, effort, and importance, which gives them a “<a href="https://www.amplenote.com/help/tasks_and_todos_task_score">Task Score</a>”, which is essentially a prioritized raking. I generally do this for more time-sensitive or important tasks so they are bubbled up at the top.</p>

<p><img src="https://cdn-images-1.medium.com/max/1600/0*-sPmjfFQMZ5N8Xsl.png" alt="" /></p>

<p>Source: <a href="https://www.amplenote.com/help">Amplenote</a></p>

<blockquote>
  <p>The key is not to prioritize what’s on your schedule, but to schedule your priorities. — Stephen Covey, The 7 Habits of Highly Effective People</p>
</blockquote>

<p>I’m a big believer in scheduling time to accomplish tasks on the calendar. For me, I’ve found that if it’s not on the calendar, it’s not going to get done because other meetings, distractions, and priorities take over. I usually schedule work blocks on my calendar per task manually, but Amplenote also offers a bi-directional calendar sync where this can be done automatically if you like.</p>

<p><img src="https://cdn-images-1.medium.com/max/1600/0*3A8MXtEZ1RMulBSw.gif" alt="" /></p>

<p>Source: <a href="https://www.amplenote.com/help">Amplenote</a></p>

<p>For optimal calendar scheduling and making time for executing tasks, I highly recommend using <a href="https://www.getclockwise.com/">Clockwise</a> or <a href="https://reclaim.ai/">Reclaim AI</a>. Especially if you are in a meeting-heavy role, they are akin to having a personal assistant manage your calendar.</p>

<p><img src="https://cdn-images-1.medium.com/max/1600/0*6zkywMRlFiaUqqZc.png" alt="" /></p>

<p>Source: <a href="https://techcrunch.com/2022/01/18/smart-calendar-tool-clockwise-raises-45m-to-use-ai-to-help-remote-teams-avoid-burnout/">Clockwise</a></p>

<h4 id="level-4-personal-knowledge-mastery">Level 4: Personal Knowledge Mastery</h4>

<p>Finally, after building a system to store, manage, and act on information, you can extract insights from it. You can visualize how your ideas connect with each other in a graph and start seeing connections you may not have noticed before. This is a great way to gain a deeper understanding of the information you have gathered and make better decisions based on it.</p>

<p><img src="https://cdn-images-1.medium.com/max/1600/0*zd-to8SW7Rk3FM0M.gif" alt="" /></p>

<p>Source: <a href="https://www.amplenote.com/help">Amplenote</a></p>

<p>Having a personal information store also means you can leverage AI to extract insights from your notes using frameworks such as <a href="https://www.langchain.com/use-case/retrieval">LangChain</a> or <a href="https://llamahub.ai/?tab=loaders">LlamaIndex</a>. Here’s a demo I built using my Notion notes and LlmaIndex, where I could ask questions to AI based on my own corpus of information:</p>

<blockquote class="twitter-tweet"><p lang="en" dir="ltr">🤓 I&#39;ve had a habit of manically maintaining a daily work journal in Notion since 2016<br /><br />Now it&#39;s possible to extract insights from this personal data gold mine 🪄<br /><br />🧵Here&#39;s how I built a personal Notion GPT in 15mins with:<br /><br />- <a href="https://twitter.com/Replit?ref_src=twsrc%5Etfw">@Replit</a><br />- <a href="https://twitter.com/gpt_index?ref_src=twsrc%5Etfw">@gpt_index</a><br />- <a href="https://twitter.com/OpenAI?ref_src=twsrc%5Etfw">@OpenAI</a><br />- <a href="https://twitter.com/pinecone?ref_src=twsrc%5Etfw">@pinecone</a><br />- <a href="https://twitter.com/NotionHQ?ref_src=twsrc%5Etfw">@NotionHQ</a></p>&mdash; Jesal Gadhia (@jesalg) <a href="https://twitter.com/jesalg/status/1648527724150128642?ref_src=twsrc%5Etfw">April 19, 2023</a></blockquote>
<script async="" src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

<p>While that requires writing a bit of code, off-the-shelf tools like <a href="https://tavrn.art/">Tavrn</a> and <a href="https://topai.tools/ai-assist?explore_page=1">others</a> allow you to connect a corpus of information and ask questions based on it.</p>

<h3 id="conclusion">Conclusion</h3>

<blockquote>
  <p>“<strong>We are drowning in information, while starving for wisdom</strong>. The world henceforth will be run by synthesizers, people able to put together the right information at the right time, think critically about it, and make important choices wisely.” — E. O. Wilson</p>
</blockquote>

<p>In our journey towards mastering Personal Knowledge Management, we’ve explored methods not only to gather and categorize information but also to synthesize and extract meaningful insights from it.</p>

<p>As the renowned American biologist E. O. Wilson aptly put it, our challenge is to navigate the ocean of information to find wisdom. This journey through the levels of PKM equips us with the tools to be effective synthesizers — those who can effectively collect, connect, and utilize knowledge to make good decisions.</p>]]></content><author><name>jesalg</name></author><category term="productivity" /><category term="leadership" /><category term="knowledge management" /><summary type="html"><![CDATA[We explore practical tips on how to master PKM in order to start getting insights out of information to drive impact]]></summary></entry><entry><title type="html">Lessons In Leadership Excellence</title><link href="https://jes.al/2023/12/lessons-in-leadership-excellence/" rel="alternate" type="text/html" title="Lessons In Leadership Excellence" /><published>2023-12-17T00:00:00+00:00</published><updated>2023-12-17T00:00:00+00:00</updated><id>https://jes.al/2023/12/lessons-in-leadership-excellence</id><content type="html" xml:base="https://jes.al/2023/12/lessons-in-leadership-excellence/"><![CDATA[<p><img src="/public/wp-content/uploads/photo-1533073526757-2c8ca1df9f1c.jpg" alt="photo-1533073526757-2c8ca1df9f1c.jpg" /></p>

<h4 id="personal-insights-on-building-exceptional-teams">Personal Insights on Building Exceptional Teams</h4>

<p>In a world where <a href="https://hbr.org/2015/06/75-of-cross-functional-teams-are-dysfunctional">75% of cross-functional teams are dysfunctional</a>, mastering the art of leadership is not just a skill but a necessity.</p>

<p>I’ve been fortunate enough to lead teams in various environments, from small start-ups to large organizations, and along the way, I’ve received consistently positive feedback on my teams’ camaraderie, cohesion, and performance. That and hearing many times from my direct reports that I’ve been one of the best managers they’d had made me wonder what exactly was working well.</p>

<p>I don’t think I was super deliberate about it, to be honest. I just did what felt right intuitively over time. Maybe my experience being on the engineer manager <a href="https://charity.wtf/tag/pendulum/">pendulum</a> allowed me to keep my ear to the ground and do what I would have wanted to see from my manager as an IC.</p>

<p>In any case, this is my attempt at writing down some of my implicit strategies into an explicit guidebook for myself and others to reference and follow. This is not meant to be a comprehensive resource such as <a href="https://maven.com/dave-kline/mgmt-accelerator">MGMT Accelerator</a> or <a href="https://a.co/d/bip1R0k">The 15 Commitments of Conscious Leadership</a>, which I highly recommend, but just things I found putting the most amount of emphasis on. I’ll also note that you don’t need to be a manager to find this relevant. Effective leadership is a key skill for everyone to master.</p>

<p>So, after doing some reflection, I was able to boil down this essence of effective leadership to six critical elements, which I like to call the ‘6 Cs’. In this post, I’ll share these key elements, each backed by practical strategies and real-life lessons that can redefine how you lead. So, without further adieu, let’s dive in.</p>

<h3 id="1-communication">1. Communication</h3>

<p>Transparent and authentic communication is the cornerstone of effective leadership. It’s not merely about conveying information but about involving team members in decision-making processes, even when ideas are still in their formative stages. This practice fosters a sense of ownership and collaboration.</p>

<p>This also extends to offering constructive feedback, where I aim for open and candid conversations without the proverbial “shit sandwich.” This authentic management style fosters workplace transparency, clarity, and directness. It empowers employees to clearly identify areas where they can make the most meaningful contributions to the team’s success.</p>

<blockquote>
  <p>Some professionals say you need to have a praise-to-criticism ratio of 3:1, 5:1, or even 7:1. Others advocate the “feedback sandwich” — opening and closing with praise, sticking some criticism in between. I think venture capitalist Ben Horowitz got it right when he called this approach the “shit sandwich.” Horowitz suggests that such a technique might work with less-experienced people, but I’ve found the average child sees through it just as clearly as an executive does. — Kim Malone Scott, Radical Candor</p>
</blockquote>

<p><strong>Key practices:</strong></p>

<ul>
  <li>Hold regular <a href="https://lattice.com/library/the-ultimate-guide-to-one-on-ones">one-on-one meetings</a> with a running agenda to discuss your team’s ideas and concerns.</li>
  <li>Establish a culture of <a href="https://positivepsychology.com/active-listening-techniques/">active listening</a> where team members feel heard and valued.</li>
  <li>Leverage collaborative tools that allow team members to contribute to decisions and ask questions async.</li>
  <li>Establish a career plan document where you keep track of goals, ideas, and growth conversations and review it at least on a monthly basis.</li>
</ul>

<p><strong>Questions to measure success:</strong></p>

<ol>
  <li>Do you regularly cascade relevant strategy and business updates to your team members from the company leadership?</li>
  <li>Do your team members feel like they are part of shaping the ideas from the early stages and are involved in the decision-making process?</li>
  <li>Do your team members regularly receive ongoing feedback rather than just surprising feedback during formal touchpoints like performance review cycles?</li>
</ol>

<h3 id="2-connection">2. Connection</h3>

<p>Connection is built on the foundation of authentic and transparent communication. Team cohesion and trust are something I value deeply, and I aim to create an environment that values inclusivity, empowerment, and psychological safety.</p>

<blockquote>
  <p>A team is not a group of people who work together. A team is a group of people who trust each other.— Simon Sinek, Leaders Eat Last</p>
</blockquote>

<p>I’ve used many rituals and practices, such as retrospectives, all hands, happy hours, pulse surveys, etc., with the aim of building connection and trust. No matter the ritual, it comes down to ensuring that every team member’s voice is heard and respected.</p>

<p>Creating opportunities for the team to bond outside of work is also particularly effective. This includes team happy hours, get-to-know sessions where team members share their passions and interests, and even occasional team retreats to strengthen in-person connections.</p>

<p><strong>Key practices:</strong></p>

<ul>
  <li>Schedule regular team retrospectives to examine what’s going well and what can be improved. Commit to action items based on the feedback and continue to iterate.</li>
  <li>Foster mentorship and peer support within your team.</li>
  <li>Encourage cross-functional collaboration to build relationships with other teams.</li>
  <li>Share stories of successful team collaborations and their impact on projects.</li>
</ul>

<p><strong>Questions to measure success:</strong></p>

<ol>
  <li>Do your team members believe they have agency in shaping how the team operates?</li>
  <li>Is there a mechanism in place to continually examine team processes and iterate based on feedback?</li>
  <li>Does the team regularly interact with each other in informal settings such as happy hours or retreats?</li>
</ol>

<h3 id="3-composure">3. Composure</h3>

<p>Amidst challenges and crises, maintaining composure is essential. Using the team as an outlet for venting emotions is tempting, but this can be counterproductive. Instead, I’ve learned to adopt a methodical approach: analyzing the situation, acknowledging emotions, outlining a clear plan, and providing transparent updates.</p>

<p>In my experience, team members look to their leaders as beacons of stability during turbulent times. They appreciate leaders who don’t just react emotionally but engage in constructive problem-solving. In fact, <a href="https://www.forbes.com/sites/tracybrower/2023/01/29/managers-have-major-impact-on-mental-health-how-to-lead-for-wellbeing/?sh=4c04eb3a2ec1">research</a> suggests that for almost 70% of people, their manager has more impact on their mental health than their therapist or their doctor.</p>

<p>When interpersonal disagreements or conflicts arise, lean into curiosity to understand why. This is often not an easy thing to do. In her book “Dare to Lead,” Brown uses the term “rumble” to describe a discussion or conversation that is defined by a commitment to lean into vulnerability, stay curious and generous, and be fearless in owning our parts.</p>

<blockquote>
  <p>A rumble is a discussion, conversation, or meeting defined by a commitment to lean into vulnerability, to stay curious and generous, to stick with the messy middle of problem identification and solving, to take a break and circle back when necessary, to be fearless in owning our parts, and, as psychologist Harriet Lerner teaches, to listen with the same passion with which we want to be heard. More than anything else, when someone says, “Let’s rumble,” it cues me to show up with an open heart and mind so we can serve the work and each other, not our egos.―Brené Brown, Dare to Lead: Brave Work. Tough Conversations. Whole Hearts</p>
</blockquote>

<p>She believes that during moments when we’re pulled between our fear and our call to courage, we need shared language, skills, tools, and daily practices that can support us through the rumble.</p>

<p><strong>Key practices:</strong></p>

<ul>
  <li>Establish a culture of practicing <a href="https://positivepsychology.com/non-violent-communication/">non-violent communication</a> or <a href="https://ofkin.com/learning-how-to-say-hard-things-rumbling-with-an-open-heart-and-mind/">The Story Rumble</a> to help the team effectively and compassionately navigate difficult conversations and conflicts.</li>
  <li>Create space to practice <a href="https://positivepsychology.com/group-mindfulness-activities/">mindfulness exercises</a> as a team to help manage stress during challenging times.</li>
  <li>Run <a href="https://www.atlassian.com/team-playbook/plays/pre-mortem">premortems</a> ahead of major milestones and launches to avoid last-minute surprises and stressful fire drills.</li>
  <li>Establish an <a href="https://increment.com/on-call/on-call-at-any-size/">on-call rotation</a> with predefined roles and responsibilities and detailed runbooks to handle emergencies.</li>
  <li>Encourage the team to take time off after intense periods and plan for their absence to allow them to recharge without pressure or guilt.</li>
</ul>

<p><strong>Questions to measure success:</strong></p>

<ol>
  <li>Does your team feel that they have reliable support during challenging times?</li>
  <li>Do you maintain composure and engage in constructive problem-solving rather than venting emotions during crises?</li>
</ol>

<h3 id="4-curiosity">4. Curiosity</h3>

<p>Fostering a culture of continuous learning has been a personal passion of mine. I’ve encouraged my team to embark on a journey of exploration, whether through experimentation, reading, or mentorship, to build their personal mastery. This means holding brown bag sessions and providing opportunities for team members to work on experimental ideas, fostering a culture of perpetual learning.</p>

<p>I’ve also seen the importance of extending this curiosity to understand our customers and the business deeply. To truly solve their problems, the team needs to immerse themselves in the customer’s perspective and become students of the business.</p>

<blockquote>
  <p>The highest quality of thinking cannot emerge without learning. Learning can’t happen without mistakes.― Liz Wiseman, Multipliers: How the Best Leaders Make Everyone Smarter</p>
</blockquote>

<p><strong>Key practices:</strong></p>

<ul>
  <li>Organize regular “knowledge-sharing” or “brown bag” sessions where team members present on topics of interest or discuss industry-related books or articles.</li>
  <li>Set aside time for team members to explore new technologies, ideas, or tools relevant to their work.</li>
  <li>Create opportunities for the team to interact directly or indirectly with customers by fielding support cases or listening in on sales calls.</li>
</ul>

<p><strong>Questions to measure success:</strong></p>

<ol>
  <li>Do you create space for the team to experiment and fail in their learning journey without it being held against them?</li>
  <li>Does the team interact with its customers on a regular basis?</li>
</ol>

<h3 id="5-clarity">5. Clarity</h3>

<p>Clarity serves as the guiding light in decision-making. It’s not just about relying on data; it’s about relying on the right data.</p>

<p>I have found setting ambitious yet achievable goals, defining clear KPIs, and diligently tracking progress have created an immense amount of clarity for the team. In addition, we created a long-term roadmap, acknowledging its inherent uncertainty, and broke it down into detailed plans every quarter to create a seamless runway for execution.</p>

<p>This clarity extends to written communication, where everything from team working norms to schedules and expectations is documented. Having an operating playbook in place ensures that new team members can seamlessly integrate into the team and hit the ground running.</p>

<blockquote>
  <p>Ideas are easy. Execution is everything. — John Doerr, Measure What Matters</p>
</blockquote>

<p><strong>Key practices:</strong></p>

<ul>
  <li>Leverage <a href="https://untools.co/decision-making">thinking tools and frameworks</a> to help you and your team solve problems, make decisions, and understand systems.</li>
  <li>Create a team charter that outlines norms, expectations, and communication guidelines.</li>
  <li>Use project management tools to track progress transparently and provide visibility into goals.</li>
  <li>Create an <a href="https://diataxis.fr/">organized</a> repository for regularly updated documentation, making it easy to access important information.</li>
  <li>Ensure new team members have a clear checklist of things they can accomplish or learn in the first 30, 60, and 90 days.</li>
</ul>

<p><strong>Questions to measure success:</strong></p>

<ol>
  <li>Does your team possess a clear operating playbook, ensuring seamless onboarding for newcomers?</li>
  <li>Are goals and KPIs well-defined, and is progress diligently tracked?</li>
</ol>

<h3 id="6-celebration">6. Celebration</h3>

<p>Recognizing and celebrating achievements, no matter their scale, injects joy into the workplace. Acknowledging accomplishments through company-wide accolades or simple ‘kudos’ fosters a sense of pride and motivation.</p>

<p>69% of employees state they would work harder if they felt their efforts were better recognized — Zippia, <a href="https://www.zippia.com/advice/leadership-statistics/">35+ Powerful Leadership Statistics [2023]: Things All Aspiring Leaders Should Know</a></p>

<blockquote>
  <p>Leadership is not about being in charge. It is about taking care of those in your charge. — Simon Sinek, Leaders Eat Last</p>
</blockquote>

<p><strong>Key practices:</strong></p>

<ul>
  <li>Establish a practice to regularly recognize people behind their exceptional contributions and celebrate their impact.</li>
  <li>Host regular team celebrations for project milestones, both big and small, and send out swag and small tokens of appreciation.</li>
  <li>Establish a public forum for team members to express gratitude and recognition for their colleagues.</li>
  <li>Establish a public forum for sharing success stories highlighting their positive impact.</li>
</ul>

<p><strong>Questions to measure success:</strong></p>

<ol>
  <li>Is team spirit consistently high, and do team members eagerly anticipate celebrating successes together?</li>
  <li>Are creative ways employed to foster team bonding, even in distributed work settings?</li>
</ol>

<h3 id="closing-thoughts">Closing Thoughts</h3>

<p>I hope you found valuable takeaways from these 6 Cs. These principles aren’t just personal opinions; they’re insights drawn from practical experiences and even backed by research at BetterUp, which happens to be my former employer and a place where I’d like to think I earned my stripes for leadership:</p>

<blockquote>
  <p>We found that managers who can strengthen their <strong>coaching</strong> and <strong>problem solving</strong> skills, be more <strong>authentic</strong> with their teams, and work to <strong>recognize</strong> employee contributions are riding a wave of effectiveness to the bank: Their organizations experience a +400% return on assets, +30% EPS 5-year growth, +17% boost in innovation, and more. — <a href="https://www.betterup.com/briefing/issue-1/effective-management">Mindsets on the move: what effective management looks like today, BetterUp Briefing</a></p>
</blockquote>

<p>You could use these 6 Cs as a way to conduct a health check for your team and see where you need to focus your energies. I would love to hear your thoughts and experiences as you apply the 6 Cs to your leadership journey — please feel free to share your feedback and stories!</p>]]></content><author><name>jesalg</name></author><category term="engineering management" /><category term="leadership" /><summary type="html"><![CDATA[Personal Insights on Building Exceptional Teams]]></summary></entry><entry><title type="html">How To Make Your Ideas Stick</title><link href="https://jes.al/2023/12/how-to-make-your-ideas-stick/" rel="alternate" type="text/html" title="How To Make Your Ideas Stick" /><published>2023-12-08T00:00:00+00:00</published><updated>2023-12-08T00:00:00+00:00</updated><id>https://jes.al/2023/12/how-to-make-your-ideas-stick</id><content type="html" xml:base="https://jes.al/2023/12/how-to-make-your-ideas-stick/"><![CDATA[<h3 id="effective-proposal-writing-techniques-for-engineering-leaders">Effective proposal writing techniques for engineering leaders</h3>

<p>As an engineering leader, you’ve likely faced the challenge of writing proposals for ideas you’re passionate about, whether it’s drafting design docs, request for comments (RFCs), memos, or even slide decks. The format might change depending on context, but the fundamental challenge remains: how do we make our ideas resonate?</p>

<p>Throughout my career, I’ve witnessed numerous promising ideas fall by the wayside or need a lot of back and forth due to a lack of clear articulation. The culprit? Often, a missing ingredient from the six crucial elements of a persuasive proposal.</p>

<p>Knowing how to craft proposals that communicate and inspire action will ensure that your next proposal isn’t just read, but acted upon.</p>

<h1 id="1-establish-context">1. Establish context</h1>

<p>At the heart of a compelling proposal lies the establishment of mutual understanding. Begin by elucidating the “why.” Resist the urge to dive straight into the solution.</p>

<p>For instance, if you’re proposing a shift in system architecture, listing the current system’s flaws might seem intuitive. However, the real starting point should be “Why now?” What future changes do you foresee that necessitate this shift? Relate your proposal to your organization’s KPIs, OKRs, or overarching strategy.</p>

<p>Drawing inspiration from Stephen Covey’s  <em>The 7 Habits of Highly Effective People</em>, it’s paramount to prioritize understanding before seeking to be understood. By ensuring your proposal resonates with your audience’s concerns, you pave the way for consensus.</p>

<h2 id="example-of-establishing-context-in-a-proposal">Example of establishing context in a proposal:</h2>

<blockquote>
  <p><em>With the rapid growth of our user base and the increasing complexity of our application, our existing architecture is becoming a bottleneck. Recent post-mortem analyses of outages have pointed to scalability and tight coupling issues.</em></p>

  <p><em>Our company’s OKRs aim for a 20% increase in user engagement and a 30% growth in active users over the next year. To achieve this, we need an architecture that is resilient, scalable, and can be iterated upon quickly.</em></p>
</blockquote>

<h1 id="2-identify-the-problem">2. Identify the problem</h1>

<p>Once mutual understanding is established, it’s imperative to identify the core issue or opportunity your proposal targets.</p>

<p>Begin by articulating the current state, grounding your discussion with metrics and data. Subsequently, spotlight the primary areas of concern with the existing situation and, based on this, formulate your hypothesis.</p>

<p>Overall, you should seek to emphasize the gravity and ramifications of the problem, positioning yourself as the authority spotlighting an urgent issue.</p>

<h2 id="example-of-identifying-the-problem-in-a-proposal">Example of identifying the problem in a proposal:</h2>

<blockquote>
  <p><strong><em>Current state:</em></strong></p>

  <p><em>Our monolithic application has been the backbone of our services for the past five years. During this time, we’ve seen:</em></p>

  <p><strong><em>User growth</em></strong><em>: A 300% increase in active users.</em></p>

  <p><strong><em>Feature expansion</em></strong><em>: The introduction of 50+ new features, increasing the complexity of our codebase.</em></p>

  <p><strong><em>Deployment frequency</em></strong><em>: An average of one thousand deployments per month, with each deployment introducing an average of three new features or improvements.</em></p>

  <p><em>While this growth and activity indicate a thriving product, they’ve also introduced challenges:</em></p>

  <p><em>1.</em> <strong><em>Latency concern</em></strong><em>s: Our API response times have gradually increased over the past year. During high-traffic periods, we’ve observed a 30% increase in API response times compared to the previous year, impacting user experience.</em></p>

  <p><em>2.</em> <strong><em>Tight coupling</em></strong><em>: The intertwined nature of our services has become more evident. 20% of new feature releases in the past six months have resulted in regressions in unrelated areas, indicating a lack of modularity and separation of concerns.</em></p>

  <p><em>3.</em> <strong><em>Deploy time</em></strong><em>: The complexity of our application has affected our deployment times. Each deployment now takes an average of one hour, a 25% increase from the previous year. This affects our ability to swiftly deliver value to our users and</em>  <a href="https://leaddev.com/tech/solving-mean-time-repair-problem"><em>maintain a reasonable MTTR</em></a><em>.</em></p>

  <p><strong><em>Hypothesis</em></strong><em>:</em>  <a href="https://leaddev.com/tech/when-migrate-monolithic-distributed-frontend-architecture"><em>By migrating to a microservices architecture</em></a><em>, we can achieve faster deployment cycles, better scalability, and independent service evolutions, leading to improved uptime and stable user experience.</em></p>
</blockquote>

<h1 id="3-present-options">3. Present options</h1>

<p>When proposing solutions, it’s vital to consider various options. As Chip Heath and Dan Heath advise in  <em>Decisive: How to Make Better Choices in Life and Work</em>, follow the W.R.A.P process: widen your options, reality-test your assumptions, attain distance before deciding, and prepare to be wrong.</p>

<p>The W.R.A.P process will help you avoid  <a href="https://hbr.org/1998/09/the-hidden-traps-in-decision-making-2">common pitfalls in decision-making</a>, such as  <a href="https://en.wikipedia.org/wiki/Framing_effect_(psychology)">the framing trap</a>, confirming-evidence trap, overconfidence trap, and forecasting trap.</p>

<p>This also builds credibility as an honest analysis rather than a biased proposal. This stage is about demonstrating your critical thinking skills.</p>

<h2 id="example-of-presenting-options-in-a-proposal">Example of presenting options in a proposal:</h2>

<blockquote>
  <p><strong><em>Option 1</em></strong><em>: Incremental refactoring</em><br />
<em>Pros: Lower immediate risk, can be done during regular sprints.</em><br />
<em>Cons: Longer overall transition period, potential for accumulating tech debt.</em></p>

  <p><strong><em>Option 2</em></strong><em>: Big bang rewrite</em><br />
<em>Pros: Clean slate, can design with best practices from the start.</em><br />
<em>Cons: High risk, requires significant resources, longer time to see benefits.</em></p>

  <p><strong><em>Option 3</em></strong><em>: Hybrid approach (starting with core services and expand outwards)</em><br />
<em>Pros: Balances risk and allows for learning and iteration.</em><br />
<em>Cons: Requires careful planning and coordination.</em></p>
</blockquote>

<h1 id="4-create-a-roadmap">4. Create a roadmap</h1>

<p>With a recommended solution, it’s time to detail the implementation. Envision your proposal as a meticulously planned sequence.</p>

<p>Create a timeline detailing the steps, assign responsibilities, and set expectations for each stage.</p>

<p>Like a conductor leading an orchestra, your proposal should coordinate a unified effort toward the intended result.</p>

<h2 id="example-of-outlining-a-roadmap-in-a-proposal">Example of outlining a roadmap in a proposal:</h2>

<blockquote>
  <p><strong><em>Phase 1</em></strong><em>: Identify and isolate core services.</em><br />
<em>Duration: 1 month</em><br />
<em>Responsible: Architecture guild</em></p>

  <p><strong><em>Phase 2</em></strong><em>: Develop the first set of microservices and integrate them with the existing system.</em><br />
<em>Duration: 3 months</em><br />
<em>Responsible: Teams A and B</em></p>

  <p><strong><em>Phase 3</em></strong><em>: Gradual rollout to a subset of users and gather feedback.</em><br />
<em>Duration: 1 month</em><br />
<em>Responsible: QA team, DevOps, and user feedback group</em></p>

  <p><strong><em>Phase 4</em></strong><em>: Full transition and decommissioning of old components.</em><br />
<em>Duration: 2 months</em><br />
<em>Responsible: All engineering teams</em></p>
</blockquote>

<h1 id="5-highlight-risks">5. Highlight risks</h1>

<p>Analyze potential risks and challenges associated with the proposal, as well as the likelihood and impact of those risks. Provide strategies or plans to mitigate these risks, showing preparedness and foresight.</p>

<h2 id="examples-of-highlighting-risk-in-a-proposal">Examples of highlighting risk in a proposal:</h2>

<blockquote>
  <p><strong><em>Risk</em></strong><em>: Integration challenges with existing systems</em><br />
<strong><em>Likelihood</em></strong><em>: High</em><br />
<strong><em>Impact</em></strong><em>: Moderate</em><br />
<strong><em>Mitigation</em></strong><em>: Begin with a pilot project focusing on one or two core services to understand integration pain points. Use this pilot to develop best practices for subsequent integrations.</em></p>

  <p><strong><em>Risk</em></strong><em>: Potential downtime during transition</em><br />
<strong><em>Likelihood</em></strong><em>: Medium</em><br />
<strong><em>Impact</em></strong><em>: High</em><br />
<strong><em>Mitigation</em></strong><em>: Schedule migrations during off-peak hours and ensure rollback strategies are in place. Communicate potential downtimes to stakeholders well in advance.</em></p>

  <p><strong><em>Risk</em></strong><em>: Team’s learning curve with new architecture</em><br />
<strong><em>Likelihood</em></strong><em>: High</em><br />
<strong><em>Impact</em></strong><em>: Medium</em><br />
<strong><em>Mitigation</em></strong><em>: Invest in training sessions and workshops focused on microservices best practices. Pair experienced team members with those less familiar during the initial phases.</em></p>

  <p><strong><em>Risk</em></strong><em>: Increased initial costs</em><br />
<strong><em>Likelihood</em></strong><em>: Medium</em><br />
<strong><em>Impact</em></strong><em>: Medium</em><br />
<strong><em>Mitigation</em></strong><em>: While there might be an upfront cost due to the transition, the long-term benefits in terms of scalability, maintainability, and faster deployment cycles are expected to offset these initial expenses. Regular cost-benefit analyses will be conducted to ensure we remain on track.</em></p>

  <p><strong><em>Risk</em></strong><em>: Complexity in monitoring and logging across services</em><br />
<strong><em>Likelihood</em></strong><em>: Low</em><br />
<strong><em>Impact</em></strong><em>: High</em><br />
<strong><em>Mitigation</em></strong><em>: Adopt centralized logging and monitoring solutions that provide a holistic view of the entire system. This will aid in quicker issue detection and resolution.</em></p>
</blockquote>

<h1 id="6-prompt-action">6. Prompt action</h1>

<p>Summarize the proposal’s main points and clearly state what you’re asking stakeholders to do next, whether it’s providing feedback, giving approval, or allocating resources.</p>

<p>Include any additional information, data, charts, or references that support the proposal but might be too detailed for the main body. This provides a deeper dive for those interested.</p>

<h2 id="example-concluding-aspect-of-a-proposal">Example concluding aspect of a proposal:</h2>

<blockquote>
  <p><em>In light of the challenges posed by our current monolithic architecture and the company’s ambitious growth targets, transitioning to a microservices approach emerges as a strategic imperative. The hybrid approach, which combines the strengths of incremental refactoring and a more comprehensive rewrite, offers a balanced and pragmatic path forward.</em></p>

  <p><em>We’ve identified potential risks associated with this transition and have proposed robust mitigation strategies to address them. The success of this initiative, however, hinges on a collaborative effort,</em>  <a href="https://leaddev.com/team/five-tips-help-lead-large-cross-functional-collaborations"><em>cross-functional alignment</em></a><em>, and shared commitment.</em></p>

  <p>Next Steps:</p>

  <p><em>Feedback round: We invite stakeholders to review this proposal and provide feedback by [specific date].</em></p>

  <p><em>Pilot execution: Post feedback; if there are no strong objections or concerns, we will commence the pilot project.</em></p>

  <p><em>We’re at a pivotal juncture, and the decisions we make now will shape our product and capabilities for years to come. Let’s collaborate, innovate, and steer our organization towards a future-ready architecture.</em></p>
</blockquote>

<h1 id="final-thoughts">Final thoughts</h1>

<p>In conclusion, crafting a persuasive proposal goes beyond organizing information in a digestible pyramid structure. It’s about weaving a narrative that resonates with the organization’s core objectives, prospecting a path forward, anticipating risks, and compelling stakeholders to take action.</p>

<p>When writing your next proposal, see it as more than a document. It’s a powerful call to action, a catalyst for change, and a testament to your leadership acumen. The quality of your proposals can shape the trajectory of your projects, teams, and, in the grander scheme, your evolution as an engineering leader.</p>

<p><em>This article was originally published on</em> <a href="https://leaddev.com/personal-development/how-engineering-leaders-can-write-better-proposals"><em>LeadDev.com</em></a> <em>on Nov 29th, 2023.</em></p>]]></content><author><name>jesalg</name></author><category term="engineering management" /><category term="leadership" /><summary type="html"><![CDATA[Effective proposal writing techniques for engineering leaders]]></summary></entry><entry><title type="html">The Role Of A System Architect</title><link href="https://jes.al/2023/08/the-role-of-a-system-architect/" rel="alternate" type="text/html" title="The Role Of A System Architect" /><published>2023-08-08T00:00:00+00:00</published><updated>2023-08-08T00:00:00+00:00</updated><id>https://jes.al/2023/08/the-role-of-a-system-architect</id><content type="html" xml:base="https://jes.al/2023/08/the-role-of-a-system-architect/"><![CDATA[<h4 id="unraveling-growth-challenges-could-a-system-architect-be-the-solution">Unraveling growth challenges: Could a system architect be the solution?</h4>

<p><img src="https://cdn-images-1.medium.com/max/800/0*O6-QPsD1Zif2WQ4t.jpg" alt="" /></p>

<p>Serverless Architecture from <a href="https://classicprogrammerpaintings.com/post/142748219994/serverless-architecture-joaqu%C3%ADn-torres-garc%C3%ADa">Classic Programmer Paintings</a></p>

<p>Most startups that go through hyper-growth tend to face the inevitable <a href="https://martinfowler.com/articles/bottlenecks-of-scaleups/">Bottlenecks of Scaleups</a>, as masterfully described by ThoughtWorks.</p>

<p>Having navigated the hyper-growth journey myself, I’ve witnessed firsthand how these technical bottlenecks can impede business progress, causing churn and chaos.</p>

<p><img src="https://cdn-images-1.medium.com/max/800/0*qhvkyH7yaFLNw4vd.png" alt="" /></p>

<p><a href="https://martinfowler.com/articles/bottlenecks-of-scaleups/">Bottlenecks of Scaleups</a></p>

<p>In light of these challenges, I wondered if a system architect’s role could hold the key to identifying and circumventing these bottlenecks and reducing complexity like this infamous Amazon Deathstar.</p>

<p><img src="https://cdn-images-1.medium.com/max/800/0*qkkDJfEzbT_H0qtJ.png" alt="" /></p>

<p><a href="https://twitter.com/Werner/status/741673514567143424">Amazon internal service dependency visualization</a></p>

<p>To that end, this article explores the benefits, operating philosophy, guiding principles, job description, career progression, success criteria, and implementation approaches for the role of a system architect.</p>

<h3 id="benefits-of-having-a-system-architect">Benefits of having a System Architect</h3>

<p>My hypothesis is rooted in the belief that a clear and purposeful approach to technical architecture can prevent false starts and accumulating tech debt.</p>

<p>Picture a system architect whose sole responsibility is to observe the big picture and facilitate knowledge sharing across teams, breaking down silos for better collaboration.</p>

<p>This individual would need to possess exceptional skills in designing and managing the overall technical architecture of a system. Their role includes assisting teams in defining system components, services, and interactions.</p>

<p>The benefits of having a system architect would ultimately translate into:</p>

<ul>
  <li><strong>Improved alignment and coordination</strong> — Foster a common goal and architecture across teams, leading to more efficient and effective development.</li>
  <li><strong>Enhanced technical expertise </strong>— Offer a deep understanding of system design and architecture, guiding and mentoring other engineering team members to elevate the organization’s overall technical capabilities.</li>
  <li><strong>Improved quality and performance </strong>— Co-create a well-designed system architecture to boost performance and reliability, resulting in quicker time-to-value, better user experiences, and heightened customer satisfaction.</li>
  <li><strong>Reduced technical debt </strong>— Proactively manage system architecture to prevent tech debt buildup, saving time and resources in the long run.</li>
</ul>

<h3 id="harmonizing-with-the-agile-philosophy">Harmonizing With the Agile Philosophy</h3>

<p>You may be curious how this role fits into the agile methodology that many organizations follow. On the surface, the role of an architect may be antithetical to being agile.</p>

<p>However, several sources discuss the role of an architect in an agile environment. For example, <a href="https://www.agilearchitecture.org/">Agile Architecture</a> describes it as:</p>

<blockquote>
  <p>The role of the architect in an agile project is to provide guidance and direction to the team on the technical aspects of the project. The architect is not a dictator, but rather a facilitator and coach, who helps the team find the best solutions to their technical challenges.</p>
</blockquote>

<p>Similarly, the <a href="https://www.scrumalliance.org/">Scrum Alliance</a> discusses the role, stating that:</p>

<blockquote>
  <p>[the architect] is responsible for guiding the team to make technical decisions that align with the project’s goals, scope, and delivery schedule. They should be able to communicate the technical vision to the team and help the team understand how their work contributes to that vision.</p>
</blockquote>

<p>Large-Scale Scrum (<a href="https://less.works/">LeSS</a>) Framework’s view on the architecture role is more philosophically aligned with how I see the role. The following statements on the <a href="https://less.works/less/technical-excellence/architecture-design">Architecture &amp; Design</a> page in the chapter “Technical Excellence” shape their opinion about software architects:</p>

<ul>
  <li>The sum of all the source code is the true design blueprint or software architecture.</li>
  <li>
    <p>The real software architecture evolves (better or worse) every day of the product, as people do programming.!</p>
  </li>
  <li>The real living architecture needs to be grown daily through programming by master programmers.</li>
  <li>A software architect who is not in touch with the evolving source code of the product is out of touch with reality.</li>
  <li>Every programmer is some kind of architect–whether wanted or not. Every act of programming is some kind of architectural act–good or bad, small or large, intended or not.</li>
</ul>

<p>LeSS promotes the idea that architects are regular team members. They should participate in hands-on engineering and especially mentoring through design workshops and pair programming. LeSS warns against architecture astronauts (a.k.a. PowerPoint architects):</p>

<blockquote>
  <p>These are the people I call Architecture Astronauts. It’s very hard to get them to write code or design programs, because they won’t stop thinking about the architecture… They tend to work for really big companies that can afford to have lots of unproductive people with really advanced degrees that don’t contribute to the bottom line.</p>
</blockquote>

<p><img src="https://cdn-images-1.medium.com/max/800/0*1uV196NlsGkpZQV3" alt="" /></p>

<p><a href="https://www.comicagile.net/comic/the-architect/">#211 — The Architect by Comic Agile</a></p>

<h3 id="guiding-principles">Guiding Principles</h3>

<p>Now that we have some grounding philosophy behind a system architect’s role in an agile organization, let’s discuss the guiding principles of this role.</p>

<p>For this, we don’t need to reinvent the wheel. Principles proposed by <a href="https://www.agilearchitect.org/agile/principles.htm">Agile Architecture</a> hold strong:</p>

<ul>
  <li><strong>Value people </strong>— You must recognize the value and importance of people and their expertise. No dictators or PowerPoint architects.</li>
  <li><strong>Communicate! </strong>— Communicate effectively with all stakeholders and tailor information to their needs.</li>
  <li><strong>Less is more</strong> — Minimize complexity and strive for simplicity in design and communication.</li>
  <li><strong>Embrace change</strong> — Be prepared for change and welcome it as an opportunity for competitive advantage.</li>
  <li><strong>Choose the right solution for the enterprise </strong>— Customer centricity. Make sure the solution is right by verifying it with the customer.</li>
  <li><strong>Deliver quality</strong> — Foster a culture of craftspersonship and sustainable development at a pace that can be maintained indefinitely.</li>
  <li><strong>Model and document in an Agile fashion </strong>— Leverage proven and effective modeling/mapping and documentation strategies.</li>
</ul>

<h3 id="carving-the-job-description">Carving the Job Description</h3>

<p>Equipped with the guiding philosophy and principles, if you were to recruit someone for this role, let’s see what the job description could look like. A system architect typically collaborates with other teams in several ways:</p>

<ul>
  <li><strong>Guide system design and architecture</strong> — Provide guidance and expertise to other teams on how to design and build systems that align with the overall architecture of the organization. This can involve working closely with teams to understand their needs and requirements and recommending the best approaches.</li>
  <li><strong>Review and provide feedback for technical designs</strong> — Review and provide timely feedback for RFCs proposed by teams. This can involve evaluating the proposed designs to ensure they align with the system’s overall architecture and do not introduce any potential issues or technical debt.</li>
  <li><strong>Help resolve technical challenges</strong> — Help teams resolve technical challenges during development. This may involve providing guidance on approaching a particular problem or working with the team to develop a solution.</li>
  <li><strong>Participate in planning and estimation</strong> — Participate in planning and estimation meetings with other teams. This can involve providing input on the technical feasibility of proposed features and estimates for the time and resources required to implement them.</li>
</ul>

<p>Overall, the specific ways in which a system architect collaborates with other teams will vary depending on the needs and goals of the initiative and the members working on it.</p>

<p><img src="https://cdn-images-1.medium.com/max/800/0*jMwfBXhfe9ITr59h.jpg" alt="" /></p>

<p><a href="https://www.leanix.net/en/blog/enterprise-architecture-footprints-humor">Enterprise Architecture Footprints</a></p>

<h3 id="navigating-career-progression">Navigating Career Progression</h3>

<p>Now that we have a job description, one may wonder how someone would become an architect and what would their career trajectory look like.</p>

<p>Various avenues exist for senior engineers to advance in their careers. On the individual contributor (IC) path, adding a system architect role alongside roles like SRE, Data Engineer, and Staff Engineer is a viable option.</p>

<p>Illustrations below help visualize what that may look like courtesy of <a href="https://codecapsule.com/2021/07/15/the-skills-map-of-senior-tech-career-progression/">CodeCapsule</a>.</p>

<p><img src="https://cdn-images-1.medium.com/max/800/0*uhZETZKCGdl_x4N6" alt="" /></p>

<p><a href="https://codecapsule.com/2021/06/15/career-growth-what-paths-after-senior-engineer/">Career Growth: What Paths After Senior Engineer</a></p>

<p><img src="https://cdn-images-1.medium.com/max/800/0*T1ONpFgDWtPy7x1c" alt="" /></p>

<p><a href="https://codecapsule.com/2021/07/15/the-skills-map-of-senior-tech-career-progression/">The Skills Map of Senior Tech Career Progression</a></p>

<p>Note the key difference between an architect and staff/principal engineers: while the latter focus on ensuring their teams’ work functions correctly, architects take a broader view, looking after how all the pieces fit together.</p>

<p>Before you ask, yes, staff and principal engineers also do think about how their work fits into the broader ecosystem, but most often, they don’t consider that their full-time concern.</p>

<p>This role sits at the intersection of ‘What’ (is it we are trying to do/solve) and ‘How’ (are we going to approach the design), and ‘Why’ (are we doing it this way) as described by <a href="https://softwarearchitecturezen.blog/about/">Peter Cripps</a>.</p>

<p><img src="https://cdn-images-1.medium.com/max/800/0*92UcCEwKzyhyC6rj" alt="" /></p>

<p><a href="https://softwarearchitecturezen.blog/2010/07/05/on-thinking-architecturally/">On Thinking Architecturally</a></p>

<p>Becoming an architect also has to do with having increased communication and relationship skills, on top of solid tech skills, as ‌architects have to deal with and influence larger groups of people across multiple teams and organizations.</p>

<h3 id="measuring-success">Measuring Success</h3>

<p>Introducing the role of a system architect into an organization is a strategic move aimed at improving the technical architecture, fostering collaboration, and overcoming growth challenges.</p>

<p>However, to validate the effectiveness of this role, it’s essential to measure its impact and quantify the value it brings to the organization.</p>

<p>Here are some potential KPIs that can help gauge the effectiveness of the role:</p>

<ol>
  <li><strong>Technical debt reduction</strong>: Measure the decrease in technical debt over time as a result of proactive architectural decisions made by the system architect. (Related: <a href="https://newsletter.abinoda.com/p/measuring-and-managing-tech-debt">How Google Measures and Manages Tech Debt</a>)</li>
  <li><strong>System performance and reliability</strong>: Evaluate the performance and reliability metrics of the system after the system architect makes architectural improvements.</li>
  <li><strong>Collaboration and team satisfaction</strong>: Conduct surveys or feedback sessions to gauge how well the system architect facilitates collaboration and team communication.</li>
  <li><strong>Time-to-Market reduction</strong>: Determine how architectural improvements by the system architect have contributed to faster product development and time-to-market.</li>
  <li><strong>Resource optimization</strong>: Assess how architectural decisions have led to better resource utilization, whether regarding hardware, cloud services, or personnel.</li>
  <li><strong>Impact on productivity</strong>: Analyze the impact of architectural improvements on the productivity of engineering teams.</li>
</ol>

<p>Measuring success should not be a one-time activity. Adopting a continuous improvement approach is crucial, wherein feedback from stakeholders, teams, and customers is regularly collected and incorporated into the system architect’s strategies.</p>

<p>Feedback loops enable the system architect to adjust their approach based on real-world experiences and emerging challenges. This will help protect the organization against a gatekeeper or an ivory tower architect, which would be antithetical to the role’s intention.</p>

<h3 id="considerations-for-implementation">Considerations for Implementation</h3>

<h4 id="differentiating-from-ems-and-seniorstaffprincipal-engineers">Differentiating from EMs and Senior/Staff/Principal Engineers</h4>

<p>While engineering managers (EMs) and engineers are usually involved in making architectural decisions, their focus is typically on the domain or squad they operate in. The system architect’s distinctiveness lies in their primary focus on enabling effective cross-squad collaboration and communication, particularly regarding cross-cutting technical implications.</p>

<h4 id="reporting-structure">Reporting structure</h4>

<p>A role like a system architect often reports directly to engineering leadership, offering broad oversight and visibility across multiple teams. As such, it may be positioned under a Director or VP, or above, depending on the organization’s hierarchy.</p>

<h4 id="determining-the-number-of-architects">Determining the number of architects</h4>

<p>Given the depth of domain knowledge required, complex domains may require experienced architects. Hiring for this role may entail identifying existing engineers with the right skills and interest in stepping into the architect role. This may affect the pace of filling the role based on the current team’s availability and skills.</p>

<h3 id="in-closing">In Closing</h3>

<p>In conclusion, I hope this exploration helps gives you a better sense of how this role could be introduced and the benefits it could bring.</p>

<p>I’ll leave you with this timeless video by KRAZAM. Enjoy!</p>

<iframe width="560" height="315" src="https://www.youtube.com/embed/y8OnoxKotPQ" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen=""></iframe>]]></content><author><name>jesalg</name></author><category term="agile" /><category term="software development" /><category term="engineering management" /><category term="leadership" /><summary type="html"><![CDATA[A Step-by-Step Sprint Planning Guide for Engineering Leaders]]></summary></entry></feed>