CTO Handbook
How I build and scale exceptional technical teams in the age of GenAI.
By Tim Vasil • Last updated
Legend
Do Don’t Figure Table Interactive tool
I’ve written this guide as a model I can use as a CTO or consultant, codifying hard-learned best practices that, admittedly, I continue to refine!
This handbook is based on my experience over 20 years scaling technical teams from 0 to 150 people in VC- and PE-backed SaaS companies working towards an exit. I’ve maintained largely the same operating principles over the years, which reflect my core values of how to treat people and maintain healthy teams.
How to use this guide: To my peer CTOs, use the search box above the table of contents to jump straight to a topic you’re grappling with, like “career ladders” or “how to spend your time”. Or, feel free to read it more like a book.
Operating principles
- People first. Be flexible wherever possible to meet people’s needs. Create meaningful opportunities to build relationships and work together in person. Treat everyone equitably with empathy, respect, and genuine care.§ 1.7§ 2.4§ 2.6
- Customer-proximate. Understand the customers’ and purchasers’ needs and motivations, primarily through firsthand experience. Continuously test whether the problems we are solving are the ones that matter most.§ 2.1§ 3.3§ 8.2
- Tight feedback loops. Unify engineering, product, design, and data science disciplines as one team, regardless of departments or reporting lines. Delegate meaningful ownership. Use process to enable good decisions, not substitute for them. Optimize for learning speed to “fail fast.”§ 1.1§ 3.5§ 5.5
- High standards. Hold a high bar for outcomes, quality, and integrity. As recommended by Kim Scott, give radically candid, timely feedback; address problems directly while caring personally. Build quality in through thoughtful design, automated testing, code review, and observability.§ 2.6§ 3.4§ 3.6
- Multiple hats, not pigeon-holes. Allow any combination of individual contributor, tech lead, and manager roles as complementary paths. Each of these has opportunities to increase influence, scope, and compensation. Don’t insist on functional silos either; for example, embrace a PM who also wants to code.§ 1.3§ 2.4§ 2.5
- Best tools for the job, including GenAI. Do not skimp on hardware, IDEs, or other tools that enable productivity. Use AI wherever it can eliminate mechanical work or improve human judgment across the entire PDLC. With GenAI specifically and DevEx generally, ensure the team can focus primarily on the work that requires judgment, creativity, taste, and empathy. Embed GenAI tools seamlessly where people already work.§ 3.1§ 3.4§ 3.7§ 3.8
- Collaborative & transparent. Work together without regard for titles; the best decisions come from multiple points of view coming together. Make decisions, context, and information accessible to the people who need them. Share both good and bad news openly and authentically.§ 1.7§ 4.3§ 5.5§ 8.5
- Leadership by example. Act the way you want others to act by showing care and effort. Reject “not my job” thinking. Take initiative to pitch in and help resolve obstacles that arise, not ignore them. Help someone stuck on a setup step. Offer advice. Find things to praise.§ 2.1§ 2.3§ 5.2§ 7.2
- Continuous improvement. Treat the organization and its operating model as products: measure them, experiment, learn, and change for the better. Solicit ideas for improvement from everyone.§ 3.1§ 4.1§ 8.6
Contents
Chapter 1
Organizational Design & Scaling
How to structure 150+ person technical organization for maximum leverage.
1.1Team Configuration
- Do: Establish small cross-functional teams who own outcomes end-to-end. Hold these teams responsible for measuring these outcomes. In the age of GenAI, a “one pizza team” is perfectly sized for agility: 1 PM, 1 designer, 1 data scientist (if needed) and a few engineers. If individuals are embracing hybrid roles, such as a PM doing design or engineering work, the team can be even smaller.
- Do: Let teams set their own norms: core hours, when to hold retrospectives, and whether to run sprints or kanban. Teams have the autonomy to decide for themselves.
- Do: Standardize what must be common across teams: bug severities, feature prioritization, product vernacular, customer support and customer implementation processes, logging, user analytics, the systems for documentation and issue tracking, and career ladders (see and ).
- Do: Add platform teams where there is genuine leverage. Platform teams provide the stable core, but they are not centralized gatekeepers nor are they the only teams that can contribute to this core. Good candidates for a cross-product platform group: user authentication, reporting and analytics, an LLM gateway or proxy, a data bus across products, shared components, and third-party integrations. Good candidates for intra-product platform group: authorization, data pipeline, standards around APIs + data access, and shared components.
- Do: Embed technical leadership within each team, but provide cross-team channels for peer review and best practice sharing, such as an Architecture Review Board (ARB). draws the line between a tech lead and a manager.
- Do: Every six months, rebalance teams around evolving business needs. Avoid permanent boundaries that become more important than outcomes, such as finding work to keep a team busy while higher priorities languish in backlogs of other products’ teams. Offer rotations to cross-pollinate (see for the cadence).
- Avoid: Never reallocate someone without extreme care; an allocation matrix is not just a numbers game but has profound effects on morale. Teams are “home base” for their members and reassignments can be disruptive. Where possible, ensure 1) the person affected is excited by the change, 2) any specific responsibilities held by that person for quality or operation of a feature are handed off cleanly, 3) the rest of the team feels good about the move too.
- Avoid: Avoid relegating quality assurance to a dedicated QA role. Quality is owned by the entire team: designers validate experiences, product validates outcomes, engineers automate tests (see ), and team collectively owns production issues.
- Avoid: Avoid creating an “us vs. them” culture that pits teams against each other. Teams should never compete on performance or battle over who gets to implement a feature.
1.2Team-Centric Organization
- Do: Technical teams own outcomes end to end and cut across functional departments (engineering, design, data science, and product). The CTO and CPO steer the system as partners. Everyone still belongs to a department that owns reporting lines, craft, hiring, and career, however the team is the primary home.
Solid: the team (primary) Dotted: the department (secondary)
1.3Span of Control
- Do: Keep management layers to a minimum. A hybrid manager can oversee up to 4 directs. An exclusive manager can oversee up to 8. Avoid overloading managers; beyond these limits they will not be as effective, and studies show manager quality is the key driver of employee retention. shows what the limits mean at scale.
- Do: Codify IC, technical leadership, and people management responsibilities in a career ladder (see and ), and offer rewarding career paths for any combination.
- Avoid: Don’t create manager-only roles unless the organization genuinely needs them. At scale, some management is inevitable; management as a status hierarchy is not.
- Avoid: Don’t pigeon-hole or force breadth. Offer opportunities where someone can flourish in areas where they have expertise or interest. Do not force “engineering” or “PM” or “management” silos. Do not force someone to manage.
- Avoid: Believing that GenAI innovations mean ICs no longer need as much management support as before is misguided. While ICs indeed need less support for routine unblocking and status reporting, they actually need more help with quality oversight, strategic alignment, and career mentorship than ever. It works out to a wash.
1.4Who Owns What
| Realm | Individual contributor | Tech lead | Manager |
|---|---|---|---|
| People health | Gives candid peer feedback, mentors newer teammates, and flags morale problems early | Grows the team’s craft through review, pairing, and stretch assignments — influence without a reporting line | Owns hiring, coaching, performance, career growth, and wellbeing |
| Product health | Understands the customer problem and validates that shipped work achieves the intended outcome | Shapes the technical approach to product bets and sequences work to maximize learning | Shares accountability with product for hitting outcomes, not just shipping output |
| Technical health and QA | Owns the quality of their changes: tests, observability, refactoring as they go | Owns the quality of the overall product, architecture, standards, and the tech-debt strategy for the team’s systems | Protects capacity for platform work and debt paydown against feature pressure |
| Delivery & execution | Delivers commitments and raises risk the moment a promise looks shaky | Breaks down the work, unblocks it, and manages cross-team technical dependencies | Removes organizational blockers and communicates status, risk, and tradeoffs outward |
| Process & operations | Participates honestly in team rituals and proposes improvements from the front line | Tunes engineering practices — reviews, on-call, release habits — to fit the team | Owns the operating cadence and ensures retrospectives actually change how the team works |
1.5Span of Control Calculator
- Do: How many managers the IC capacity implies, and what hiring does to that shape. Managers at every layer split their week the same way, and their building time counts toward capacity, so forty FTE of work with half-time managers needs fewer than forty pure ICs. The CTO is counted as a full-time manager. People are whole, so this is the smallest org that covers the capacity asked for, and the IC FTEs it delivers can land a fraction above it. Pick a column to highlight it and draw its org chart below.
| Today | |
|---|---|
| IC capacityFull-time-equivalent individual contributors the work needs — engineers, designers, analysts — tech leads included. | FTEs |
| Managers’ time buildingShare of a manager’s week spent as an IC, at every layer. Zero makes them exclusive managers. | % |
| Directs per managerAssume to be the same at every layer. Recommendation: a hybrid manager holds up to 4; an exclusive manager up to 8. | |
| Growth | |
| Net hires per monthCapacity added each month after attrition, or lost each month if the team is shrinking. | FTEs |
| HorizonHow far ahead to look. | months |
1.6Team Failure Modes
- Do: Every team dysfunction reaches the CTO disguised as a delivery problem. Patrick Lencioni’s “five dysfunctions” are useful ways to get to root failure modes, as cataloged in the table below.
- Do: Diagnose from the symptoms, never from the label. Nobody reports an absence of trust; they report that leadership only hears about a system when it breaks.
- Do: Rule out the structural causes before reaching for the cultural ones. A manager carrying too many directs, or stretched thin by their own IC work, produces symptoms that look exactly like a dysfunction, and no amount of team-building fixes an org chart (see and ).
| Failure mode | Symptoms | Remedies |
|---|---|---|
| The “black box” organizationAbsence of trust |
|
|
| Artificial harmony & driftFear of conflict |
|
|
| Analysis paralysisLack of commitment |
|
|
| The hero engineer trapAvoidance of accountability |
|
|
| The disconnected feature factoryInattention to results |
|
|
1.7Global Scaling
- Do: Hire globally for capability, not just arbitrage. Nearshore and offshore personnel should be treated identically as much as possible, for example access to the same training materials, meetings.
- Do: Operate with a remote-first mindset: design for asynchronous work from the beginning. Use written decisions (see ), accessible documentation, recorded demos, and explicit ownership to reduce dependence on meetings.
- Do: Use time zones as an advantage where possible. Handoffs should move work forward, not simply create queues between teams.
- Do: Preserve meaningful overlap. Distributed teams still need deliberate periods for collaboration, pairing, design, and relationship building.
- Do: Invest disproportionately in communication infrastructure: wikis, comments, bots.
- Do: Give every team the means to meet in person at least twice a year, but never require someone to travel.
- Do: Ensure proper guardrails for anyone working internationally, not just offshore personnel but travelling employees. Restrict access to customer data, production systems, and other sensitive information where required by company security policy and customer contracts. Enforce with firewalls/VPNs, not just words (see ).
- Avoid: Avoid scheduling meetings at difficult times for distributed members to meet, especially for standing meetings. For example, a 4 pm PT meeting in LA would be 1 am for a teammate in Poland.
1.8Offshoring
- Do: Work with the executive leadership team and the board to set a target for R&D cost as a percentage of revenue, and monitor it as a KPI (see ). Decide deliberately what offshore ratio the organization is aiming for rather than letting it drift with each requisition.
- Do: Concentrate the work with one or two key partners that have a footprint in several geographies. A short list buys a real relationship and consistent practices; multiple geographies spread regional risk and keep the sourcing options open.
- Do: Interview offshore candidates as if they were referred employees — the same loop, the same bar, the same rigor described in . Validate communication skills explicitly, because distributed work is written and asynchronous first (see ).
- Avoid: Don’t let the offshore bar drift below the onshore one. Offshore talent is expected to contribute at the same level as everyone else; when it does not, the problem is the partner or the loop that let them through, and it is fixed there rather than absorbed by the teams.
Chapter 2
Talent Lifecycle & Culture
Acquiring, growing, and managing the people building the product.
2.1Hiring
- Do: Hire highly motivated generalists who can operate in ambiguity. Especially at the leadership levels, optimize for judgment, curiosity, ownership, and learning velocity rather than narrow résumé credentials. Value intrinsic motivation over on-paper experience.
- Do: Hire for the organization you want to become, not the one you currently are. As the company scales, selectively add people who bring rigor without importing bureaucracy.
- Do: Expect everyone to contribute to the product. Engineers should understand customers; designers should understand technology; product should understand technical constraints.
- Do: Make “people who make other people better” a core hiring criterion. Hire for culture add, not culture fit. The test is whether someone raises the standard and widens the range of opinion in the room, not whether they resemble the people already here.
- Do: Let candidates see behind the curtain: sit in on a team meeting, and talk with anyone in the company they choose. Hiring is a two-way fit.
- Do: Find “hooks” to entice top talent (which is, effectively, just following this handbook): unlimited PTO, a focus on career development and DevEx, mission-driven work, above-average comp where possible, work/life balance, contributions back to open source projects, top-notch tooling and hardware, a culture where people help each other, and flexibility on where and when to work (limited core hours, or the ability to travel, even outside the country). Most of these are policies, and and cover how to set them.
- Avoid: Don’t turn hiring into a hazing ritual. Use realistic work based on “problems from the trenches,” structured evaluation, and multiple perspectives rather than clever interview puzzles. Run one standard plan: defined phases, assigned questions, and grading criteria for each interviewer to blunt bias, and a panel debrief where the interviewers decide together (see ).
2.2Hiring Decision Calculator
- Do: Structured evaluation, then a panel decision. Before the debrief each interviewer drags the finalists into the order they would hire them, into no opinion if they did not meet the candidate, or into no hire. First place earns the most points and last earns none; a no-hire from any single interviewer is a veto. Points are scaled to the interviewers who had an opinion, so nobody is penalized for a missed loop. The points settle the order, and the shape of the votes says whether the panel actually agrees.
| Panel | |
|---|---|
| InterviewersHow many people sat on the panel (2–5). | |
| CandidatesHow many finalists are being compared (2–5). | |
| RankingsDrag each finalist into a rank, into no opinion, or into no hire. With a card focused, the arrow keys move it up and down the column. | |
2.3Onboarding
- Do: Every team maintains an onboarding document, and the newest member of the team owns it. They work through it, and they revise and improve it as they go — the person best placed to see what is missing is the person who just hit the gap.
- Do: Give every new hire an onboarding buddy: someone on their own team, and never their manager. The buddy is who they ask the questions they would not raise with a manager yet.
- Do: Give every new hire a checklist for their first day, week, month, and quarter. It is an amalgamation of company, department, and team tasks, maintained by HR, the department head, and the team’s tech lead respectively, so each layer owns the part it actually knows.
- Do: Pre-provision access to core infrastructure — SSO, GitHub, AWS or GCP, the password manager, the communication tools — before the start date. Day one is for setting up a local environment, not for waiting on administrative IT tickets. For anything that cannot be auto-provisioned, provide one unified, single-click place to request it, ideally inside a tool the new hire is already in, such as Slack.
- Do: Set the expectation of contribution in the checklist itself: a working development environment on day one, and a change in production within the first week. The size of the change does not matter; the fact that the paved road carried them there does (see ).
- Do: Hand over current product tutorials, walkthrough videos, and architecture documents, and ask for a review rather than a read. A new hire has the only fresh pair of eyes the team will get, and stale documentation is never more visible than it is in that first month.
- Do: See the mandatory training through to completion — security, compliance, and whatever else the company and its customers require. Track it rather than assume it (see ).
- Do: Include an explicit guide to how we build software here: the RFC and ADR (architectural decision record) process, pull request etiquette, code review expectations, testing norms, and what a blameless post-mortem actually looks like (see and ).
- Do: Outline incident management basics early. Every engineer should know how on-call escalation works, where the status pages live, and what makes an incident a Sev-1 — long before their first on-call shift (see ).
2.4Career Growth & Comp
- Do: Build parallel IC and management ladders with genuinely equivalent status and compensation potential (see ). Nobody should have to become a manager to advance.
- Do: Make expectations explicit at every level. Career ladders should describe scope, judgment, technical and product impact, collaboration, and leadership — not just years of experience.
- Do: Offer many methods of enrichment: monthly professional development days, annual multi-day hackathons, technical conference opportunities, biweekly tech talks, and perhaps even a formalized coaching program.
- Do: Reward increasing leverage, not increasing headcount. A Staff engineer who makes 30 engineers more effective can be more valuable than a manager with 10 reports.
- Do: Pay competitively and transparently enough that compensation isn’t a constant source of anxiety. Use market data, consistent leveling, and meaningful equity refreshes (see and ).
- Do: Be flexible wherever the work allows — part-time arrangements, shifted hours, a change of assignment. Offer it evenly to everyone, not just to whoever asks loudest.
- Do: Make career development an active responsibility of leadership. Regular conversations should focus on where someone wants to go, what they need to learn, and what opportunities will stretch them.
- Do: Promote on demonstrated performance against the career ladder (see ) — never for tenure, and never as a retention lever.
2.5The Career Ladder
- Do: Senior is an acceptable terminal level. In most SaaS organizations the Senior band is a career home: someone can comfortably stay there for the remainder of their career without facing pressure to be promoted or to move into management.
- Do: Staff and Principal are a change of scope, not simply a more tenured version of Senior. Moving from Senior to Staff or Principal requires a shift in scope. Instead of executing complex tasks efficiently, these roles are expected to influence architecture, drive cross-functional strategy, and multiply the effectiveness of the engineers and designers around them.
| Level | Band | IC titles | Manager titles |
|---|---|---|---|
| L0 | Intern | Engineering InternData Science InternProduct InternDesign Intern | — |
| L1 | Entry | Software Engineer IData Scientist IAssociate Product ManagerAssociate Product Designer | — |
| L2 | Mid | Software Engineer IIData Scientist IIProduct ManagerProduct Designer | — |
| L3 | SeniorTerminal level | Senior Software EngineerSenior Data ScientistSenior Product ManagerSenior Product Designer | — |
| L4 | StaffThe pivot · management entry | Staff Software EngineerStaff Data ScientistLead Product ManagerStaff Product Designer | Engineering ManagerData Science ManagerGroup Product ManagerDesign Manager |
| L5 | Senior Staff | Senior Staff Software EngineerSenior Staff Data ScientistSenior Staff Product ManagerSenior Staff Product Designer | Senior Engineering ManagerSenior Data Science ManagerSenior Group Product ManagerSenior Design Manager |
| L6 | Principal | Principal EngineerPrincipal Data ScientistPrincipal Product ManagerPrincipal Designer | Engineering DirectorData Science DirectorProduct DirectorDesign Director |
| L7 | Distinguished | Engineering FellowData Science FellowProduct FellowDesign Fellow | Engineering VPData & AI VPProduct VPDesign VP |
| L8 | Executive | — | CTOChief Data & AI OfficerChief Product OfficerChief Design Officer |
2.6Performance Management
- Do: High standards and high care are not opposites. Be explicit about what excellent performance looks like and equally explicit that people will be treated with dignity.
- Do: Feedback should be continuous, specific, and unsurprising — frequent, lightweight conversations beat the annual review every time. Partner with HR to move the formal process as close to a continuous model as the company allows (see and ); whatever annual review remains should summarize a year of conversations, never reveal previously undisclosed problems.
- Do: Be as candid as the situation allows and trust the team with the information. Share the worries alongside the hopes; rose-colored glasses are their own kind of disrespect.
- Do: Address performance issues early. Coaching, clarity, and support come before formal performance processes; prolonged ambiguity helps nobody.
- Do: Separate performance from potential (see ). Someone can be excellent at their current level without needing to become a manager or pursue ever-broader scope.
- Do: Build a culture of praise, celebration, and appreciation — including for the learning that comes out of a failure.
- Do: When someone must leave, do it decisively and humanely. Don’t keep people in limbo because leadership is uncomfortable making a difficult decision. Fail fast: once it is clear someone is unable or unwilling to perform, take the loss early rather than late.
2.7Calibration Grid (9-box)
- Do: Keep a history of every calibration and compare movement over time. Someone who bounces around boxes 1 through 3 is sending a signal that they are not improving. Someone moving between rows has shifting motivation, which warrants a closer look at inconsistent behavior.
- Avoid: Do not let the direct manager to be the final word on a score, or it may fail to be properly calibrated and risks being gamed. Convene a group of senior managers to review traunches. Ensure active discussions based on real experiences, not secondhand anecdotes, to inform adjustments.
- Avoid: Avoid clustering everyone in box 5. Not everyone has the same drive with the same level of proficiency in their rung of the career ladder. Make the tough calls needed to stratify the team; a grid with no spread has not calibrated anything, and the raise formula in has nothing to work with. At the same time, do not force rank into buckets that do not fit (this did not work out well for GE or Microsoft!).
| Below expectations | Meets expectations | Exceeds expectations | |
|---|---|---|---|
| Self-driven catalyst |
4Misfiring catalyst
|
7Rising star
|
9Star
|
| Proactive growth |
2Willing but struggling
|
5Core player
|
8High performer
|
| Static drive |
1Risk
|
3Steady contributor
|
6Resident expert
|
Intrinsic drive, increasing upward
Performance, increasing to the right
Intrinsic drive definitions:A measure of a person’s internal motivation to grow, curiosity, and bias for action
- Self-driven catalyst
- Insatiable curiosity and a high bias for action: doesn’t wait for permission, anticipates what the team or architecture needs next, upskills independently, and elevates the people around them.
- Proactive growth
- A strong, steady internal motor: actively seeks feedback, learns the technologies the work needs next, and proposes pragmatic improvements to code and workflow.
- Static drive
- Focuses on assigned tasks inside the comfort zone; content with the current skill set, improving only when directed. Often highly reliable, but not self-propelling: unable to adopt the behaviors of the next level despite coaching.
Performance definitions:A measure of a person’s skills against the specific criteria of their level of the career ladder
- Exceeds expectations
- Flawlessly executes current responsibilities and frequently demonstrates the behaviors, autonomy, and impact of the next level up.
- Meets expectations
- Consistently delivers high-quality work aligned with the expectations of the level — a reliable executor and a net-positive to the team.
- Below expectations
- Frequently misses technical or delivery milestones; needs more hand-holding than the level dictates (a Senior who needs constant architecture guidance).
2.8One-on-One Conversations
- Do: Make them own the agenda. Require them to populate a shared document before the meeting. This forces them to prioritize what they need from you: blocking issues, strategic alignment, or coaching.
- Do: Dedicate one session a month to the Individual Development Plan (IDP). Zoom out from the sprint cycle and actively map out growth opportunities (see ): who needs a customer site visit? Who is ready to lead a spike on a new technology? Who needs coaching to prep for an upcoming tech talk or all-hands presentation?
- Do: Normalize continuous feedback. Offer constructive, highly specific feedback on recent work, and explicitly solicit feedback on your own management: “What is one thing I could do this week to make your job easier?”
- Do: Track and review action items. Open the meeting by quickly reviewing action items from the last session. If you promised to unblock them with another team, confirm it happened. This builds deep trust.
- Do: Coach, don’t just solve. When they bring you a problem, resist the urge to immediately dictate the technical solution. Ask, “What approaches have you considered so far?” or “What’s your gut telling you?”
- Avoid: Don’t use the time for status updates. If you can read the update in Jira, Slack, or an email, it does not belong in the 1:1. Pivot status updates to asynchronous channels.
- Avoid: Don’t cancel. If a conflict arises, always reschedule within the same week. Canceling sends the message that they are your lowest priority.
- Avoid: Don’t do all the talking. A successful 1:1 should feature the employee talking 70% of the time and the leader talking 30% of the time, mostly asking probing questions. If your jaw is tired at the end of the meeting, you did it wrong.
2.9Skip-Level One-on-Ones
- Do: Focus on the macro environment. Ask questions about team culture, tooling, and processes: “What process is slowing you down the most?” or “Is the strategy we announced at the all-hands translating to your day-to-day work?”
- Do: Ask for feedback on their manager (your direct). Frame it constructively: “What does [Manager’s Name] do that you find really helpful?” and “Where do you think [Manager] could lean in more?”
- Do: Help them connect the dots. Skip-levels are a great time to explain the “why” behind high-level business decisions that might seem confusing on the ground floor.
- Avoid: Don’t override their manager. If a skip-level asks you for a decision (like a vacation approval, a promotion, or a tech stack change), do not make the call in the room. Say, “That’s an interesting point, let’s discuss it with your manager.” Overriding destroys your engineering managers’ authority.
- Avoid: Don’t turn it into a venting session without action. If they bring up a valid systemic issue, own it. But don’t let the meeting devolve into unproductive complaining.
- Avoid: Don’t keep your managers in the dark. Tell your direct reports you are doing skip-levels, explain the purpose (gathering systemic feedback, not spying), and share high-level themes with them afterward without breaking confidentiality.
2.10Salary Adjustment Calculator
- Do: Use one formula for every raise on the team. The manager’s judgment goes into the calibration-grid placement; the number falls out of the inputs, so two people with the same inputs get the same raise. That is what keeps compensation equitable and takes as much subjectivity out of the process as it allows.
| This cycle | |
|---|---|
| Merit increaseThe standard increase, usually set as a target by the ELT company-wide based on inflation, company performance, salary band adjustments, and other factors. | % |
| Promotion increaseThe step to the next level. Set it from the gaps between the standardized pay bands, not case by case; a promotion adds the amount by which this exceeds the merit increase. The bottom row of the grid is never promoted. | % |
| This person | |
| Spot in the calibration gridWhere the manager placed the person in the last calibration. Drive runs down, performance runs across. | |
|
|
|
| PromotionIs this cycle also a move to the next level? | |
| Salary band alignmentHow equitably the person has been paid so far: current salary against the band for their current role, before any promotion or adjustment. | |
| Calculation: Salary adjustment | |
| No raise Lower performer or salary is well above band | |
| Merit increase Salary band and merit-adjusted | |
| Promotion increase Salary band and merit-adjusted | |
| 0% increase | |
Chapter 3
The Delivery Engine
How the organization continuously ships value with predictability and speed.
3.1Product Development Lifecycle (PDLC)
- Do: Expect product, data science, design, and engineering to operate together throughout the lifecycle, even though PMs will contribute more at the bookends and engineers in the middle with the SDLC.
- Do: Embed GenAI throughout the entire lifecycle. AI assists with research synthesis, product thinking, UX exploration, specifications, architecture, implementation, testing, documentation, and analysis — not merely code completion (see ).
- Do: Hold retrospectives at least monthly (see ). They exist to celebrate what worked as much as to fix what did not.
- Do: Evaluate every roadmap item against the same criteria (see ). Prioritize actively and cull what fails.
- Do: Be explicit about whether a deadline is hard (a customer commitment that cannot budge) or soft (an internal objective). Ask the team to commit to a date; never impose one without their buy-in. Prefer ETAs to deadlines, and prefer ticket prioritization to ETAs.
3.2The Double Diamond
- Do: Embrace the four-phase product management framework first devised by the UK Design Council. Diverge, then converge, twice. The first diamond explores the problem space until the team commits to the right problem; the second explores solutions until the team ships the right one.
3.3Roadmap Initiative Calculator
- Do: Use a consistent decision framework that turns competing opinions into explicit, comparable judgments. The following calculator provides one example. Engage with stakeholders and agree on a framework, and weights, before doing any prioritization.
- Avoid: Don’t scope a project beyond the business’ “appetite.” No feature is worthwhile at any cost, so descope until the feature set and the cost feel balanced.
- Avoid: Don’t launch a project without mechanisms to “fail fast”: metrics for success, accuracy targets, and marginal operating cost ceilings. Set checkpoints along the way based on quick iterations with real customer feedback.
- Avoid: There is no need to use this calculator for most tech debt initiatives, since each team already has an allocation for it (see ), and should be able to self-manage their tech debt reduction choices. The exception would be larger tech debt reduction initiatives that require more effort than the allocation provides.
| Value | |
|---|---|
| Customer impact How much does this improve the customer’s experience or solve a meaningful problem? | |
| Business impact How materially could this affect revenue, retention, margin, risk, or strategic objectives? | |
| Leverage How much future product and business value does this capability unlock? | |
| Evidence of value How strong is the evidence that the expected value is real? | |
| Value subtotal | 0 / 100 · weighted 70% |
| Cost | |
| Effort How much capacity does it consume? | |
| Adoption How much migration, behavior change, or organizational effort is required? | |
| Cost subtotal | 0 / 100 · weighted 30% |
| Calculation: Classification & priority | |
| Cut Value < 25 pts, or value < 50 pts and cost < 50 pts · priority 0–24Too little value to justify even slack time, or low value at high cost. Say “no” clearly and move on. | |
| Fill-in Value 25–49 pts and cost ≥ 50 pts · priority 25–49Some value at low cost. For slack time; never a priority. | |
| Big bet Value ≥ 50 pts and cost < 50 pts · priority 50–74High impact, high cost. Worth it — fund it as a project with a named owner. | |
| Do now Value ≥ 50 pts and cost ≥ 50 pts · priority 75–100High impact with acceptable cost and solid evidence. | |
| 0 / 100 | |
3.4Software Development Lifecycle (SDLC)
- Do: Code is cheap; good ideas are scarce. Once AI can produce most of the code, the team’s bottleneck is no longer typing speed — it is the supply of well-formed ideas ready to build.
- Do: AI is a fundamental change to how the company builds software, not another developer tool rollout.
- Do: Use AI throughout the PDLC: customer research, competitive analysis, product requirements, UX concepts, prototypes, architecture, coding, testing, code review, documentation, analytics, support, and operations.
- Do: A good idea arrives with full context and works out ambiguity up front: product intent, acceptance criteria, architecture decisions, domain models, invariants, UX principles, non-functional requirements, examples, and edge cases. Often the best spec is not a PRD but a workable prototype.
- Do: Compress the feedback loop (see ). Go straight from idea to prototype to evaluation, rather than marching requirements through mockups, tickets, implementation, and QA before learning anything.
- Do: Use small batches and continuous delivery rather than large release trains. The organization should be optimized to safely change the product every day.
- Do: AI should be capable of producing most of the code, while humans own the engineering judgment. Engineers increasingly become architects, reviewers, validators, system thinkers, and owners rather than typists, and the scarce skills become problem decomposition, verification, taste, and understanding the business.
- Do: Build an AI-native engineering platform: approved models and tools (see ), secure context access, evaluation, observability, automated testing, and policy enforcement.
- Do: Treat AI fluency as an organizational capability. Teach people how to use it well rather than prescribing a single tool.
- Do: Evaluation follows a testing pyramid (see ), with most tests generated by AI from both the specification and the implementation.
- Do: Code review always begins with a GenAI first pass — correctness, consistency, DRY (don’t repeat yourself), architectural integrity, security — that tells human reviewers where to focus their judgment.
- Do: The quality bar rises as code generation gets cheaper. Automated tests, static analysis, security scanning, observability, review, and production feedback become more — not less — important.
3.5Compressing the Feedback Loop
- Do: The old pipeline pays for a full relay of handoffs before anyone learns anything, and each lesson restarts the relay. The new loop makes the prototype the spec: build, evaluate, and loop straight back — many iterations in the time one handoff used to take.
3.6The Testing Pyramid
- Do: Evaluation follows a testing pyramid, and most of it is AI-generated from two sources of truth: the specification (what the system should do) and the implementation (what it actually does). Humans curate the suite rather than hand-writing it.
3.7Developer Experience
- Do: Optimize relentlessly for developer flow. The best developer experience is one where the path from idea to production is frictionless.
- Do: Build a paved road: local development, CI, testing, deployment, observability, security, dependency management, and AI tooling should work by default.
- Do: Make organizational knowledge AI-accessible. Architecture, product context, APIs, incidents, decisions, and code should be discoverable by both humans and agents.
- Do: Keep organizational knowledge up to date by putting the documentation where the work happens. Tech Leads own the ADRs (see ) stored in version control; the on-call engineers own the incident runbooks attached to their services; and Product Managers own the design docs in the central wiki. Stale documentation is a liability. If a system changes, don’t count the pull request as complete until the documentation is updated as well.
- Do: Automate toil rather than adding process. Establish a strict toil budget: if a team spends more than 20% of their capacity on repetitive, non-creative manual work as quantified by tickets (see ; e.g., deployments, data backfills, ticket triage), pause feature work until the bleeding has stopped.
- Do: Defend the calendar as fiercely as the toolchain, such as no-meeting days.
- Avoid: Do not burn out your team. Set clear expectations that work/life balance is prized. For individuals who work overtime for some pressing need (push to deliver a feature on time, fix for a production issue, on-call incident, etc.), pay them back in some way, such as by offering additional time off.
3.8Automated Agents
- Do: Invest in the infrastructure that lets agents run unattended: a checked-out codebase, sandboxed runtime environments, realistic test data, and credentials scoped to only what the work requires.
- Do: Schedule agents to work autonomously through the backlog, starting with lower-priority bug reports. An agent can write the code, verify the fix, and code review its own work before a person ever looks at it.
- Do: Balance cost against capability by running open-weight models in the company’s private cloud alongside enterprise-licensed frontier models. Open-weight models are often less than a year behind the frontier, which is more than sufficient for many agentic tasks.
- Do: Schedule agents to diligently hunt for security vulnerabilities in the codebase and in a production-like environment, logging every finding with an assessed severity so it can be triaged like any other defect (see ).
- Do: Deploy self-serve agents where people already work — Slack and the other communication tools — connected to logs, databases, codebases, wikis, and every other source of institutional knowledge. Make them available under appropriate access restrictions across the entire business: learning, troubleshooting, ideation, customer support, and innovation. High-quality internal platforms are a prerequisite for turning AI’s individual productivity gains into organizational gains.
- Avoid: Don’t take the human out of the loop. Autonomous work earns a pull request and a final human approval, never a merge of its own.
3.9Team Time Allocation Calculator
- Do: Give every team a target split and revisit it each quarter (see ). A team without a target allocation does not spend zero on tech debt; it spends whatever is left after the loudest request.
- Do: Measure the actual split before arguing about the target. Categorize completed work for a quarter, compare it to the profile the team believes it is running, and treat the gap as the finding.
- Do: AI code generation is shifting weight inside every bucket, in all four profiles, from implementation toward design and review. The share spent on new features barely moves while more of the hours inside it go to deciding what to build and checking what came back.
- Avoid: Don’t hold a team to the split as a quota. It is a conversation starter for planning and a diagnostic after the fact, not a timesheet to be audited against.
- New features. Net-new capabilities, greenfield modules, and major product expansions, with the architecture, specification, and review that go into them. %
- Improvements. Iterative enhancements, UX polish, and scaling features that already ship. %
- Tech debt. Intentional refactoring, infrastructure modernization, and paying down structural shortcuts. %
- Bug fixing. Defects, regressions, and customer-escalated issues. %
- Overhead & toil. Manual interventions, data backfills, deployment babysitting, ticket triage, and standing meetings. %
- Total%
3.10Operating Rhythm
- Do: Run the organization on a predictable rhythm. People can plan around a calendar they can see, and every ritual on it should have an owner and a reason to exist.
- Do: The rhythm is shared; the mechanics are not. Teams decide how a standup or a retrospective runs (see ), while the cadences below keep the whole organization in step.
- Do: Reserve the slowest cadences for the heaviest, most time-consuming decisions. Portfolio review each quarter, and resource reallocation and promotions every six months, so teams are not reshuffled or re-leveled on a whim (see and ).
Weekly
- Team standup (×2)
- Architecture review within each product line
- Architecture review across product lines
- No-meeting day
Every 2 weeks
- Tech talk / lunch-n-learn
- One-on-one with each direct report (every 1–2 weeks)
Monthly
- Technology town hall with KPI review
- Professional development day (PDD)
- Team retrospective (every 1–3 months)
Quarterly
- Portfolio review
- Manager 9-box calibration
- One-on-one skip levels with indirect report
Every 6 months
- Resource reallocation
- Promotion
- Team and company meet-up
Yearly
- Hackathon
Chapter 4
Key Performance Indicators
A small set of numbers that tells the board, the executive team, and the delivery teams the same story about the health of the technology organization.
4.1Measurement Principles
- Do: Measure outcomes and system health, not individual busyness. DORA metrics, product outcomes, reliability, customer impact, and developer experience should tell a coherent story.
- Do: Use SPACE-style thinking to understand productivity. Satisfaction, performance, activity, collaboration, and efficiency/flow provide a much healthier picture than commits, story points, or lines of code. Combine system telemetry (PR turnaround, build times) with developer sentiment (quarterly surveys on workflow friction).
- Do: Measure AI adoption by outcomes, not token consumption or generated lines of code (see ).
- Do: Standardize the definitions behind the numbers — ticket priorities, incident severities, what counts as done — so a metric means the same thing on every team.
- Do: All technical work should be accompanied by a ticket, even non-coding tasks. This makes it possible to track metrics like toil and unplanned work with minimal overhead (see ).
- Avoid: Never use productivity metrics as an individual performance weapon. Metrics should identify systemic constraints and opportunities for improvement.
- Avoid: Avoid OKRs (objectives and key results). They involve high overhead, yet ultimately provide competing north stars with other measures. Instead, use the roadmap as the objective and KPIs as the key results (see and ).
4.2The Scorecard
- Do: Nine metrics across four pillars: trust and reliability, execution and flow, business health and economics, and customer impact. Few enough to fit on one page; broad enough that no single number can look good while the organization gets worse.
- Do: Mindful of Goodhart’s Law, pair every metric with a guardrail that catches the obvious way to game it. Deployment frequency without change failure rate rewards reckless shipping; a falling cost ratio without outcome attainment rewards starving the roadmap.
- Do: Define each metric from the customer’s point of view wherever possible: incidents customers felt, latency customers experienced, outcomes customers received.
- Avoid: Deliberately leave SPACE and other developer-experience metrics off the scorecard. They are diagnostic tools for the engineering organization to improve itself, not a story the rest of the business needs to follow.
| Metric | Definition | What it answers | Guardrail |
|---|---|---|---|
| Trust & Reliability | |||
| SLO attainment | Percentage of aggregated performance targets (covering availability, error rate, and tail latency) successfully met over a rolling period. | Can customers safely depend on us? | Customer-impacting Sev-1s |
| Critical vulnerability exposure | Severe, known flaws within the environment, normalized against established remediation SLAs. | Are we actually reducing our attack surface? | Aged critical vulnerabilities |
| Execution & Flow (select DORA metrics) | |||
| Lead time for changes | Mean time from an approved idea to production availability. | How long does an idea take to reach production? | Change failure rate |
| Deployment frequency | Successful deployments to production within a given timeframe, reflecting small batch sizes and the ability to ship safely. | How often can we safely ship? | Change failure rate |
| MTTR for customer incidents | Mean time from the detection of a customer-impacting incident to the full restoration of normal service. | When things break, how quickly do we recover? | Incident recurrence |
| Business Health & Economics | |||
| Engineering cost ratio | Total R&D labor and tooling expense divided by total revenue, measuring the labor efficiency of revenue growth. | Is our headcount spend scaling efficiently with revenue? | Bets hitting their target outcome |
| Cloud unit cost | Production cloud infrastructure spend divided by tenant or license, measuring unit economics. | Are our architectural decisions scaling profitably? | System latency (p95) |
| Unplanned work | Percentage of engineering capacity consumed by bug fixes, incidents, support, and toil, revealing the economic drag of system fragility. | Is the system becoming harder to operate? | Bets hitting their target outcome |
| Customer Impact | |||
| Bets hitting their target outcome | Percentage of major initiatives that achieve their specific business result, such as a 10% usage lift. | Are we building what customers actually value? | Customer retention |
4.3Visibility & Review
- Do: Make metrics visible to the people doing the work. Teams should be able to see whether their changes are actually making the system and product better (see ).
- Do: One scorecard at every altitude (see ). The board, the executive team, and the delivery teams read the same numbers, so nobody is reconciling two versions of the truth.
- Do: Read trends, not points. A single quarter is a sample; the direction over several quarters is the signal, and a miss with a credible trend is not a crisis.
- Do: Status comes from the gap to target, never from a hand-picked color. Set targets explicitly and let the scorecard report against them mechanically.
- Do: See also : eNPS and other measures of team health, trended over time and reviewed with the team, sit alongside the scorecard rather than on it.
4.4Sample KPI Dashboard
SLO attainment
99.95% On track
Target ≥ 99.90%
4/qtr
Target ≤ 2/qtr
Critical vulns open
6 Watch
Target ≤ 5
2
Target ≤ 2
Lead time for changes
2.3 d Watch
Target ≤ 2.0 d
18%
Target ≤ 15%
Deployment frequency
27/wk On track
Target ≥ 25/wk
18%
Target ≤ 15%
MTTR
1.7 h Watch
Target ≤ 1.5 h
12%
Target ≤ 10%
Engineering cost ratio
24% ARR Watch
Target ≤ 22% ARR
58%
Target ≥ 60%
Cloud unit cost
7.6% ARR Off track
Target ≤ 6.0% ARR
390 ms
Target ≤ 400 ms
Unplanned work
26% Off track
Target ≤ 20%
58%
Target ≥ 60%
Bets hitting outcome
58% Watch
Target ≥ 60%
95.4%
Target ≥ 95.0%
Chapter 5
Innovation & Architecture
Balancing the need for stability, simplification, and cutting-edge differentiation.
5.1Tech Consolidation & Efficiency
- Do: Prefer boring infrastructure and differentiated features. Complexity should exist because it creates customer value, not because engineers enjoy operating it.
- Do: Continuously delete things. Old services, vendors, abstractions, feature flags, data pipelines, and code should have an expiration mechanism.
- Do: Standardize the platform; preserve freedom at the product edge. Tech leads can leverage their peers in architecture review board discussions when there are tough calls.
- Do: Use AI aggressively for modernization (see ). AI can map legacy systems, explain unfamiliar code, generate migration plans, write tests, update documentation, and accelerate large-scale refactoring.
- Avoid: Don’t consider architecture an annual review exercise. As it constantly evolves, keep documentation up to date (see ). Train up the team on all aspects with ongoing tech talks, including those that do not involve their day-to-day work.
- Avoid: Resist the call to chase the latest language, framework, or fad when the current choices are doing the job well.
5.2Strategic Tech Debt
- Do: Tech debt is a portfolio decision, not a moral failure. Some debt is absolutely rational.
- Do: Prioritize debt according to business impact: reliability, security, developer velocity, scalability, cost, and strategic flexibility. Use production evidence where possible (see and ).
- Do: Prefer incremental modernization over heroic rewrites, though a rewrite can be justified with a sound staged, funded plan.
- Do: Encourage teams to find an appropriate time allocation for tech debt reduction. For a typical maturing feature team, they should be addressing tech debt 20% of their time as noted in .
- Do: Ignore sunk costs. However much sweat equity or political capital went in, decide on what is best from here. Retire features, tools, or systems that are no longer the right choice for the next phase, however entrenched or expensive they were.
- Avoid: Don’t let “we’ll fix it later” become permanent architecture. Every intentional shortcut should be justified, then logged as tech debt for a future remediation with an assigned owner.
5.3Scoring the Tech-Debt Portfolio
- Do: Cost of delay against cost to fix. What earns a slot on the roadmap is the damage of waiting, not how much the debt annoys the team that lives with it.
| Cheap to fix | Expensive to fix | |
|---|---|---|
| High cost of delay |
Fix now Interrupt the roadmap Security vulnerability · data-loss risk · a deploy path nobody trusts |
Strategic investment Fund it as a named project Core data model · auth platform · the migration everything else waits on |
| Low cost of delay |
Ignore and monitor Log it and move on Obsolete UI dependency · cosmetic lint debt · a dead feature flag |
Plan and schedule Book it into a quarter Legacy service split · vendor exit · test-suite overhaul |
5.4Tech Debt Payback Calculator
- Do: Debt as a portfolio decision: what the drag costs each week against what the fix costs once, discounted by how sure the team is that the fix removes the drag. The payback period sets the verdict; the last line shows how much of a quarter’s debt budget the fix would consume.
| The drag | |
|---|---|
| Engineers affectedHow many people lose time to this debt. | |
| Hours lost per weekPer engineer: workarounds, slow builds, flaky tests, manual steps. | hours |
| Loaded hourly costFully loaded cost of an engineering hour. | $/ hour |
| Other weekly costIncidents, cloud waste, or lost revenue traceable to this debt. | $/ week |
| The fix | |
| Effort to fixEngineer-weeks to remediate, including migration and rollout. | engineer-weeks |
| ConfidenceHow sure the team is that the fix removes the drag. | |
5.5Decision-Making
- Do: Classify a decision by impact and reversibility before choosing how to make it. Most decisions are two-way doors: they belong with the team closest to the work, and the ceremony is reserved for the ones you cannot walk back.
- Do: Match the method to the stakes. Analysis and consensus for the irreversible and high-impact; small hypothesis tests for anything easy to undo; consultation when specialized knowledge is needed but the owner keeps the call.
- Do: Write down the decisions that are hard to reverse — the context, the options considered, the owner, and the date — so they are never re-litigated from memory (see ).
- Do: Try to weakly hold strong opinions, that is, be open to changing your opinion. Disagree and commit. Rallying behind a final decision is more important than protracted debate or second-guessing. For especially tough decisions, try to build in optionality with checkpoints.
| Hard to reverse | Easy to reverse | |
|---|---|---|
| High impact |
Decide carefully Write it down, review it, name the owner
|
Decide quickly Pick, ship, and learn from production
|
| Low impact |
Delegate and align Agree the constraint, not the choice
|
Decide locally The team decides; no forum needed
|
5.6Core Architectural Principles
- Do: Build vs. Buy: Buy commodity; build your differentiators. If a system does not provide a unique competitive advantage (e.g., authentication, generic CRM, standard monitoring), buy it. Reserve engineering capacity strictly for the core product.
- Do: Service Boundaries: Enforce domain-driven design. Defer breaking systems into microservices until the organization’s communication structure requires it; avoid creating a distributed monolith where independent deployments are impossible.
- Do: Multi-Tenancy: Architect for strict tenant isolation from day one. Define clear boundaries for logical separation (shared database, separate schemas) versus physical separation (dedicated infrastructure) based on the compliance needs of your enterprise customers.
- Do: The Data Platform: Treat data as a first-class product, not a byproduct of application state. Establish clear contracts for how data is published to the analytical ecosystem to prevent operational database migrations from breaking downstream pipelines (see ).
- Do: ADR & RFC Process: Require Architectural Decision Records (ADRs) or Requests for Comments (RFCs) for all irreversible design choices. Document the context, alternatives considered, and the final decision so future teams understand the “why” behind the code.
Chapter 6
Integrations & Partnerships
Multiplying product value and stickiness through external connectivity.
6.1Data Integrations
- Do: Treat integrations as products, not one-off projects. Clear contracts, observability, retries, versioning, and ownership are essential.
- Do: Prefer event-driven and API-based integration patterns where appropriate.
- Do: Design explicitly for imperfect external systems. Rate limits, schema changes, duplicates, outages, and partial failure are normal.
- Do: Make integration health visible to customers and internal teams.
- Do: Use AI to accelerate connector development while maintaining automated contract and integration testing (see ).
- Do: Continually experiment with ways to further streamline integrations. High-effort integrations do not scale.
6.2API Strategy
- Do: Design APIs for developers, not merely for internal architecture.
- Do: Consistency beats cleverness: predictable authentication, pagination, errors, versioning, idempotency, and documentation.
- Do: Treat API quality as part of the product and potentially part of the company’s strategic value.
- Do: Provide excellent documentation and examples — and make them AI-readable (see ).
- Do: Measure API adoption, reliability, and developer experience, not merely endpoint count.
6.3Strategic Partnerships
- Do: Partner when the relationship creates distribution, capability, or defensibility — not because “strategic partnership” sounds good.
- Do: Design integrations so the company retains control of the customer relationship and critical IP.
- Do: Make partner engineering accountable to product outcomes.
- Do: Build repeatable patterns for marketplace listings, co-selling, certification, and technical enablement.
- Avoid: Avoid partnerships that create permanent bespoke engineering obligations without strategic return (see ).
Chapter 7
Security, Risk, & Resilience
Bulletproofing the platform so no technical red flags kill the deal.
7.1Security & Compliance
- Do: Security is everyone’s responsibility, with specialized expertise where necessary. Mandate training to everyone technical at least annually. Ensure the OWASP Top 10 and threat modeling are part of all design discussions.
- Do: Governance: Set up proper security and compliance governance with documented policies, including a Security & Compliance team, Security Committee consisting of the security officer and technical leaders, and an AI governance committee to approve all LLM integrations (see ).
- Do: Data protection: Protect all data at rest and in transit with strong cyphers and disable weaker ones. Be mindful of data residency; for PHI and PII this may mean US-only storage and firewall rules to prevent international access.
- Do: Resilience: Ensure there are proper cross-region encrypted backups available. Set and test RPO (recovery point objective) and RTO (recovery time objective) at least annually. Use bar-raising RPOs and RTOs internally while advertising looser ones to customers.
- Do: Automate compliance evidence collection wherever possible. SOC 2 and ISO should be properties of the development system, not annual paperwork exercises. It is also what keeps the company diligence-ready (see ).
- Do: Use automated dependency, secret, vulnerability, and AI-generated-code scanning. Add monitoring and kill switches so failures demand attention.
- Do: Provision all systems with role-based access controls (RBAC) and multi-factor single-sign on (MFA SSO) under a principle of least privilege. Automate the review of permissions, especially when someone’s role changes.
- Do: Use a third party to perform penentration tests at least annually. Rotate vendors. Add a bug bountry program as budget permits.
- Do: Hold vendors to your own internal standard. Establish a formalized vendor risk management process to evaluate third-party tools, sub-processors, and APIs before they touch the production ecosystem or handle customer data. Ensure vendors sign BAA agreements if handling unencrypted PHI.
- Avoid: Don’t rely on security theater. Avoid creating complex, bureaucratic security policies that slow down development if you are not actively monitoring, testing, and enforcing those same policies in production.
7.2Reliability & Incident Management
- Do: Define SLOs around customer experience, not infrastructure vanity metrics (see ).
- Do: Teams own the services they build. You build it, you operate it.
- Do: Automate detection, diagnosis, rollback, and recovery wherever possible.
- Do: Incidents should produce learning and systemic improvement rather than scapegoats. Each incident should have a documented write-up spearheaded by the responsible tech lead and shared in a cross-product ARB setting for knowledge sharing within 1 week of incident closure. The document should include incident metadata, quantified customer impact, timeline of events, root cause analysis (RCA / “the five whys”), a reflection of what went well and what went wrong, and action items with logged tickets, assigned owners, and ETA.
- Do: Use reliability work to inform product and architectural priorities (see ).
- Avoid: Avoid names where possible in incident reports to promote a blameless culture.
7.3Error Budget Calculator
- Do: An availability target is a budget for failure, and the budget is what tells a team whether to keep shipping or to slow down. Burn rate compares the share of budget spent with the share of the window elapsed; above one, the budget runs out before the window does.
| Target | |
|---|---|
| Availability targetThe SLO the service promises. | |
| WindowThe period the budget covers. | |
| This window | |
| Days elapsedHow far into the window the team is. | days |
| Downtime so farMinutes of customer-facing unavailability this window. | minutes |
| Incidents so farHow many separate incidents produced that downtime. | |
| Cost of an hour downLost revenue, credits, and recovery effort per hour of downtime. | $/ hour |
7.4IP & Open Source Hygiene
- Do: Prohibit the use of strictly copyleft-licensed software (e.g., AGPL, GPL) in proprietary production code without explicit legal approval. Stick to permissive licenses (MIT, Apache 2.0, BSD) as the default. Inquire about licenses when discussing designs in architecture review meetings.
- Do: Establish a clear “path to open source” policy where the CTO + legal approves contributions, safeguarding internal infrastructure patterns, proprietary business logic, and engineers’ time.
- Do: For any company-sponsored open source projects, establish Contributor License Agreement (CLA) or Developer Certificate of Origin (DCO). If an external developer submits a PR to your repo, you must ensure you have the legal right to use their code.
- Do: Standardize on enterprise-tier AI assistants where vendor agreements explicitly state your code and prompts will not be used to train their models.
- Do: Ensure every employee and contractor signs a Proprietary Information and Inventions Agreement (PIIA) before their first commit.
- Do: Define a clear policy on moonlighting and side projects. If prohibited by company employment agreement, allow an “escape catch” with CTO + Legal permission. Side projects are acceptable and even beneficial as long as they are built on the employee’s own time, using their own equipment, and do not compete with the company’s business.
- Avoid: Do not allow developers to paste proprietary source code, internal architecture diagrams, or customer data into public, consumer-grade AI models.
- Avoid: Avoid wasting effort on formalizing patents/inventions. Don’t pursue IP formalization as a knee-jerk reaction; make the decision based on defensibility, strategic importance, and the economics of protection.
Chapter 8
Business & Executive Leadership
The intersection of technical leadership, business outcomes, and margin optimization.
8.1FinOps & Tech Budgeting
- Do: Position engineering leaders to own economic outcomes, not just technical outcomes, aligned with KPIs (see ).
- Do: Make infrastructure and SaaS costs visible at the product and service level.
- Do: Partner with the finance team to prudently capitalize engineering time in a manner that avoids manual bookkeeping or timesheets (see ).
- Do: Treat cloud efficiency as an engineering problem before treating it as a procurement problem.
- Do: Measure AI economics explicitly: model cost, infrastructure cost, engineering time, and resulting business value.
- Do: Optimize for gross margin and strategic leverage, not simply the lowest technology bill.
8.2GTM Partnership
- Do: Technology is a partner to Sales and Customer Success, not a fulfillment organization.
- Do: Make customer feedback directly visible to product and engineering teams.
- Do: Give team members standing opportunities to meet users and watch them work, and to sit in on prospect calls (see ).
- Do: Say yes quickly when the opportunity is strategic; say no clearly when it creates an unsustainable product.
- Do: Measure the opportunity cost of bespoke work. Create explicit rules for when it can be accepted that involve feedback from the technical team.
- Do: For customer support, define a strict tiering system to protect engineering flow. L1 is for frontline support to triage, L2 for the customer success team, and L3 is an escalation to engineering. Use a centralized issue tracker to capture categorization and reproduction steps.
- Do: Establish clear SLAs on customer issue resolution based on severity, e.g. severity 1 requiring an immediate interrupt vs. lower severity work that can go into the backlog (see ).
8.3Collaborating with C-suite peers
- Do: Make sure everyone can state the strategy and ensure the roadmap aligns to it. Focus on the mission and the customer; do not fixate on competitors or copy them.
- Do: Translate engineering details into customer and business outcomes.
- Do: Frame technical trade-offs as business risks. When advocating for platform investments or tech debt paydown, speak in the language of the C-suite: margins, onboarding speed, customer retention, and security liability (see ).
- Do: Help business peers understand technical concepts that are likely relevant to their role, such as how key features work (at a high level).
- Do: Provide a strong technical voice to ensure business decisions are made with full clarity on technical repercussions, such as unit costs, IP ownership, team morale, tech debt, and other factors.
- Avoid: Don’t expect a peer to care about the elegance of a data pipeline refactor. They care that if the bottleneck isn’t fixed, the platform cannot onboard upcoming enterprise clients without doubling cloud compute costs.
- Avoid: Don’t “go rogue” and build a technical strategy in an isolated vacuum. If your technical bets do not map directly to the CRO’s revenue targets or the CPO’s product roadmap, the organization is fundamentally misaligned. If you build something the business is not prepared to market, sell, and implement (all 3) don’t be surprised if it never gets used.
- Avoid: Don’t offer false certainty on greenfield R&D timelines. Avoid giving the executive team precise delivery dates on highly ambiguous projects; present ranges and confidence intervals, and communicate variance the moment it appears (see ).
8.4CTO Time Allocation Calculator
- Do: Where a CTO’s week goes depends on what the company needs the CTO to be, and the mix drastically shifts based on the company’s maturity and immediate needs. Each bar is one profile; pick one to load its split, or edit the shares to describe a real week and the closest profile is picked out. Hover a legend entry to trace that bucket across the bars. The splits are offered as directional guidance, not quotas.
- Hands-on engineering. Production code, prototypes, infrastructure, and hardware. %
- Technical vision & architecture. System-level architecture, buy-vs-build calls, R&D, security, guardrails, and the balance of feature velocity against debt. %
- Client operations & delivery. On-site deployment, logistics, and troubleshooting in the field. %
- Business strategy. Translating board goals into roadmaps, scoping the offering, and holding the key client and vendor relationships. %
- People & culture. Recruiting senior talent, mentoring managers, structuring teams, and keeping morale and retention healthy. %
- Stakeholder & change management. Timelines, risks, and delays explained to the C-suite, the board, or a parent company. %
- External evangelism. Speaking, advisory boards, and the engineering brand that helps recruiting. %
- Total%
8.5Executive & Board Visibility
- Do: Tell a simple story: what are we building, why does it matter, what did we learn, and what is getting in the way?
- Do: Expose risks early. Bad news should travel faster than good news.
- Do: Show technical investment as a portfolio: growth, reliability, efficiency, security, and strategic differentiation (see ).
- Do: Give the board confidence without drowning it in architecture diagrams. Good slides include 1) KPIs (see ), 2) strategic delivery & outcomes, 3) security & risk posture, and 4) financial efficiency.
8.6HR Partnership
- Do: Prefer unlimited PTO. Monitor usage, and encourage anyone under-using it to take at least three weeks.
- Do: Nix annual reviews, or at least work towards that (see ). Institute a comprehensive program of continuous feedback that encourages recorded peer and manager feedback. The goal is to share actionable feedback early and often, as opposed to waiting for a review period.
- Do: Ensure fair and equitable compensation with salary bands that are tied to each rung of the career ladder (see ), with separate bands per specialty (Engineering, Data Science, Design, Product Management). Benchmark with public and private sources and set bands at a fixed percentile above the mean, such as the 60th. Adjust comp internationally by a fixed percentage per region (EU, India, South America), and keep it equitable within each region.
- Do: Partner on measuring employee net promoter score (eNPS) and other measures of team health. Trend these over time. Meet with the team to discuss the results and push forward improvement initiatives to drive the scores higher (see ).
- Do: Set raises by formula, not by negotiation. Score everyone on the team the same way, keeping compensation equitable and removing as much subjectivity as the process allows. The manager’s judgment goes into the 9-box placement (see ), not into the number (see ).
- Do: Work to align the company bonus program to the calibration matrix, so there is a consistent methodology for rewarding high performers across salary and bonus.
- Do: If inheriting a team that has not had strict equity guidelines around salaries, make adjustments at each opportunity to even out.
- Avoid: Do not adjust pay across regions of the country. People move and it gets messy, since comp cannot be adjusted downward.
Chapter 9
Acquisitions & Exit
Preparing for the final 12 months, and absorbing a team from either side of a transaction.
9.1Tech Diligence Preparation
- Do: Make the company diligence-ready continuously, not in the final 12 months.
- Do: Maintain an authoritative inventory of system architecture, networking architecture, data flows, public APIs, third-party integrations, security controls, IP, licenses (see ), and technical debts/risks. Automate as much of this as possible.
- Do: Eliminate tribal knowledge around critical systems. Ensure all infrastructure configuration and deployment is automated (IaC).
9.2Telling the Tech Narrative
- Do: Explain how the platform supports scale, margins, reliability, product velocity, defensibility, integrations, and future AI capabilities.
- Do: Be candid about technical debt. Buyers generally care more about whether you understand it and have a credible plan (see ) than whether the codebase is pristine.
- Do: Demonstrate the strength of the technical organization, not just the technology.
- Do: Show that the system can evolve without requiring the original founders or a few heroic engineers.
- Avoid: Don’t sell the architecture; sell the technical advantage.
9.3Post-M&A Assimilation
- Do: Protect the people who created the value, whichever side of the deal they sit on. Retention is not simply a compensation problem; autonomy, identity, and meaningful work matter.
- Do: When acquiring, finish the technical diligence the deal timeline cut short: who owns which system, the architecture as built, the tech debt and licensing obligations that came with it, and what the roadmap has already promised customers.
- Do: Score what that diligence turns up with the frameworks the rest of the organization already uses — the tech-debt portfolio in and the initiative scorer in — so inherited work competes for capacity on its merits.
- Do: Integrate deliberately rather than immediately standardizing everything. Identify which capabilities should be absorbed, preserved, replaced, or retired (see ).
- Do: Keep the acquired feature teams together and pointed at their own product. Ask what they need that they did not have before, and align their incentives with the scorecard everyone else is measured against (see ) rather than leaving them on the metrics of a company that no longer exists.
- Do: Give teams clarity about their future as quickly as possible.
- Avoid: Don’t let the acquisition destroy the operating model that made the company valuable in the first place, yet be rigid in thinking the operating model shouldn’t adapt to the new environment.
Appendix
Recommended Reading
These books in particular have helped guide me in my career as CTO.
-
An Elegant Puzzle
Will Larson
Engineering management as a set of systems: how team size, growth rate, and load interact, and what to adjust when an org stops working.
-
Extreme Ownership
Jocko Willink & Leif Babin
Combat leadership recast for teams: the leader owns every outcome, including the ones someone else caused.
-
Radical Candor
Kim Scott
Care personally, challenge directly. The mechanics of feedback that is both kind and useful, and the three ways it goes wrong.
-
Overcoming the Five Dysfunctions of a Team
Patrick Lencioni
The field guide rather than the fable: exercises for building trust, healthy conflict, commitment, accountability, and attention to results.
-
The Design of Everyday Things
Don Norman
Affordances, signifiers, and feedback. The vocabulary for why a product feels obvious or feels like a fight.
-
Shape Up
Ryan Singer
Basecamp’s alternative to sprints: six-week cycles, appetite instead of estimates, and work shaped before it is handed over.
-
The Phoenix Project
Gene Kim, Kevin Behr & George Spafford
A novel about flow, constraints, and unplanned work: Eliyahu Goldratt’s The Goal retold for technology, and the case for DevOps in a form you can hand to a skeptical peer.
-
Measure What Matters
John Doerr
The OKR system, its failure modes, and what it takes to make a goal actually move rather than decorate a slide.