<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Hiring | Law Zava</title><link>https://lawzava.com/topics/hiring/</link><description>Interviewing, onboarding, career paths, and building a senior bench instead of buying one.</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 13 Aug 2026 07:51:57 +0000</lastBuildDate><atom:link href="https://lawzava.com/topics/hiring/index.xml" rel="self" type="application/rss+xml"/><item><title>The New Talent Stack: Product, Platform, and Applied AI Must Work as One System</title><link>https://lawzava.com/blog/2026-06-18-new-talent-stack-for-ai-organizations/</link><pubDate>Thu, 18 Jun 2026 00:00:00 +0000</pubDate><guid>https://lawzava.com/blog/2026-06-18-new-talent-stack-for-ai-organizations/</guid><description>AI organizations create leverage when product, platform, and applied AI are designed as one operating system instead of three kingdoms.</description><content:encoded><![CDATA[<h2 id="quick-take">Quick take</h2>
<p>Most  <a href="/blog/2024-12-02-building-ai-teams/"
   
   >AI hiring plans</a>
 are trying to fix an interface problem with resumes.</p>
<p>If product, platform, and applied AI are not built as one operating system, new headcount adds motion but not leverage. The constraint is usually not talent scarcity. It is system design.</p>
<h2 id="recruiting-alone-cannot-fix-a-broken-stack">Recruiting Alone Cannot Fix a Broken Stack</h2>
<p>AI organizations often describe their issue as “we need stronger talent.” In many cases, they already have capable people. What they lack is a clear operating contract across teams.</p>
<p>The pattern is familiar:</p>
<ul>
<li>product optimizes for release velocity</li>
<li>platform optimizes for reliability and control</li>
<li>applied AI optimizes for model behavior and evaluation quality</li>
</ul>
<p>Each goal is rational. The breakdown happens at the handoffs.</p>
<p>When interfaces are unclear, every launch becomes a negotiation. When interfaces are explicit, the same teams produce compounding output.</p>
<h2 id="the-three-layer-talent-stack">The Three-Layer Talent Stack</h2>
<p>A healthy stack has three interlocking layers with distinct responsibilities:</p>
<ol>
<li><strong>Product</strong> — owns user outcomes and business success metrics.</li>
<li><strong>Platform</strong> — owns safe defaults, deployment paths, and observability.</li>
<li><strong>Applied AI</strong> — owns workflow behavior, retrieval/prompting/routing choices, and evaluation quality.</li>
</ol>
<p>These are not departments in competition. They are system components with different jobs.</p>
<p>If product outruns platform, quality debt accumulates.
If platform outruns product, infrastructure becomes generic overhead.
If applied AI outruns both, you get technically impressive demos that never operationalize.</p>
<h2 id="where-organizations-usually-break">Where Organizations Usually Break</h2>
<p>Most failures are boundary failures, not individual failures.</p>
<p>Common symptoms:</p>
<ul>
<li>no explicit owner for the model-to-product handoff</li>
<li>platform operating as a  <a href="/blog/2026-05-14-why-ai-platform-teams-become-bottlenecks/"
   
   >ticket queue instead of an enablement layer</a>
</li>
<li>applied AI measured by demo novelty instead of  <a href="/blog/2026-05-19-stop-building-internal-ai-tools-no-one-uses/"
   
   >adoption in live workflows</a>
</li>
<li>product committing features that infra cannot support safely</li>
</ul>
<p>A concise diagnosis: <strong>org debt is usually interface debt with better branding.</strong></p>
<h2 id="design-the-stack-intentionally">Design the Stack Intentionally</h2>
<p>The fix is not “more syncs.” The fix is explicit decision rights.</p>
<ul>
<li>product owns problem selection and business tradeoffs</li>
<li>platform owns reliability guardrails and release safety</li>
<li>applied AI owns workflow performance and  <a href="/blog/2026-04-23-ai-evaluation-maturity/"
   
   >evaluation integrity</a>
</li>
<li>leadership owns  <a href="/blog/2026-06-10-ai-leadership-bench-roles-interfaces/"
   
   >escalation rules</a>
 when tradeoffs conflict</li>
</ul>
<p>Once this is explicit, hiring quality improves. You stop searching for mythical generalists and start  <a href="/blog/2026-05-26-hiring-operators-for-ai-teams/"
   
   >hiring operators</a>
 who can perform inside a coherent system.</p>
<h2 id="what-to-evaluate-before-adding-headcount">What to Evaluate Before Adding Headcount</h2>
<p>Before opening new roles, run this short check:</p>
<ol>
<li>Are cross-team handoffs documented and current?</li>
<li>Does each layer have clear success metrics it actually controls?</li>
<li>Are escalation paths clear when speed, reliability, and quality disagree?</li>
<li>Are teams rewarded for system outcomes rather than local optimization?</li>
</ol>
<p>If those answers are weak, fix interfaces first. New hires will scale the current operating model, good or bad.</p>
<h2 id="key-takeaways">Key Takeaways</h2>
<ul>
<li>Strong AI organizations are designed as a system, not staffed as silos.</li>
<li>Product, platform, and applied AI need explicit interfaces and decision rights.</li>
<li>Boundary clarity is a bigger lever than raw headcount.</li>
<li>Hiring works best after the operating contract is clear.</li>
</ul>
]]></content:encoded></item><item><title>Hiring for AI Teams: The Operator Profile That Actually Scales</title><link>https://lawzava.com/blog/2026-05-26-hiring-operators-for-ai-teams/</link><pubDate>Tue, 26 May 2026 00:00:00 +0000</pubDate><guid>https://lawzava.com/blog/2026-05-26-hiring-operators-for-ai-teams/</guid><description>The highest-leverage AI hires are operators who can handle ambiguity, systems tradeoffs, and verification pressure.</description><content:encoded><![CDATA[<h2 id="quick-take">Quick take</h2>
<p>The best AI hires are not the people who can narrate the model stack. They are the operators who can turn ambiguity into a system, make the failure mode legible, and keep shipping when the first answer is wrong.</p>
<p>That is why judgment matters more than hype. Teams that hire for excitement get enthusiastic meetings. Teams that hire for operator discipline get leverage.</p>
<h2 id="the-operator-profile">The Operator Profile</h2>
<p>Strong AI operators usually have four traits:</p>
<ul>
<li>they can turn a vague brief into a tractable plan without waiting for perfect inputs</li>
<li>they know enough about systems tradeoffs to challenge weak assumptions early</li>
<li>they care about verification as much as output</li>
<li>they can move between engineering, product, and executive language without flattening the nuance</li>
</ul>
<p>Model trivia is cheap. Operator judgment is what survives contact with production.</p>
<p>The market is full of people who can name the newest framework. The shortage is people who can keep a system healthy when the workload changes, the vendor shifts, or the first release misbehaves.</p>
<h2 id="what-most-teams-hire-wrong">What Most Teams Hire Wrong</h2>
<p> <a href="/blog/2024-12-02-building-ai-teams/"
   
   >AI hiring</a>
 goes off the rails when teams reward signals that are easy to notice but hard to run with.</p>
<p>Teams over-index on:</p>
<ul>
<li>prompt fluency without operational discipline</li>
<li>research taste without delivery habits</li>
<li>architecture opinions without  <a href="/blog/2025-11-10-ai-incident-management/"
   
   >incident literacy</a>
</li>
<li>product instinct without measurement rigor</li>
</ul>
<p>None of those traits is bad. The problem is imbalance.</p>
<p>A strong AI team needs people who will own the boring parts:  <a href="/blog/2026-04-23-ai-evaluation-maturity/"
   
   >evals</a>
, fallback logic, access boundaries, cost control, and documentation precise enough that someone else can operate the system later.</p>
<p>If a candidate can talk fluently about models but cannot explain how they would debug a bad release, they are not ready to own production AI.</p>
<h2 id="the-interview-questions-that-matter">The Interview Questions That Matter</h2>
<p>You do not need a clever  <a href="/blog/2018-04-16-technical-interviewing-what-actually-works/"
   
   >hiring process</a>
. You need questions that force real evidence.</p>
<p>Ask candidates to walk through:</p>
<ol>
<li>
<p><strong>A system they had to stabilize.</strong>
What was broken, how did they know, and what changed after they touched it?</p>
</li>
<li>
<p><strong>A decision they reversed.</strong>
Strong operators do not defend bad ideas forever. They update when the evidence changes.</p>
</li>
<li>
<p><strong>A workflow they measured.</strong>
If they cannot show how they connected work to metrics, they probably did not own the outcome.</p>
</li>
<li>
<p><strong>A failure they made safer.</strong>
In AI, good operators do not eliminate failure. They bound it.</p>
</li>
</ol>
<p>A useful answer is concrete, a little messy, and grounded in actual work. The worst answer sounds polished and empty.</p>
<h2 id="hire-for-the-shape-of-the-system">Hire for the Shape of the System</h2>
<p> <a href="/blog/2026-02-16-ai-team-structures/"
   
   >AI teams</a>
 do not need the same operator profile in every context. Research-heavy, production-heavy, and regulated enterprise teams all demand different instincts.</p>
<p>If you want a research-heavy team, hire for exploration and rigor. If you want a production-heavy team, hire for stability and operational discipline. If you want a regulated enterprise team, the bar is not “exciting.” The bar is whether this person can help you ship safely, repeatedly, and without heroics.</p>
<p>That is the real operator profile:</p>
<ul>
<li>can handle uncertainty without freezing</li>
<li>can make tradeoffs explicit</li>
<li>can  <a href="/blog/2026-05-14-build-the-system-the-model-cannot-break/"
   
   >leave behind a system other people can run</a>
</li>
<li>can keep pace without turning every launch into a performance</li>
</ul>
<h2 id="key-takeaways">Key Takeaways</h2>
<ul>
<li>Hire AI operators for judgment, not model vocabulary.</li>
<li>Ask about stabilization, reversal, measurement, and safer failure.</li>
<li>The strongest people leave behind systems, not just stories.</li>
<li>If a candidate cannot explain how they debug and bound failure, keep looking.</li>
</ul>
]]></content:encoded></item><item><title>Your AI Team Problem Is Not Technical</title><link>https://lawzava.com/blog/2024-12-02-building-ai-teams/</link><pubDate>Mon, 02 Dec 2024 00:00:00 +0000</pubDate><guid>https://lawzava.com/blog/2024-12-02-building-ai-teams/</guid><description>Most AI team failures come from unclear ownership and weak evaluation, not missing talent. Structure and discipline beat hiring sprees.</description><content:encoded><![CDATA[<p>I&rsquo;ve been in or around AI teams since 2018 &ndash; from a startup accelerator to enterprise teams, with roots going back to my first startup. One lesson keeps repeating: teams rarely fail at AI because they lack talent. They fail because nobody owns the outcome.</p>
<p>That sounds harsh. It&rsquo;s also true.</p>
<h2 id="the-ownership-gap">The Ownership Gap</h2>
<p>Here&rsquo;s how it usually goes. A company decides to &ldquo;do AI.&rdquo; They hire an ML engineer, maybe two. Those engineers build a demo. Leadership is impressed. Then someone asks, &ldquo;Who owns this in production?&rdquo; and the room goes quiet.</p>
<p>The ML engineer built the model. The product team didn&rsquo;t spec the success criteria. The data engineer wasn&rsquo;t involved. The designer has no idea what happens when the model gets it wrong. And nobody defined what &ldquo;getting it wrong&rdquo; even means.</p>
<p>I&rsquo;ve seen this exact pattern at large enterprises and small startups. The blocker isn&rsquo;t technology. It&rsquo;s structure.</p>
<h2 id="three-models-that-work">Three Models That Work</h2>
<p>Every successful team I&rsquo;ve seen fits one of three structures, and the core tradeoff has not changed.</p>
<p><strong>Embedded.</strong> AI engineers sit inside product teams. They ship features directly, own the evaluation, and live with the consequences of their choices. This works when AI is a feature, not a platform. The downside: practices drift across teams because there&rsquo;s no central coordination.</p>
<p><strong>Platform.</strong> A central team builds shared infrastructure &ndash; model serving, evaluation harnesses, prompt management, observability. Product teams consume that platform. This works when multiple products need AI. The downside: the platform team gets pulled in every direction and loses focus on any single product.</p>
<p><strong>Hybrid.</strong> A platform team builds the core. Embedded engineers in product teams customize it. This is the most common pattern at companies that have scaled this successfully. It also requires the most coordination. Without clear ownership boundaries, it degenerates into blame-passing between platform and product.</p>
<p>Pick the model that matches your current scale, not the one you hope to need in two years.</p>
<h2 id="who-to-hire">Who to Hire</h2>
<p>The best AI engineers I&rsquo;ve worked with share a few traits that don&rsquo;t show up on resumes.</p>
<p>They can explain how their system fails. Not just how it works, but how it breaks and what happens when it does. This is the best interview signal I&rsquo;ve found.</p>
<p>They think in systems, not models. The model is one component. The retrieval layer, validation step, fallback path, and monitoring are just as important. A candidate who talks only about model architecture is missing the point.</p>
<p>They build evaluations before they build features. If you can&rsquo;t measure whether the thing works, you&rsquo;re guessing. The best engineers treat eval sets like test suites. They version them, maintain them, and refuse to ship without them.</p>
<p>They&rsquo;ve shipped something to real users. Not a notebook. Not a demo. Something people used, complained about, and forced them to iterate on. Production experience changes how you think about every design choice.</p>
<h2 id="the-operating-loop">The Operating Loop</h2>
<p>Fancy process frameworks aren&rsquo;t necessary. A tight loop between four phases covers it:</p>
<p><strong>Discovery.</strong> Define success in measurable terms. What does &ldquo;good&rdquo; look like? What are the edge cases? Is the data available? A clear definition of success is worth more than a long list of ideas.</p>
<p><strong>Prototyping.</strong> Run small experiments with real examples. Document the failures, not just the successes. Bring domain experts in early &ndash; they know the edge cases you&rsquo;ll miss.</p>
<p><strong>Development.</strong> Build the evaluation suite first. Version prompts and retrieval logic as code. Test against known failure cases whenever models or data change.</p>
<p><strong>Production.</strong> Roll out gradually. Monitor quality and cost in the same dashboard. Treat regressions as product issues with named owners, not vague &ldquo;the model changed&rdquo; explanations.</p>
<h2 id="what-actually-goes-wrong">What Actually Goes Wrong</h2>
<p>The problems I see most often aren&rsquo;t technical:</p>
<ul>
<li>Nobody owns evaluation for a specific feature. There&rsquo;s a shared checklist but no named person.</li>
<li>Success criteria are undefined, so feedback becomes opinion. &ldquo;This doesn&rsquo;t feel right&rdquo; isn&rsquo;t actionable.</li>
<li>The pipeline is too complex for the use case. Someone built a multi-agent system for what should have been a single prompt.</li>
<li>Knowledge stays in people&rsquo;s heads. When someone leaves, the team loses context that took months to build.</li>
</ul>
<p>Fix these four problems and you&rsquo;re ahead of most AI teams. No new tools required. No new hires. Just clarity about who owns what and how you know it&rsquo;s working.</p>
<p>That&rsquo;s the whole secret: clear ownership, reliable evaluation, and the discipline to maintain both. Everything else is detail.</p>
]]></content:encoded></item><item><title>AI Engineering Is Its Own Discipline Now</title><link>https://lawzava.com/blog/2024-01-08-ai-engineering-discipline/</link><pubDate>Mon, 08 Jan 2024 00:00:00 +0000</pubDate><guid>https://lawzava.com/blog/2024-01-08-ai-engineering-discipline/</guid><description>AI engineering is not ML research with a product hat. It is the discipline of making models behave in production &amp;amp;ndash; and it demands its own skill set.</description><content:encoded><![CDATA[<h2 id="quick-take">Quick take</h2>
<p>Stop hiring ML researchers to do integration work. AI engineering is the craft of turning probabilistic models into reliable product features. Different job, different skills, different mindset.</p>
<hr>
<p>After a year of working on AI integration across different organizations, the pattern I keep seeing is the same: a team hires a machine learning engineer, points them at a product feature, and wonders why the result is a brilliant notebook that falls apart the moment a real user touches it.</p>
<p>The problem isn&rsquo;t the engineer. The problem is a category error.</p>
<h2 id="this-isnt-ml-this-isnt-backend-its-its-own-thing">This isn&rsquo;t ML. This isn&rsquo;t backend. It&rsquo;s its own thing.</h2>
<p>AI engineering sits in an awkward gap. On one side, you have model training &ndash; the research-heavy work of building and improving models. On the other, traditional software engineering &ndash; APIs, databases, deployment pipelines, the stuff we&rsquo;ve been doing for decades.</p>
<p>AI engineering is neither. It&rsquo;s the work of taking someone else&rsquo;s model and making it do something useful, reliably, in production. That means prompt design, retrieval pipelines, evaluation harnesses, cost management, safety guardrails, and graceful failure handling. It means caring deeply about the 2% of cases where the model confidently produces garbage.</p>
<p>I spent years building backend systems across fintech and cloud infrastructure. The shift to AI engineering felt familiar in some ways &ndash; you still think about latency, error handling, observability. But the non-determinism changes everything. You can&rsquo;t unit test your way to confidence when the same input produces different outputs on Tuesday.</p>
<h2 id="the-skill-set-looks-different">The skill set looks different</h2>
<p>When I talk to CTOs about what to look for in AI engineering hires, I push them away from the classic ML job description. The competencies that actually matter are:</p>
<ul>
<li><strong>Prompt design and testing.</strong> Not prompt &ldquo;engineering&rdquo; as a parlor trick. Systematic testing across edge cases, with version control and regression detection.</li>
<li><strong>Retrieval and context assembly.</strong> Getting the right information to the model at the right time. This is where most applications succeed or fail.</li>
<li><strong>Integration discipline.</strong> Error handling, latency budgets, fallback paths. The boring stuff that separates demos from products.</li>
<li><strong>Evaluation loops.</strong> If you can&rsquo;t measure whether your AI feature got better or worse after a change, you aren&rsquo;t doing engineering. You&rsquo;re doing improv.</li>
<li><strong>Safety and guardrails.</strong> Especially when the model can take actions or access private data.</li>
</ul>
<p>None of this requires a PhD. It requires someone who has shipped software, understands production systems, and has the patience to wrangle probabilistic outputs into predictable behavior.</p>
<h2 id="its-a-set-of-responsibilities-not-a-stack">It&rsquo;s a set of responsibilities, not a stack</h2>
<p>People keep trying to draw AI engineering as a neat layer diagram. In practice, it&rsquo;s a set of cross-cutting responsibilities. You&rsquo;re choosing models, preparing data, shaping prompts, monitoring quality, controlling costs, and enforcing safety &ndash; all at once. The reason the role feels distinct is that it spans product thinking, system design, and ongoing operational care in a way that neither pure ML nor pure backend roles typically do.</p>
<p>At one large telecom, I watched teams try to split these responsibilities across existing roles. The ML team owned prompts. The backend team owned integration. The product team owned evaluation. Nobody owned the whole thing. The result was predictable: finger-pointing when quality dropped and no single person who could trace a bad output from user input to model response to product impact.</p>
<h2 id="how-to-actually-build-these-skills">How to actually build these skills</h2>
<p>Depth beats breadth. Don&rsquo;t chase every new framework or technique. A solid path:</p>
<ol>
<li>Build a feature that calls a model and returns something useful. Ship it.</li>
<li>Add retrieval so the model&rsquo;s answers are grounded in real data instead of vibes.</li>
<li>Build an evaluation loop that catches regressions before your users do.</li>
<li>Add guardrails and define what happens when the model fails. Because it will.</li>
</ol>
<p>The practice is learned by shipping and iterating. Blog posts help (including this one, I hope), but they aren&rsquo;t a substitute for watching your carefully crafted prompt fall apart on production traffic.</p>
<h2 id="where-this-fits-in-your-org">Where this fits in your org</h2>
<p>In smaller teams, AI engineering looks like a product-focused engineer who owns the AI feature end to end. At larger companies, it becomes a dedicated role that sits between product, platform, and security.</p>
<p>The interaction model is clean. Product defines intent and user experience. Platform provides infrastructure and monitoring. Security sets the safety bar. AI engineering turns those constraints into working features that don&rsquo;t embarrass anyone.</p>
<p>The demand for this role is growing fast. Job descriptions are finally separating AI engineering from ML research, and the expectations center on integration, evaluation, and reliability rather than paper-publishing and model architecture. Good. That separation was overdue.</p>
<h2 id="the-discipline-not-the-hype">The discipline, not the hype</h2>
<p>AI engineering isn&rsquo;t a buzzword rotation. It&rsquo;s the recognition that making models useful in production is real engineering work &ndash; with its own tools, its own failure modes, and its own career path. The teams that treat it as a distinct discipline are shipping better features. The teams that don&rsquo;t are still arguing about whether their demo &ldquo;works.&rdquo;</p>
<p>Discipline over heroics. That&rsquo;s the whole game.</p>
]]></content:encoded></item><item><title>2022: The Year the Music Stopped</title><link>https://lawzava.com/blog/2022-12-26-year-in-review-2022/</link><pubDate>Mon, 26 Dec 2022 00:00:00 +0000</pubDate><guid>https://lawzava.com/blog/2022-12-26-year-in-review-2022/</guid><description>A personal look back at 2022: building through the downturn, watching ChatGPT arrive, and what the year taught me about building things that last.</description><content:encoded><![CDATA[<p>I&rsquo;m writing this from my desk on the day after Christmas, looking back at a year that felt like three years compressed into one. I started 2022 at a large consumer platform and a real-time messaging company, building infrastructure and helping teams ship. I&rsquo;m ending it watching half the industry lay people off while a chatbot rewrites the assumptions we all had about what software development looks like.</p>
<p>What a year.</p>
<h2 id="the-work">The Work</h2>
<p>My main focus this year was a large consumer platform and a real-time messaging company, and the contrast was instructive.</p>
<p>At a large consumer platform, I worked on infrastructure that had to be reliable at scale &ndash; food delivery doesn&rsquo;t tolerate downtime during lunch rush. The engineering culture was strong, the problems were interesting, and the systems were complex enough that good decisions compounded visibly. Working on their platform gave me a front-row seat to what happens when infrastructure is treated as a product rather than a cost center. It works. Teams ship faster, incidents are contained better, and new engineers become productive sooner.</p>
<p>At a real-time messaging company, the challenge was different &ndash; real-time messaging infrastructure at massive scale, where latency and reliability are the product. The work forced me to think carefully about state management, edge cases in distributed systems, and what &ldquo;good enough&rdquo; looks like when your customers are building their own products on top of your platform. It also reinforced something I keep learning: the boring engineering decisions &ndash; how you structure your Terraform, how you manage state, how you test infrastructure changes &ndash; matter more than the clever ones.</p>
<p>Both experiences reminded me why I like variety in my work. You see more patterns, more organizational shapes, more ways things can go right and wrong.</p>
<h2 id="the-layoff-wave">The Layoff Wave</h2>
<p>I watched the layoffs arrive from a strange angle &ndash; close enough to feel the impact, removed enough to see the patterns across multiple organizations.</p>
<p>The speed of the pivot was jarring. Companies that were hiring aggressively in January were cutting in November. The same leadership that pushed &ldquo;grow at all costs&rdquo; pivoted to &ldquo;efficiency is everything&rdquo; without acknowledging the whiplash.</p>
<p>The organizations that handled it well were honest about the business reasons, treated departing people with dignity, and immediately rescoped their roadmaps to match the smaller team. The ones that handled it poorly did multiple waves, pretended the plan hadn&rsquo;t changed, and burned out the remaining team trying to deliver the same roadmap with fewer people.</p>
<p>I&rsquo;ve been on the founding side of this. When a travel startup&rsquo;s runway got tight, I had to make similar calls. It&rsquo;s never clean. But there&rsquo;s a difference between hard and careless. Some of what I saw this year was careless.</p>
<h2 id="chatgpt-changes-the-conversation">ChatGPT Changes the Conversation</h2>
<p>Then in late November, ChatGPT landed. I wrote about my first impressions already, but looking back at the full year, the trajectory is clear: AI went from a curiosity to a daily tool in about twelve months.</p>
<p>I started the year barely thinking about AI in my day-to-day work. Copilot was interesting but not essential. I ended the year using ChatGPT multiple times a day for drafting, debugging, and thinking through problems. The speed of that adoption &ndash; in my own workflow, not just the industry &ndash; caught me off guard.</p>
<p>The biggest shift isn&rsquo;t productivity. It&rsquo;s the realization that code generation is becoming commoditized. The cost of producing a first draft is dropping toward zero. What remains expensive &ndash; and will stay expensive &ndash; is knowing whether the draft is correct, appropriate, and maintainable. Judgment. Context. Taste.</p>
<p>For someone who has spent a career building expertise in systems design and infrastructure, this is actually reassuring. The skills that matter most are the ones that AI can&rsquo;t fake yet: understanding tradeoffs, designing for failure modes, knowing when &ldquo;good enough&rdquo; is the right answer.</p>
<h2 id="what-held-up">What Held Up</h2>
<p>Looking back across the year, a few principles proved durable:</p>
<p><strong>Discipline over heroics.</strong> I keep coming back to this. The teams that survived 2022 in good shape weren&rsquo;t the most talented or the most well-funded. They were the most disciplined. Clear priorities, sustainable pace, honest communication.</p>
<p><strong>Boring infrastructure wins.</strong> Every Terraform module I wrote this year was boring on purpose. No clever abstractions, no over-engineered wrappers. Simple modules with clear inputs, versioned state, automated tests. The boring stuff is what you can trust at 2am.</p>
<p><strong>Relationships compound.</strong> The work I got this year came from people I had worked with before who trusted me to deliver. No amount of marketing replaces that.</p>
<h2 id="looking-at-2023">Looking at 2023</h2>
<p>I expect the layoff wave to continue into Q1 at least. The companies that cut early and honestly will recover first. The ones that are still pretending everything is fine will have a harder Q1.</p>
<p>AI will keep accelerating. By mid-2023, I expect code generation to be a standard part of most engineering workflows, not an experiment. The teams that will benefit most are the ones investing in verification &ndash; testing, code review, and quality infrastructure &ndash; not just generation speed.</p>
<p>For my own work, I plan to keep building, keep contributing to Go, and keep writing. This year reinforced something I believe strongly: the fundamentals don&rsquo;t change. Languages change, tools change, economic cycles change. But clean architecture, honest communication, and sustainable engineering practices outlast all of it.</p>
<p>2022 was hard. It was also clarifying. Sometimes you need the music to stop to figure out who was actually dancing and who was just standing near the speakers.</p>
]]></content:encoded></item><item><title>Watching Layoffs From the Inside</title><link>https://lawzava.com/blog/2022-11-14-tech-layoffs-engineering-resilience/</link><pubDate>Mon, 14 Nov 2022 00:00:00 +0000</pubDate><guid>https://lawzava.com/blog/2022-11-14-tech-layoffs-engineering-resilience/</guid><description>What I saw during the 2022 layoff wave, and what actually helps engineering teams survive contraction without burning out.</description><content:encoded><![CDATA[<p>I&rsquo;m writing this in November 2022, and the layoff announcements are coming faster than I can track. Meta. Twitter. Stripe. Lyft. Dozens more. Having worked across different organizations, I have a strange vantage point &ndash; watching the same wave hit in different ways, seeing which ones handle it well and which ones make it worse.</p>
<p>This isn&rsquo;t a framework post. It&rsquo;s what I&rsquo;ve seen and what I think matters.</p>
<h2 id="the-shift-nobody-planned-for">The Shift Nobody Planned For</h2>
<p>Eighteen months ago, every company I talked to was hiring aggressively. &ldquo;We can&rsquo;t find enough engineers&rdquo; was the universal complaint. Now the complaint is &ldquo;we hired too fast and the math doesn&rsquo;t work.&rdquo;</p>
<p>The market shifted from rewarding growth to rewarding efficiency. That&rsquo;s a legitimate economic correction. But the speed of the pivot is brutal. Teams that were told to scale fast are now being told to do more with less, sometimes by the same leadership that set the original targets.</p>
<h2 id="what-ive-seen-go-wrong">What I&rsquo;ve Seen Go Wrong</h2>
<p>The worst layoffs I&rsquo;ve watched &ndash; and I&rsquo;ve watched a few this year &ndash; share common traits.</p>
<p><strong>Multiple waves.</strong> Nothing destroys trust faster than a &ldquo;one-time reduction&rdquo; followed by another one six weeks later. If leadership doesn&rsquo;t know the full scope of cuts, they should say so honestly rather than promise stability they can&rsquo;t guarantee.</p>
<p><strong>Silence from above.</strong> At one organization I worked with, the engineering org learned about layoffs from Twitter before they heard from their own leadership. That isn&rsquo;t a communication problem. That&rsquo;s a respect problem.</p>
<p><strong>Pretending the plan didn&rsquo;t change.</strong> After cutting 20% of engineering, one organization kept the same roadmap and the same deadlines. The remaining team burned out within two months. Three more people left voluntarily. The original cost savings evaporated.</p>
<p><strong>Knowledge walking out the door.</strong> I saw a team lose the only person who understood their payment processing pipeline. No documentation, no pairing history, no runbooks. Three months later they were still reverse-engineering their own system.</p>
<h2 id="what-ive-seen-go-right">What I&rsquo;ve Seen Go Right</h2>
<p>The organizations that handled this well did a few things consistently.</p>
<p>They were honest about the business reason. Not corporate-speak, not &ldquo;rightsizing for the future.&rdquo; Honest: &ldquo;Revenue is down, burn rate is too high, and we need to cut costs to survive.&rdquo; People can handle hard truths. They can&rsquo;t handle feeling manipulated.</p>
<p>They treated departing people with real dignity. Generous severance where possible. Genuine references. Time to say goodbye. The remaining team watches how you treat the people who leave. It tells them everything about what they can expect.</p>
<p>They immediately rescoped. Smaller team means smaller roadmap. Full stop. The best leader I watched through this process cancelled three initiatives within a week of the layoff, told the team &ldquo;we&rsquo;re doing these two things well, nothing else,&rdquo; and stuck to it. That team stabilized faster than any other I saw.</p>
<h2 id="for-the-people-who-remain">For the People Who Remain</h2>
<p>Survivor guilt is real and poorly understood. You kept your job, so you should be grateful, right? Except your friend got walked out, your workload doubled, and nobody has told you whether more cuts are coming. &ldquo;Grateful&rdquo; isn&rsquo;t the word that comes to mind.</p>
<p>What actually helps:</p>
<p><strong>Acknowledge the loss.</strong> Don&rsquo;t skip past it. The people who left were colleagues, mentors, friends. Pretending everything is normal is insulting and counterproductive.</p>
<p><strong>Reset expectations explicitly.</strong> What are we building? What are we not building? Who owns what now? If these questions aren&rsquo;t answered within a week, anxiety fills the vacuum.</p>
<p><strong>Protect sustainable pace.</strong> A smaller team carrying a larger roadmap is a team in the process of losing more people. Voluntary attrition after layoffs is the hidden second wave that leadership never budgets for.</p>
<h2 id="distribute-knowledge-before-you-have-to">Distribute Knowledge Before You Have To</h2>
<p>The best insurance against knowledge loss isn&rsquo;t documentation. It&rsquo;s rotation. Pair on critical systems. Rotate on-call. Make sure at least two people can deploy, debug, and recover every service that matters.</p>
<p>I keep coming back to this: resilience isn&rsquo;t about having a plan for when things go wrong. It&rsquo;s about building systems &ndash; human systems &ndash; that can absorb shocks without collapsing. That means shared ownership, documented decisions, and deliberately avoiding single points of failure in your org chart.</p>
<h2 id="for-leaders">For Leaders</h2>
<p>You can&rsquo;t control the macro environment. You can control how clearly you communicate, how honestly you scope, and how consistently you protect your team&rsquo;s focus.</p>
<p>Watch for burnout signals: declining code quality, slower response times, people going quiet in meetings who used to speak up. These are leading indicators of the next round of attrition &ndash; the voluntary kind that hurts even more because it&rsquo;s your best people who leave first.</p>
<p>Advocate upward for realistic expectations. If leadership expects the same output from a smaller team, push back with data. &ldquo;We can deliver A and B by Q1, or A, B, and C by Q2. Pick one.&rdquo; That isn&rsquo;t defiance. That&rsquo;s responsible leadership.</p>
<h2 id="a-personal-note">A Personal Note</h2>
<p>Having gone through a deep-tech founder program and built startups, I&rsquo;ve been on the other side of this equation too &ndash; making hard calls about team size when the money is running out. It&rsquo;s never clean. But the difference between organizations that recover and organizations that spiral comes down to honesty and scope discipline.</p>
<p>Heroics don&rsquo;t scale. Discipline does. The teams that will come out of this cycle stronger are the ones that cut scope honestly, protected their people&rsquo;s energy, and resisted the temptation to pretend nothing changed.</p>
]]></content:encoded></item><item><title>Your Onboarding Is Broken. Here's the Fix.</title><link>https://lawzava.com/blog/2022-03-21-engineering-onboarding-excellence/</link><pubDate>Mon, 21 Mar 2022 00:00:00 +0000</pubDate><guid>https://lawzava.com/blog/2022-03-21-engineering-onboarding-excellence/</guid><description>Most engineering onboarding wastes the first week on access requests and context overload. The fix is simple: ship a real PR by day three.</description><content:encoded><![CDATA[<p>The single best metric for onboarding quality is time to first merged PR. Not time to complete a training module. Not time to attend all the introductory meetings. Time to ship real code into a real codebase.</p>
<p>At a mobility startup, we got this down to day two for most new hires. Not because we had some elaborate onboarding program. Because we had a checklist, a buddy system, and a backlog of small tasks tagged &ldquo;good first issue.&rdquo; The new engineer&rsquo;s first PR was reviewed and merged before they finished reading the architecture docs. That&rsquo;s the order it should happen in. Ship first, context second.</p>
<h2 id="the-real-problem-with-onboarding">The real problem with onboarding</h2>
<p>Most onboarding programs are designed around what the company wants to communicate, not around what the new hire needs to be productive. Day one becomes a parade of slides: company history, org chart, values, benefits, security training. The engineer sits through hours of content they won&rsquo;t remember, and by the end of the day they still can&rsquo;t push to the repo because their access request is pending.</p>
<p>Every hour spent in orientation that could have been spent writing code is a signal that the company values process over output. New hires pick up on that fast.</p>
<h2 id="what-actually-matters-in-week-one">What actually matters in week one</h2>
<p><strong>Access on day one.</strong> Laptop, accounts, repo access, dev environment &ndash; all of it should be working before the engineer opens Slack for the first time. If access provisioning takes more than a day, your onboarding is already behind. Automate it. Test the automation quarterly by running it against a clean machine.</p>
<p><strong>A real first task.</strong> Not a tutorial. Not &ldquo;read the docs.&rdquo; A real bug fix or small feature that touches the production codebase. It should be small enough to finish in a day, scoped enough to not need deep context, and assigned to a specific reviewer who will prioritize the review.</p>
<p>The first merge matters more than any presentation. It proves the workflow works, the environment is set up correctly, and the engineer can contribute. Everything after that&rsquo;s momentum.</p>
<p><strong>A buddy, not a babysitter.</strong> The buddy answers the dumb questions. &ldquo;Where do I find the staging URL?&rdquo; &ldquo;Who reviews changes to this service?&rdquo; &ldquo;How do I get a test database?&rdquo; The buddy isn&rsquo;t responsible for the new hire&rsquo;s career development or performance evaluation. That&rsquo;s the manager&rsquo;s job. Keep the roles separate.</p>
<h2 id="stop-over-documenting-start-pairing">Stop over-documenting, start pairing</h2>
<p>I&rsquo;ve seen teams spend months building elaborate onboarding wikis that nobody maintains. They go stale within a quarter. A 30-minute pairing session where the buddy walks through the deploy pipeline is worth more than a 20-page document about the deploy pipeline.</p>
<p>Keep documentation focused on what changes slowly: architecture overview, service map, on-call runbook. For everything else, pair. New hires should be encouraged to update docs when they find gaps &ndash; fresh eyes catch stale content better than any scheduled review.</p>
<h2 id="the-30-day-check">The 30-day check</h2>
<p>By the end of month one, a new engineer should be able to pick up a ticket, implement it, get it reviewed, and deploy it without asking how. If they can&rsquo;t, something in the onboarding failed. Treat it as a systems problem, not a people problem. Did they get enough context on the codebase? Was the first month&rsquo;s work well-scoped? Did the buddy actually check in?</p>
<p>Measure this with two signals: time to first solo PR (without buddy assistance on the workflow) and the new hire&rsquo;s own confidence level. Ask them directly. &ldquo;Do you feel productive? What&rsquo;s still blocking you?&rdquo; The answers will tell you more than any dashboard.</p>
<p>Onboarding isn&rsquo;t a one-time project. It&rsquo;s a system that compounds. Every new hire who has a good first week becomes someone who can onboard the next person. Every broken onboarding creates someone who spends their first month confused and frustrated, and that frustration echoes through their entire tenure.</p>
]]></content:encoded></item><item><title>What I Actually Changed About Engineering Interviews Over Zoom</title><link>https://lawzava.com/blog/2020-05-25-virtual-interviewing-engineering/</link><pubDate>Mon, 25 May 2020 00:00:00 +0000</pubDate><guid>https://lawzava.com/blog/2020-05-25-virtual-interviewing-engineering/</guid><description>Whiteboard coding over Zoom is broken. Here&amp;amp;rsquo;s what I do instead when hiring engineers virtually.</description><content:encoded><![CDATA[<p>Last month I watched a senior backend candidate freeze for forty-five seconds on a Zoom call. Not because of the problem. Because CoderPad lagged, ate half his code, and he didn&rsquo;t know if I could see his screen. By the time we sorted it out, his headspace was gone. We ended the session early and I felt like an idiot for not testing the tool beforehand.</p>
<p>That was week three of Decloud. We were hiring our first engineers and doing it fully remote from day one. Not because we were visionary. Because it was May 2020 and there was no other option.</p>
<p>Since then I&rsquo;ve run maybe fifty virtual interviews across Decloud and the fintech startup. I&rsquo;ve gotten some things very wrong and a few things right. Here&rsquo;s what actually matters.</p>
<h2 id="whiteboard-coding-over-zoom-is-broken">Whiteboard coding over Zoom is broken</h2>
<p>I&rsquo;ll die on this hill. Asking someone to solve an algorithm on a shared whiteboard tool while you watch through a webcam is a terrible experience for everyone involved. The candidate can&rsquo;t think naturally. You can&rsquo;t read their body language. The tool always has some lag or quirk. And what are you even measuring? Their ability to perform under artificial pressure on a laggy canvas?</p>
<p>I stopped doing it. Completely.</p>
<p>Instead I send a small take-home problem. Two to three hours of real work, a week to finish it. Then the live session is a code review of their submission. We walk through their decisions, I push on trade-offs, they refactor something live. This tells me ten times more than watching someone implement a linked list reversal on Miro.</p>
<h2 id="the-setup-matters-more-than-you-think">The setup matters more than you think</h2>
<p>The single biggest variable in virtual interview quality isn&rsquo;t the questions. It&rsquo;s whether the tech works. Sounds obvious. Almost nobody actually prepares for it.</p>
<p>My checklist before every interview block:</p>
<ul>
<li>Open the shared editor, paste something, delete it. Confirm it works on both sides.</li>
<li>Test screen sharing. Every. Single. Time.</li>
<li>Have a phone number or Telegram handle ready as backup. Zoom dies more often than people admit.</li>
<li>Close Slack, email, everything. Notifications popping up during someone&rsquo;s interview is disrespectful.</li>
</ul>
<p>I also send candidates a prep email 48 hours out. Not a corporate template. A short note that says: here&rsquo;s the Zoom link, here&rsquo;s what we&rsquo;ll cover, here&rsquo;s the editor we&rsquo;ll use, install nothing, and if anything breaks just message me on this number. People visibly relax when they know the logistics.</p>
<h2 id="keep-it-short">Keep it short</h2>
<p>An hour-long virtual interview is thirty minutes of good signal and thirty minutes of diminishing returns. I cap everything at 45 minutes. The first five are small talk and tech check. The last five are their questions. That leaves 35 minutes of actual interview. Plenty.</p>
<p>If you need more depth for a senior role, split it into two sessions on different days. Two focused 45-minute conversations beat one draining 90-minute marathon.</p>
<h2 id="what-i-look-for-changed-too">What I look for changed too</h2>
<p>On-site, you get all these ambient signals. How someone walks into the office. How they interact with the receptionist. Whether they ask good questions during the tour. That&rsquo;s all gone now.</p>
<p>So I leaned harder into things I can actually observe on a call:</p>
<p><strong>Communication under ambiguity.</strong> I intentionally leave parts of the problem vague and see how they handle it. Do they ask? Do they assume? Do they state their assumptions clearly?</p>
<p><strong>Debugging live.</strong> During the code review session, I&rsquo;ll point at something and say &ldquo;this will break if X happens.&rdquo; Watching someone debug in real time, talking through their reasoning, is the most reliable signal I&rsquo;ve found for engineering skill.</p>
<p><strong>Written communication.</strong> I added a short async component. After the take-home, before the live call, I ask candidates to write a paragraph or two about one decision they made and why. At a remote company, writing isn&rsquo;t optional. If someone can&rsquo;t explain a technical choice in a few sentences, that&rsquo;s a problem.</p>
<h2 id="the-bias-trap">The bias trap</h2>
<p>One thing that caught me off guard: I started unconsciously judging people&rsquo;s home setups. Nice bookshelf, good lighting, quality microphone — must be a serious person. Messy background, laptop mic, kids in the next room — less so.</p>
<p>This is garbage thinking and I had to actively catch myself. Someone&rsquo;s apartment has zero correlation with their engineering ability. We made it a rule: cameras optional, background irrelevant, connection issues get a reschedule with no questions asked.</p>
<h2 id="what-id-tell-you-to-do">What I&rsquo;d tell you to do</h2>
<p>If you&rsquo;re setting up virtual interviews for the first time, do three things:</p>
<ol>
<li>Kill the live whiteboard coding. Replace it with take-home plus code review. Your signal will improve overnight.</li>
<li>Test your tools before every single session. Not once. Every time.</li>
<li>Make the process shorter than you think it needs to be. Respect people&rsquo;s energy.</li>
</ol>
<p>Virtual interviewing isn&rsquo;t a downgrade. It&rsquo;s a different format. Once I stopped trying to replicate the on-site experience over Zoom and started designing for the medium, the quality of our hires went up. Not down.</p>
]]></content:encoded></item><item><title>Your Onboarding Is Broken and Everyone Knows It</title><link>https://lawzava.com/blog/2019-10-07-engineering-onboarding/</link><pubDate>Mon, 07 Oct 2019 00:00:00 +0000</pubDate><guid>https://lawzava.com/blog/2019-10-07-engineering-onboarding/</guid><description>Most engineering onboarding is a polite abandonment ritual. What I&amp;amp;rsquo;ve learned across three startups about getting new engineers shipping fast.</description><content:encoded><![CDATA[<p>My first day at a fintech startup, I was handed a laptop with Ubuntu pre-installed, pointed at a Confluence page titled &ldquo;Getting Started (OUTDATED - see Dave)&rdquo;, and told Dave was on holiday. The Confluence page referenced a Docker Compose setup that hadn&rsquo;t worked since the previous quarter. By 4pm I&rsquo;d cloned six repos, broken my local Postgres twice, and shipped exactly nothing.</p>
<p>I became CTO of that company. The fintech startup. And the first thing I fixed was onboarding.</p>
<p>Not because it was the sexiest problem. Because it was the most expensive one nobody was measuring.</p>
<h2 id="the-real-cost-nobody-tracks">The Real Cost Nobody Tracks</h2>
<p>When I was building Decloud during my founder-program cohort in 2019, every week a new engineer spent confused was a week we didn&rsquo;t have. At a startup, a slow ramp-up isn&rsquo;t an inconvenience. It&rsquo;s an existential threat. But even at larger places, the math is brutal: a senior engineer who takes eight weeks to ship independently instead of three just cost you five weeks of salary for zero output. Multiply that by every hire per year.</p>
<p>The usual excuse is &ldquo;our codebase is complex.&rdquo; No. Your onboarding is lazy. Complexity is a reason to invest <em>more</em> in onboarding, not less.</p>
<h2 id="what-good-actually-looks-like">What &ldquo;Good&rdquo; Actually Looks Like</h2>
<p>I&rsquo;ve onboarded engineers at the fintech startup, at a mobility startup, and at Decloud. Different products, different stacks, different countries. The pattern that works is boringly consistent.</p>
<p><strong>Day one: the new engineer opens a PR.</strong> Not a meaningful one. Not a feature. A typo fix, a config tweak, a test improvement. The point is they&rsquo;ve touched the full cycle &ndash; clone, build, branch, change, test, review, merge, deploy &ndash; before they go home. If your setup takes longer than a morning, it&rsquo;s broken.</p>
<p><strong>Week one: they own a real bug fix.</strong> Something with a clear repro, a limited blast radius, and enough context that they learn the codebase by reading the code that matters, not by reading a stale architecture doc.</p>
<p><strong>Month one: they&rsquo;re independently picking up work.</strong> They know who to ask, where the bodies are buried, and how deploys actually work (not how the wiki says they work).</p>
<p>That&rsquo;s it. No elaborate 90-day plans. No onboarding &ldquo;program&rdquo; with a PowerPoint deck. Just a tight loop of ship, learn, ship.</p>
<h2 id="make-setup-or-go-home"><code>make setup</code> Or Go Home</h2>
<p>At the mobility startup, we ran Go services talking to a handful of microservices. When I joined (before eventually leading the engineering), the local dev setup involved seventeen manual steps spread across a README that contradicted itself in three places. I rewrote it as a Makefile.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>git clone git@github.com:company/app.git
</span></span><span style="display:flex;"><span>make setup
</span></span><span style="display:flex;"><span>make dev
</span></span></code></pre></div><p>Three commands. If it takes more than three commands to go from zero to a running local environment, you have a setup problem, not a complexity problem. Script it, containerize the dependencies, seed the database automatically. The new hire&rsquo;s laptop is a test of your infrastructure&rsquo;s maturity. If you can&rsquo;t reproduce your dev environment reliably, what makes you think production is any better?</p>
<p>When I set up the dev environment at Decloud, I literally timed it. Fifteen minutes from <code>git clone</code> to running tests. If it crept past that, we treated it as a bug.</p>
<h2 id="the-buddy-system-done-right">The Buddy System (Done Right)</h2>
<p>Every new engineer gets a buddy. Not their manager. Not the tech lead. Someone close enough to the codebase to answer &ldquo;where does this thing live?&rdquo; questions but not so senior that the new hire feels stupid asking.</p>
<p>The buddy&rsquo;s job is simple: be interruptible for the first two weeks. That&rsquo;s the whole job description. They don&rsquo;t need to teach. They need to unblock.</p>
<p>At the fintech startup, I paired each new hire with whoever had last touched the area of code they&rsquo;d be working in. Not because that person was the best teacher, but because they had the freshest context. Onboarding is a transfer of context, not knowledge. The knowledge is in the code. The context &ndash; why this weird pattern exists, which service is actually deprecated but still running, where the real config lives &ndash; that&rsquo;s in people&rsquo;s heads.</p>
<h2 id="starter-tasks-that-arent-insulting">Starter Tasks That Aren&rsquo;t Insulting</h2>
<p>The worst onboarding pattern is the &ldquo;starter project&rdquo; that&rsquo;s actually a garbage task nobody else wanted to do. New engineers can smell it. It tells them their time isn&rsquo;t valued.</p>
<p>Good starter work has three properties:</p>
<ol>
<li><strong>It touches production.</strong> The whole point is building confidence that they can ship safely.</li>
<li><strong>It has a clear definition of done.</strong> Not &ldquo;explore the payment service and propose improvements.&rdquo; That&rsquo;s a research project disguised as onboarding.</li>
<li><strong>It teaches something specific about your system.</strong> A bug in the notification service teaches them about the event pipeline. An error message improvement teaches them about the API contract.</li>
</ol>
<p>At Decloud, I kept a backlog of tagged issues specifically for this. Not fake work. Real bugs and improvements that were scoped to one or two days and came with enough context that someone new could pick them up without a forty-minute walkthrough.</p>
<h2 id="documentation-less-is-more">Documentation: Less Is More</h2>
<p>I&rsquo;ve seen onboarding wikis with fifty pages of architecture history, org charts, and &ldquo;philosophy&rdquo; documents. Nobody reads them. The new hire skims the first two, gets overwhelmed, and asks their buddy anyway.</p>
<p>Here&rsquo;s what new engineers actually need written down:</p>
<ul>
<li>How to set up their machine (the Makefile)</li>
<li>How to deploy and how to roll back</li>
<li>How to ask for help and who reviews what</li>
<li>A one-page system overview with a data flow diagram</li>
</ul>
<p>That&rsquo;s four documents. Keep them short. Update them every time someone joins and finds something wrong. The onboarding docs should be the most maintained docs in your entire company, because they&rsquo;re the only ones that get tested regularly by people who have no prior context.</p>
<h2 id="the-feedback-loop-most-teams-skip">The Feedback Loop Most Teams Skip</h2>
<p>Here&rsquo;s the thing that separates decent onboarding from great onboarding: you actually ask the new hire what was broken.</p>
<p>Every new engineer who joins should file at least one issue against the onboarding process itself. Not as a suggestion. As a requirement. &ldquo;What was confusing? What was wrong? What did you have to ask someone that should have been written down?&rdquo;</p>
<p>At the fintech startup, we turned this into a standing item in the 30-day check-in. Every single round of onboarding made the next one better. By the time I left, the setup was tight enough that contractors could be productive on day two.</p>
<h2 id="quick-take">Quick take</h2>
<p>Stop treating onboarding as &ldquo;show them the wiki and hope for the best.&rdquo; Script the dev setup to three commands. Pair them with a buddy who has fresh context. Give them real work that touches production in week one. Then ask them what was broken and fix it. Repeat until your onboarding is your competitive advantage, not your embarrassment.</p>
]]></content:encoded></item><item><title>Stop Wasting Everyone's Time in Technical Interviews</title><link>https://lawzava.com/blog/2018-04-16-technical-interviewing-what-actually-works/</link><pubDate>Mon, 16 Apr 2018 00:00:00 +0000</pubDate><guid>https://lawzava.com/blog/2018-04-16-technical-interviewing-what-actually-works/</guid><description>Most technical interviews test the wrong things. After hiring engineers at the fintech startup, here&amp;amp;rsquo;s what I&amp;amp;rsquo;ve learned actually predicts job performance.</description><content:encoded><![CDATA[<p>Last month I sat across from a candidate who&rsquo;d built distributed systems handling millions of financial data points. Impressive resume. Real production experience. Then we asked him to reverse a binary tree on a whiteboard, and he froze. We almost passed on him. That would have been a terrible mistake.</p>
<p>He&rsquo;s one of our best hires.</p>
<p>That experience broke something in how I thought about interviewing. At the fintech startup we were growing the engineering team fast, and I kept seeing the same pattern: candidates who crushed whiteboard problems but couldn&rsquo;t debug a real issue, and candidates who struggled with algorithmic puzzles but wrote clean, thoughtful code every day.</p>
<p>Something was deeply wrong with how our industry interviews people.</p>
<h2 id="the-stuff-that-doesnt-work">The stuff that doesn&rsquo;t work</h2>
<p><strong>Whiteboard algorithms.</strong> I get why they&rsquo;re popular. They feel rigorous. But think about what you&rsquo;re actually testing. You&rsquo;re testing whether someone recently crammed LeetCode. You&rsquo;ve stripped away their IDE, their docs, their ability to Google something. You&rsquo;ve removed every tool they&rsquo;d use on the job and then judged them on the result. That&rsquo;s not an interview. That&rsquo;s hazing.</p>
<p><strong>Brain teasers.</strong> &ldquo;How many golf balls fit in a school bus?&rdquo; If you&rsquo;re still asking these in 2018, please stop. Google dropped them years ago after their own data showed zero correlation with job performance. Zero.</p>
<p><strong>Trivia questions.</strong> &ldquo;What&rsquo;s the time complexity of HashMap.get() in Java?&rdquo; Cool, they memorized it. Or they didn&rsquo;t. Either way you&rsquo;ve learned nothing about whether they can build software.</p>
<p><strong>Massive take-home projects.</strong> I&rsquo;ve seen companies send 8-hour assignments and call it &ldquo;a small exercise.&rdquo; You&rsquo;re not testing skill. You&rsquo;re filtering for people with no life outside work. Single parents, people with side commitments, anyone who values their free time &ndash; they just opt out. And you never even know what you missed.</p>
<h2 id="what-actually-predicts-performance">What actually predicts performance</h2>
<p>I&rsquo;ve been iterating on our process at the fintech startup for a while now. Here&rsquo;s what&rsquo;s worked.</p>
<h3 id="give-them-a-laptop-and-a-real-problem">Give them a laptop and a real problem</h3>
<p>This is the single biggest improvement we made. Instead of a whiteboard, we hand candidates a laptop with an IDE, internet access, and a small codebase. The task is something close to what they&rsquo;d actually do on the job. Add a feature. Fix a bug. Review a pull request.</p>
<p>You learn so much more this way. How do they read unfamiliar code? Do they check edge cases? How do they use their tools? Do they ask good questions when stuck?</p>
<p>One of our best interview tasks is a broken API endpoint with a failing test. The candidate gets logs, the codebase, and 45 minutes. We&rsquo;re not looking for a perfect fix. We&rsquo;re watching how they think.</p>
<h3 id="pair-with-them">Pair with them</h3>
<p>Pair programming sessions are gold. You pick a small problem, sit next to the candidate, and work on it together. Not as an examiner &ndash; as a collaborator.</p>
<p>This tells you things no other format can. How do they handle suggestions? Do they explain their thinking? Can they take feedback without getting defensive? These are the things that actually matter when you&rsquo;re shipping code with a team.</p>
<h3 id="talk-about-what-theyve-already-built">Talk about what they&rsquo;ve already built</h3>
<p>For senior roles especially, I&rsquo;ve started spending more time on deep dives into past work. Pick a system they built. Ask them to walk you through the architecture. Then start pulling threads. Why this database? What would you change? What broke in production?</p>
<p>Good engineers light up during these conversations. They remember the tradeoffs. They&rsquo;ll tell you about the decision they regret. The ones who padded their resume get vague fast.</p>
<h3 id="use-rubrics-not-vibes">Use rubrics, not vibes</h3>
<p>Early on at the fintech startup, our debriefs were a mess. &ldquo;I liked her.&rdquo; &ldquo;He seemed smart.&rdquo; &ldquo;I don&rsquo;t know, something felt off.&rdquo; That&rsquo;s not a hiring decision. That&rsquo;s a gut check, and guts are biased.</p>
<p>Now every interviewer fills out a rubric before the debrief. Same questions, same scale. You write down specific evidence, not impressions. It&rsquo;s not glamorous, but it&rsquo;s the difference between a process and a coin flip.</p>
<h2 id="designing-the-loop">Designing the loop</h2>
<p>Keep it tight. Nobody needs a six-round interview for a backend role.</p>
<p>Here&rsquo;s roughly what we do:</p>
<ul>
<li><strong>Phone screen</strong> (30-45 min): Can this person communicate? Do they have the baseline?</li>
<li><strong>Work sample</strong> (60-90 min): Laptop, real problem, real tools.</li>
<li><strong>Deep dive</strong> (45 min): Walk me through something you built.</li>
<li><strong>Team fit</strong> (45 min): Values, collaboration style, how they handle disagreement.</li>
</ul>
<p>For senior roles, swap the deep dive for a system design conversation. Let them drive. Ask about tradeoffs, not trivia.</p>
<h2 id="train-your-interviewers">Train your interviewers</h2>
<p>This one&rsquo;s overlooked constantly. Most engineers are terrible interviewers. Not because they&rsquo;re bad people, but because nobody taught them. They default to whatever they experienced as a candidate, which was probably also bad.</p>
<p>At the fintech startup we started having new interviewers shadow experienced ones. We review rubrics together. We debrief on the debrief. It takes time, but the signal quality goes way up.</p>
<h2 id="candidate-experience-is-your-reputation">Candidate experience is your reputation</h2>
<p>I can&rsquo;t count how many times a candidate told me about a horrible interview experience at some other company. Ghosted after three rounds. Left waiting in a lobby for 40 minutes. Given a problem that had nothing to do with the role.</p>
<p>Every candidate who walks out of your office talks about it. To their friends, to their colleagues, sometimes on Glassdoor. At a startup where we&rsquo;re competing with bigger names for talent, that reputation matters enormously.</p>
<p>Be clear about the process upfront. Respect their time. If you&rsquo;re not making an offer, tell them why. It costs you nothing and it&rsquo;s the right thing to do.</p>
<h2 id="watch-out-for-these-traps">Watch out for these traps</h2>
<p><strong>Hiring for similarity.</strong> If your whole team went to the same three schools and thinks the same way, you don&rsquo;t have a team. You have an echo chamber. Diverse panels, evidence-based decisions, focus on complementary strengths.</p>
<p><strong>Credential worship.</strong> A degree from a top university tells you someone got into a top university. It doesn&rsquo;t tell you they can debug a production outage at 2am or write code their teammates can actually read.</p>
<p><strong>Letting one bad interview tank a candidate.</strong> Single data points are noisy. If four interviews went great and one was mediocre, look at the full picture. Maybe the interviewer had an off day. Maybe the question was bad. Aggregate the signal.</p>
<h2 id="the-actual-point">The actual point</h2>
<p>Technical interviewing isn&rsquo;t some unsolvable problem. It&rsquo;s just that most companies copy what everyone else does without asking whether it works. Test real work. Use consistent evaluation. Treat candidates like humans. The bar isn&rsquo;t that high, and yet most of our industry still can&rsquo;t clear it.</p>
]]></content:encoded></item><item><title>Engineering Manager vs Tech Lead: What's Actually Different</title><link>https://lawzava.com/blog/2017-10-09-engineering-manager-vs-tech-lead/</link><pubDate>Mon, 09 Oct 2017 00:00:00 +0000</pubDate><guid>https://lawzava.com/blog/2017-10-09-engineering-manager-vs-tech-lead/</guid><description>Two leadership tracks, one fork in the road. What engineering managers and tech leads actually do day-to-day, from how we structured it at the fintech startup.</description><content:encoded><![CDATA[<h2 id="quick-take">Quick take</h2>
<p>Managers multiply through people. Tech leads multiply through systems. Pick based on what drains you least, not what sounds prestigious.</p>
<hr>
<h3 id="the-fork-nobody-prepares-you-for">The fork nobody prepares you for</h3>
<p>Every strong engineer eventually faces this question. Do you go into management, or do you stay technical and lead from there?</p>
<p>I&rsquo;ve been on both sides of this at the fintech startup. When we were small, I did both. Ran architecture decisions, hired engineers, handled 1:1s, reviewed code. It was unsustainable. Once we grew past a handful of engineers, I had to pick. And more importantly, I had to figure out what each role <em>actually</em> demanded so we could hire and promote into them properly.</p>
<p>Here&rsquo;s what I learned.</p>
<h3 id="side-by-side-breakdown">Side-by-side breakdown</h3>
<table>
  <thead>
      <tr>
          <th></th>
          <th><strong>Engineering Manager</strong></th>
          <th><strong>Tech Lead</strong></th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><strong>Primary focus</strong></td>
          <td>People, process, delivery</td>
          <td>Architecture, code quality, technical direction</td>
      </tr>
      <tr>
          <td><strong>Typical day</strong></td>
          <td>1:1s, standups, cross-team syncs, hiring calls</td>
          <td>Code reviews, design docs, debugging hard problems, prototyping</td>
      </tr>
      <tr>
          <td><strong>Authority</strong></td>
          <td>Direct — owns performance reviews, promotions, team composition</td>
          <td>Indirect — influences through proposals, standards, and example</td>
      </tr>
      <tr>
          <td><strong>Codes?</strong></td>
          <td>Sometimes, in small teams. Shouldn&rsquo;t be on the critical path.</td>
          <td>Yes. Expected to ship meaningful work.</td>
      </tr>
      <tr>
          <td><strong>Accountable for</strong></td>
          <td>Team health, velocity, retention, stakeholder alignment</td>
          <td>System quality, technical debt, architectural coherence</td>
      </tr>
      <tr>
          <td><strong>Hardest part</strong></td>
          <td>Difficult conversations. Firing someone. Navigating politics.</td>
          <td>Being responsible for outcomes you don&rsquo;t directly control.</td>
      </tr>
      <tr>
          <td><strong>Reward</strong></td>
          <td>Watching people grow. Team shipping without drama.</td>
          <td>Shaping a system. Solving the problem nobody else could crack.</td>
      </tr>
  </tbody>
</table>
<p>That table is the short version. Let me expand on the parts that aren&rsquo;t obvious.</p>
<h3 id="what-an-engineering-manager-actually-does">What an engineering manager actually does</h3>
<p>Most of the job is invisible. You&rsquo;re clearing the path so your team can build. Hiring the right people, onboarding them fast, giving honest feedback, shielding the team from organizational noise. None of that shows up in a commit log.</p>
<p>At the fintech startup, I made a rule for myself: if I was writing production code as a manager, something was wrong. Either I hadn&rsquo;t hired well enough, or I was clinging to the IC identity. Both are problems.</p>
<p>The trap is thinking management is a promotion from engineering. It&rsquo;s not. It&rsquo;s a career change. You stop building things and start building an environment. Completely different skill set. If you hate ambiguity, dislike repetitive conversations, or need the dopamine of shipping code daily — you will be miserable. I&rsquo;ve seen good engineers become terrible managers because nobody told them this upfront.</p>
<p>What makes a great EM: you actually care about people&rsquo;s careers. Not performatively. You enjoy the puzzle of team dynamics. You can sit in a room full of competing priorities and walk out with a plan everyone tolerates.</p>
<h3 id="what-a-tech-lead-actually-does">What a tech lead actually does</h3>
<p>The tech lead owns the &ldquo;how.&rdquo; You decide the architecture, set coding standards, break ties on technical debates, and make sure the system doesn&rsquo;t rot while the team ships features.</p>
<p>You still write code. That&rsquo;s non-negotiable. A tech lead who stops coding loses credibility fast. But you also spend a surprising amount of time communicating. Explaining tradeoffs to product managers. Writing design documents. Mentoring junior engineers through code review. The ratio shifts — maybe 50% coding, 50% everything else — but the code stays.</p>
<p>The frustrating part? You&rsquo;re accountable for the system but you don&rsquo;t control the people building it. You can&rsquo;t assign tasks or run performance reviews. You lead by influence, by being right often enough that people trust your judgment. If your ideas are bad, or if you can&rsquo;t communicate why they&rsquo;re good, you have nothing.</p>
<p>At the fintech startup, our tech leads owned specific domains. One person owned the data pipeline architecture. Another owned the API layer. Clear ownership, clear accountability. No committees.</p>
<h3 id="how-to-choose">How to choose</h3>
<p>Forget the title. Look at how you spend your energy.</p>
<p>After a day of back-to-back 1:1s, are you energized or drained? After eight hours deep in a codebase, do you feel alive or lonely? The honest answer points you in the right direction.</p>
<p>Better yet — test it. Before you commit to either track, volunteer for the work. Mentor a junior engineer for a quarter. Run a sprint planning cycle. On the tech side, drive an RFC through to implementation. Own a migration. Lead a postmortem.</p>
<p>The title matters less than the work. If you&rsquo;re doing the work and it fits, the title will follow.</p>
<h3 id="the-hybrid-trap">The hybrid trap</h3>
<p>We tried the &ldquo;tech lead manager&rdquo; thing at the fintech startup when the team was four people. I was doing both. It sort of worked until it didn&rsquo;t. You end up being mediocre at two jobs instead of good at one. Skipping 1:1s because you&rsquo;re deep in a debugging session. Skimping on code review because you have a hiring pipeline to manage.</p>
<p>If your company is small enough that one person must do both — fine, just know it&rsquo;s temporary. Plan the split before you need it.</p>
<h3 id="one-more-thing">One more thing</h3>
<p>Management isn&rsquo;t a promotion. Tech lead isn&rsquo;t a consolation prize. I&rsquo;ve met directors who would&rsquo;ve been happier as principal engineers and staff engineers who secretly wanted to run a team. The industry does a bad job of framing these as equal. They are.</p>
<p>You can switch tracks. People do it all the time. But switching costs something — you lose momentum, you rebuild credibility, and skills you don&rsquo;t use will fade. So pick deliberately, try the work before you commit, and don&rsquo;t let someone else&rsquo;s career ladder define yours.</p>
]]></content:encoded></item><item><title>Leading Without a Title — What Actually Works</title><link>https://lawzava.com/blog/2017-06-26-technical-leadership-without-authority/</link><pubDate>Mon, 26 Jun 2017 00:00:00 +0000</pubDate><guid>https://lawzava.com/blog/2017-06-26-technical-leadership-without-authority/</guid><description>Nobody handed me a leadership mandate at the fintech startup. I earned it through credibility, clear communication, and the unglamorous work.</description><content:encoded><![CDATA[<p>Three months into my role as CTO at the fintech startup, I walked into a meeting where the product team had already decided on an architecture for a new feature. Nobody had consulted me. Nobody was required to. The company was small and scrappy, roles bled into each other, and the fact that I had &ldquo;CTO&rdquo; on paper meant very little when the people in the room had been shipping the product longer than I had. I sat down, listened to the plan, and realized it had a serious scalability problem. But I also realized that saying &ldquo;this is wrong, I&rsquo;m the CTO&rdquo; would be the fastest way to get ignored forever.</p>
<p>So I shut up, asked a few questions, and later that afternoon wrote a one-page doc outlining the bottleneck I saw. I included numbers from our existing traffic patterns. I proposed an alternative that reused most of their work. Two days later the team pivoted — not because I pulled rank, but because the problem was clear once I put it on paper.</p>
<p>That was the moment I understood what technical leadership without authority actually looks like. And honestly, it&rsquo;s the only kind of leadership that sticks.</p>
<h3 id="credibility-is-earned-in-the-boring-moments">Credibility is earned in the boring moments</h3>
<p>You don&rsquo;t become the person people listen to by giving brilliant speeches. You become that person by being right about the small stuff consistently. Fixing the flaky test nobody wants to touch. Jumping on an incident at 2am and writing up the postmortem the next morning. Reviewing PRs with actual thought instead of rubber-stamping them.</p>
<p>At the fintech startup, I had to build credibility from zero. The team was sharp. They didn&rsquo;t care about titles. What they cared about was whether you could help them solve hard problems without wasting their time. Fair enough.</p>
<p>I focused on a few areas where I knew my experience was strong — system design, infrastructure, and debugging production issues under pressure. I didn&rsquo;t pretend to know the financial domain better than people who had been in fintech for years. When I was wrong, I said so. When I was unsure, I said that too. Turns out, admitting uncertainty is one of the fastest ways to build trust. People can smell posturing.</p>
<h3 id="the-real-work-is-communication">The real work is communication</h3>
<p>Here is what nobody tells you about influence without authority: it&rsquo;s 80% communication and 20% technical skill. You can be the best engineer in the room and still get nothing done if you can&rsquo;t frame a problem in a way that makes people care.</p>
<p>I learned to always lead with the problem. Not my solution. The problem. If I walked into a discussion and said &ldquo;we should switch to Kafka,&rdquo; people pushed back instinctively. But if I said &ldquo;we&rsquo;re dropping 12% of events during peak load because our queue can&rsquo;t keep up — here are the numbers from last Tuesday,&rdquo; suddenly everyone wanted to talk about solutions. Same destination, completely different path.</p>
<p>Writing things down changed everything for me. At the fintech startup we were moving fast, and decisions got lost in Slack threads and hallway conversations. I started writing short proposals — a page, maybe two. Problem, context, recommendation, alternatives, tradeoffs. Nothing fancy. But it forced me to think clearly, and it gave people something to react to on their own time instead of in a high-pressure meeting. Half the arguments I avoided were arguments that never needed to happen in the first place.</p>
<h3 id="make-other-people-better">Make other people better</h3>
<p>The biggest unlock was realizing that my job wasn&rsquo;t to be the smartest person on the team. My job was to make the team smarter. Pair with someone on a tricky migration. Share the context behind a design decision so the next person doesn&rsquo;t have to reverse-engineer it. Fix the CI pipeline that wastes 20 minutes of everyone&rsquo;s day.</p>
<p>These things aren&rsquo;t glamorous. Nobody gives you a promotion for speeding up the build. But they compound. Every small improvement makes the team a little faster, a little less frustrated. And the people you helped? They remember. When you propose something ambitious later, they are the ones who back you up.</p>
<h3 id="start-small-find-allies">Start small, find allies</h3>
<p>When I wanted to push a bigger initiative — say, rearchitecting a service that had become a bottleneck — I never started with a grand plan. I started with a focused prototype. Something I could build in a week that demonstrated the idea was viable. Early wins create momentum. A working demo is worth ten slide decks.</p>
<p>Then I found allies. One person pushing for change is easy to dismiss. Three people aligned on the same problem? That&rsquo;s a movement. I would share early results with engineers I trusted, get their input, fold in their ideas. By the time the proposal reached a wider audience, it wasn&rsquo;t just my thing. It was our thing.</p>
<h3 id="the-traps-that-get-smart-engineers">The traps that get smart engineers</h3>
<p>Being right and being effective are two different skills. I&rsquo;ve watched brilliant engineers lose every argument because they treated disagreements as contests to win instead of problems to solve together. If you burn a relationship to win a technical debate, congratulations — you won the battle and lost the war. That person won&rsquo;t support your next idea. Or the one after that.</p>
<p>Pick your battles. Not everything is worth fighting over. Some decisions are reversible and low-stakes, and spending political capital on them is a waste. Save your energy for the things that genuinely matter.</p>
<h3 id="this-is-the-job">This is the job</h3>
<p>I used to think leadership without authority was a stepping stone — something you did while waiting for the &ldquo;real&rdquo; leadership role. I was wrong. This is the real thing. The credibility you build, the communication habits you develop, the trust you earn — these are the foundations. If a title shows up later, great. You will be ready. If it doesn&rsquo;t, you&rsquo;re still the person who makes things happen. And every team needs that person more than they need another manager.</p>
]]></content:encoded></item><item><title>Hiring Engineers When You Can't Compete on Salary</title><link>https://lawzava.com/blog/2016-08-01-hiring-engineers-when-you-cant-compete-on-salary/</link><pubDate>Mon, 01 Aug 2016 00:00:00 +0000</pubDate><guid>https://lawzava.com/blog/2016-08-01-hiring-engineers-when-you-cant-compete-on-salary/</guid><description>You cannot outpay Big Tech, but you can outshine it on impact, growth, autonomy, and clarity. This is how to hire great engineers with a startup offer in 2016.</description><content:encoded><![CDATA[<p><strong>Stop trying to match Big Tech comp. You will lose that fight every time.</strong> Sell what they structurally can&rsquo;t offer: real ownership, fast feedback loops, and the chance to build something from scratch with a small team that actually ships.</p>
<p>I&rsquo;ve been building the engineering team at a mobility startup for the past several months. Shared mobility is still early. We&rsquo;re pre-Lime, pre-Bird, pre-everything. The concept is unproven, the funding is modest, and the salary bands reflect that reality.</p>
<p>Every good candidate I talk to has at least one offer from a company that can pay 30-50% more than I can. Some of them have offers with stock grants that look like a second salary. I can&rsquo;t match that. I learned early to stop pretending I could.</p>
<p>But we&rsquo;ve still managed to hire well. Here is what actually worked.</p>
<h3 id="be-honest-about-money-on-the-first-call">Be honest about money on the first call</h3>
<p>Nothing kills trust faster than dancing around compensation. I bring it up in the first conversation. &ldquo;Here is what we can pay. Here is the equity. Here is what the equity is worth today, which isn&rsquo;t much, and here is what it could be worth if we execute.&rdquo; No hand-waving. No &ldquo;competitive salary&rdquo; language that means nothing.</p>
<p>Most engineers respect directness. The ones who are only optimizing for cash will self-select out, and that&rsquo;s fine. The ones who stay in the conversation are evaluating the whole picture, and I want to talk to those people.</p>
<h3 id="show-the-work-not-a-pitch-deck">Show the work, not a pitch deck</h3>
<p>At the mobility startup I started doing something that felt risky at first: I gave candidates access to our actual codebase during the interview process. Not all of it, but enough to see how we build. Our code reviews. Our deployment pipeline. Our monitoring setup. The real thing, not a sanitized version.</p>
<p>This did two things. First, it filtered for engineers who cared about craft. If someone looked at our setup and got excited about the problems, that told me more than any whiteboard exercise. Second, it made the job tangible. They weren&rsquo;t imagining what the work might be. They could see it.</p>
<p>One engineer told me he accepted our offer over a much higher one because, and I&rsquo;m quoting here, &ldquo;your codebase looked like people gave a damn.&rdquo; That stuck with me.</p>
<h3 id="sell-speed-not-startup-culture">Sell speed, not &ldquo;startup culture&rdquo;</h3>
<p>I never use the phrase startup culture in interviews. It means nothing. What I do talk about is speed. At the mobility startup, an engineer can go from idea to production in a day. Not because we skip process, but because our process is light and the team is small enough that decisions happen fast.</p>
<p>I tell candidates about specific examples. Last month one of our engineers noticed a pattern in user drop-offs, proposed a fix, built it, shipped it, and we saw the numbers move within 48 hours. At a big company that same change goes through three teams, two planning cycles, and a prioritization meeting. Maybe it ships in a quarter.</p>
<p>Speed isn&rsquo;t about working more hours. It&rsquo;s about fewer layers between you and the outcome. That&rsquo;s genuinely compelling to a certain kind of engineer, and those are exactly the engineers I want.</p>
<h3 id="autonomy-has-to-be-real">Autonomy has to be real</h3>
<p>Every startup claims to offer autonomy. Most of them mean &ldquo;we don&rsquo;t have enough managers yet.&rdquo; That isn&rsquo;t autonomy. That&rsquo;s chaos.</p>
<p>Real autonomy means an engineer picks the approach, owns the tradeoffs, and lives with the consequences. At the mobility startup, our engineers choose their tools. They design their own systems. They are on call for what they build, which means they build things that don&rsquo;t break at 3 AM.</p>
<p>When I interview, I&rsquo;m specific about this. I describe a recent technical decision and who made it. Not me. The engineer closest to the problem. If a candidate has been stuck in an environment where every architecture choice needs three sign-offs, that story lands hard.</p>
<h3 id="hire-for-the-team-not-the-role">Hire for the team, not the role</h3>
<p>I can&rsquo;t afford specialists. What I can afford is sharp generalists who get better at everything by doing everything. At our size, an engineer might write a service, set up the monitoring, debug a production issue, and review someone else&rsquo;s database migration in the same week.</p>
<p>Some people hate that. Others thrive on it. I screen for the second group by asking about the last time they worked outside their comfort zone and what they learned. The answers tell me whether someone wants range or just wants to go deeper on one thing. Neither is wrong, but only one fits where we&rsquo;re right now.</p>
<h3 id="the-peer-interview-matters-most">The peer interview matters most</h3>
<p>The single best recruiting tool I have is my existing team. When a candidate meets the people they would work with every day and those people are sharp, thoughtful, and honest about the hard parts of the job, that&rsquo;s more persuasive than anything I can say.</p>
<p>I make sure candidates spend real time with the team. Not a panel interview. A working session or a design conversation. Something that feels like the actual job. If they click with the team, the salary gap shrinks in their mental math. If they don&rsquo;t click, no amount of money would have made it work anyway.</p>
<h3 id="what-i-got-wrong-early-on">What I got wrong early on</h3>
<p>I wasted time in the beginning trying to compete on perks. Free lunches, flexible hours, the usual startup bingo card. None of it moved the needle. Engineers saw through it immediately.</p>
<p>What moved the needle was being specific and being honest. Specific about the problems we&rsquo;re solving, the systems we&rsquo;re building, and where we&rsquo;re going. Honest about what is hard, what is broken, and what we haven&rsquo;t figured out yet.</p>
<p>The best hires we&rsquo;ve made came from conversations where I said something like, &ldquo;Our deployment process isn&rsquo;t great yet and you would own fixing it.&rdquo; That kind of honesty attracts builders. Glossy pitches attract people who want to be at a company that sounds good, not people who want to do the work.</p>
<h3 id="the-uncomfortable-truth">The uncomfortable truth</h3>
<p>You will lose candidates to higher offers. It will happen regularly. Some of those candidates would have been great, and it will sting.</p>
<p>But the engineers who join you despite the lower salary are making a deliberate choice. They are choosing the work, the team, and the trajectory over the paycheck. From what I&rsquo;ve seen, those people build better things and stay longer. Not always. But often enough that I&rsquo;ve stopped trying to win the compensation game and started focusing on winning the &ldquo;is this work worth doing&rdquo; game instead.</p>
<p>That&rsquo;s a game a startup can actually win.</p>
]]></content:encoded></item></channel></rss>