Personal notes · May 2026

The Principal Software Engineer

I built this note to map what actually changes when you move from senior IC to staff/principal scope — technical depth, architectural judgment, leadership leverage, and how I think about AI-native engineering without chasing hype.

The question behind this note: where can one person change the trajectory of a whole org — and what skills make that leverage real, not just visible? What follows is the map I use.
System Design & Architecture Distributed Systems AI-Native Engineering Reliability & Security Technical Leadership ✍️ By Linh Truong

01What Defines a Principal Engineer

For me, the shift from senior to principal is not "more coding" — it is moving from building systems to multiplying the output of an entire organization through technical strategy, judgment, and influence.

Scope of Impact

A Senior owns a service. A Staff engineer owns a domain. A Principal owns an organization-wide technical direction — bets that play out over quarters and years.

Leverage over Labor

Value comes from force-multiplication: setting standards, unblocking teams, killing bad projects early, and making the expensive decisions cheap to reverse.

Ambiguity Tolerance

At this level you're handed problems, not tickets. The core skill is converting vague business pain into a crisp, sequenced technical plan others can execute.

How I define it

Someone the organization trusts to make the highest-stakes, least-reversible technical decisions correctly — and to make everyone around them more effective in the process.

10–100×
Leverage vs. individual output
Quarters→Years
Decision time horizon
Org-wide
Sphere of influence
~30%
Time still hands-on coding

02The Competency Framework

I think of staff/principal success as five interdependent pillars. Weakness in any one caps your effective ceiling — the radar below is the balanced profile I aim for.

Technical Depth Architecture Execution Leadership Strategy

1 · Technical Depth

Deep mastery of at least one domain (languages, runtimes, performance, data) — credible enough that experts defer to you.

2 · Architecture & Design

Designing systems that survive scale, change, and failure; making trade-offs explicit and reversible where possible.

3 · Technical Strategy

Aligning the technical roadmap with business outcomes; sequencing bets; knowing what not to build.

4 · Execution & Delivery

Shipping reliably under ambiguity; de-risking, breaking down, and driving large multi-team initiatives to done.

5 · Leadership & Influence

Multiplying others without authority: mentoring, writing, aligning stakeholders, and building consensus.

03The IC Career Ladder & Scope Progression

The IC track mirrors management in seniority but differs in currency: managers trade in people & process; staff/principal engineers trade in technical judgment & leverage. This is the ladder I use to calibrate scope.

L3 · Entry
Software Engineer
Owns well-defined tasks. Learns the codebase & tooling.
L4 · Mid
Engineer II
Owns features end-to-end. Reliable, low-supervision delivery.
L5 · Senior
Senior Engineer
Owns a service/component & mentors. Sets local standards.
L6 · Staff
Staff Engineer
Owns a domain across teams. Drives cross-team designs.
L7 · Principal
Principal Engineer
Owns org-wide direction. Bets that shape years of roadmap.
L8+ · Distinguished
Distinguished / Fellow
Company & industry-level technical influence.

The "Staff Archetypes" (Will Larson)

Most Principals operate as one or two of: Tech Lead (guides a team's execution), Architect (owns a critical area's direction), Solver (parachutes into hard problems), and Right Hand (extends a leader's reach). Know which you are.

The Promotion Reality

The title is rarely "earned by tenure." It is granted when the org has visible evidence you are already operating at that scope. The work precedes the title — I document and broadcast impact deliberately.

IC vs. Management

It is a lattice, not a ladder. The two tracks are peers in compensation and influence. Choose IC if your leverage comes from technical judgment, not from growing & running teams.

04The Technical Knowledge Stack

I aim to stay T-shaped: broad literacy across the stack with deep mastery in one or two layers. Below is the surface area I keep current.

Strategy & Product
Business alignmentBuild vs. buy Tech radarRoadmap sequencing Cost modeling (FinOps)Vendor strategy
Architecture
Domain-Driven DesignMicroservices vs. modular monolith Event-driven / CQRSAPI design (REST/gRPC/GraphQL) Caching strategyEvolutionary architectureC4 modeling
Distributed Systems
CAP / PACELCConsensus (Raft/Paxos) Consistency modelsIdempotency Sagas / 2PCBackpressureSharding & partitioning
Data
SQL & NoSQL trade-offsOLTP vs. OLAP / Lakehouse Streaming (Kafka/Flink)Schema evolution Vector DBs & embeddingsData governance
AI / ML Era
LLM app patterns (RAG)Agentic workflows Eval & guardrailsPrompt & context engineering MLOps / LLMOpsAI-assisted dev velocity
Platform & Cloud
Kubernetes & containersServerless / edge IaC (Terraform/Pulumi)Service mesh Multi-region / DRPlatform engineering & IDPs
Engineering Practice
Testing strategy (pyramid/trophy)CI/CD & trunk-based Code review cultureRefactoring & tech-debt mgmt DORA metricsDocumentation as code
Reliability & Security
SLO / SLI / error budgetsObservability (logs/metrics/traces) Incident managementThreat modeling Zero-trust & DevSecOpsSupply-chain security (SBOM)

05System Design & Architecture Strategy

Architecture, for me, is the art of deferring and minimizing the cost of decisions. The job is to keep expensive decisions reversible and cheap ones fast.

The Design Process (repeatable)

1

Clarify requirements

Functional + non-functional. Nail down scale, latency, consistency, and the real constraints.

2

Estimate the envelope

Back-of-envelope: QPS, storage, bandwidth, growth. Numbers drive design, not vibes.

3

Define the API & data model

Contracts first. The data model is the most expensive thing to change later.

4

High-level design

Components, data flow, the happy path. Then iterate.

5

Identify & resolve bottlenecks

Single points of failure, hot paths, scaling limits, failure modes.

Scaling toolbox

  • Vertical → Horizontal: scale up first (simple), then out (resilient).
  • Stateless services + load balancing for elastic compute.
  • Caching layers: CDN → app cache → DB cache. Cache invalidation is the hard part.
  • DB scaling: read replicas → sharding → partitioning.
  • Async & queues to decouple and absorb spikes.

Architectural styles — pick deliberately

  • Modular monolith: default for most teams; ship fast, split later.
  • Microservices: only when org/scale demands independent deploy & scaling.
  • Event-driven: for loose coupling & high throughput; costs you debuggability.
  • Serverless: spiky/unpredictable load, minimal ops.

Conway's Law is non-negotiable

Systems mirror the communication structure of the organizations that build them. If you want a different architecture, you often have to change the org chart first. I design both.

Architectural principles I enforce

Loose coupling, high cohesion

Modules change independently; related logic stays together.

Design for failure

Everything fails. Build retries, timeouts, circuit breakers, bulkheads.

Make trade-offs explicit

Every "yes" is a "no" elsewhere. Write the ADR.

YAGNI & simplicity

Don't pre-build for imagined scale. Simplicity is a feature.

06Distributed Systems Fundamentals

The hard truths of building software across unreliable networks. These laws don't bend — designing against them is what separates serious architects from "we'll fix it in prod."

The Fallacies of Distributed Computing

Every distributed failure traces back to wrongly assuming one of these is true:

  • The network is reliable
  • Latency is zero & bandwidth is infinite
  • The network is secure
  • Topology doesn't change
  • There is one administrator
  • Transport cost is zero & the network is homogeneous

CAP & PACELC — what to actually remember

CAP: during a network partition, you choose Consistency or Availability — never both. PACELC extends it: else (no partition), you still trade Latency vs. Consistency. Modern systems are tunable per-operation, not globally. The skill is choosing consistency per use case (a bank balance ≠ a like count).

Core mechanisms to master

Consensus

Raft & Paxos for agreement under failure. Used by etcd, ZooKeeper, Spanner. Know why quorum & leader election matter.

Idempotency & exactly-once

"At-least-once + idempotent = effectively exactly-once." Idempotency keys are the practical answer.

Distributed transactions

Prefer Sagas (compensating actions) over 2PC. Embrace eventual consistency with outbox pattern.

Time & ordering

Clocks lie. Use logical clocks (Lamport), vector clocks, or hybrid logical clocks for ordering.

Backpressure & flow control

Protect downstreams: rate limiting, load shedding, queues with bounded depth.

Replication & partitioning

Leader/follower, multi-leader, leaderless. Consistent hashing for partition assignment.

Heuristic I use

"The best distributed system is the one you didn't build." Reach for a single-node design, a managed database, or a modular monolith first. Distribute only when a real constraint (scale, isolation, regulatory, org boundary) forces it — every network hop you add is a new failure mode you now own.

07Engineering in the AI-Native Era (2026)

The biggest shift in the role this decade, in my view. You need AI as a building block, as a productivity tool, and as a new class of system to operate safely.

AI as a Building Block

  • RAG (retrieval-augmented generation) as the default grounding pattern
  • Agentic systems: tool-use, planning, multi-step orchestration
  • Vector search & embeddings in the data layer
  • Context & prompt engineering as a real discipline
  • Model routing & cost/latency/quality trade-offs

AI as a Productivity Tool

  • Coding agents (e.g. Claude Code) for implementation leverage
  • Shift from writing code → reviewing & directing code
  • Spec-driven & test-driven prompting
  • Guarding against "AI slop" & verification debt
  • Raising the bar on review, since volume goes up

AI as a System to Operate

  • Evals & offline/online quality measurement
  • Guardrails: input/output validation, jailbreak defense
  • Non-determinism & hallucination handling
  • Prompt-injection & data-exfiltration threat models
  • LLMOps: versioning, observability, drift, cost ceilings

How I think about the AI mandate

My job is not to chase hype — it's to set AI engineering standards: when to use a model vs. deterministic code, how to evaluate quality, where the guardrails live, and how to keep humans accountable for AI-generated output. Velocity without verification is just faster bugs.

RAG / Agentic reference architecture

User / App query Agent / Orchestrator plan · route · loop Retriever vector + keyword Vector DB embeddings / KB Tools / APIs functions · MCP LLM generate + reason Guardrails eval · validate · log

Grounding (retrieval) + action (tools) + generation (LLM) + verification (guardrails & evals) — the four organs of every production AI feature.

08Reliability, Observability & Operations

At this scope you often own production health for systems you didn't write. Reliability is engineered, measured, and budgeted — not hoped for.

The SLO framework

  • SLI — what you measure (latency, error rate, availability)
  • SLO — the target (e.g. 99.9% of requests < 300ms)
  • SLA — the contractual promise (with penalties)
  • Error budget — the allowed unreliability; spend it on velocity. When it's empty, you stop shipping features and fix reliability.

The three (now four) pillars of observability

  • Metrics — aggregate numeric trends (RED / USE method)
  • Logs — structured, queryable event records
  • Traces — request flow across services (OpenTelemetry)
  • Profiles — continuous CPU/memory attribution (the 4th pillar)

DORA metrics — the language of delivery performance

Lead Time
Commit → production
Deploy Freq
How often you ship
CFR
Change failure rate
MTTR
Time to restore

Resilience patterns

Timeouts, retries (with jitter), circuit breakers, bulkheads, graceful degradation, feature flags for kill-switches.

Incident management

Clear on-call, severity levels, incident commander role, and blameless postmortems that fix systems not people.

Chaos & readiness

Game days, chaos engineering, load testing, and DR drills. You don't have a backup until you've restored from it.

09Security & Trust by Design

Security is not a gate at the end — it is a property designed in from the first diagram. I try to make the secure path the easy path.

Threat modeling

STRIDE on every major design. Identify assets, attackers, and trust boundaries early.

Zero trust

Never trust, always verify. Authn/authz on every hop; least privilege by default.

DevSecOps

Shift-left: SAST/DAST, dependency & secret scanning in CI. Security as code.

Supply chain

SBOMs, signed artifacts (SLSA), pinned deps. The dependency tree is your attack surface.

Always know the OWASP Top 10

Broken access control, injection, cryptographic failures, SSRF, insecure design, security misconfiguration, vulnerable components, identification/auth failures, software/data integrity failures, logging failures. Plus the new OWASP Top 10 for LLM Applications (prompt injection, insecure output handling, training-data poisoning, sensitive-info disclosure).

Data protection fundamentals

  • Encrypt in transit (TLS) and at rest
  • Secrets in a vault, never in code or env files in repos
  • PII minimization, classification & retention policy
  • Compliance literacy: GDPR, SOC 2, HIPAA, PCI-DSS as applicable

10Decision-Making Frameworks

My core deliverable at this level is good decisions, made at the right time, documented well. Frameworks turn judgment into something teachable and repeatable.

One-way vs. two-way doors (Bezos)

Reversible decisions (two-way doors) should be made fast and delegated. Irreversible ones (one-way doors) deserve deliberation. I spend judgment on one-way doors and refuse to bottleneck two-way ones. Most decisions are more reversible than they feel.

Architecture Decision Records (ADRs)

Capture context, decision, alternatives, and consequences in a short versioned doc. ADRs are the institutional memory that prevents re-litigating settled questions and explains "why is it like this?" to future engineers (and your future self).

Build vs. Buy vs. Adopt — a decision lens

DimensionLean BUILD when…Lean BUY / Adopt when…
DifferentiationIt's core to your competitive advantageIt's undifferentiated heavy-lifting
MaturityNo good solution exists / unique needsMature, well-supported options exist
TCOLong-term cost of ownership is lowerVendor amortizes cost across customers
Time-to-valueYou can afford the build timelineYou need it now
TalentYou have & can retain the expertiseExpertise is scarce or expensive

Disagree & commit

Once a decision is made — even one I argued against — I commit fully and visibly. Re-litigating decisions in the hallway erodes velocity and trust.

Cost of delay

Quantify what waiting costs. Often the most expensive decision is the one not yet made.

Reversibility first

Design choices so they can be undone cheaply. Optionality is worth paying for.

Second-order thinking

"And then what?" Trace consequences two or three moves out before committing.

11Technical Leadership & Influence

The bottleneck is rarely my code — it's aligning, persuading, and multiplying people I don't manage. Influence without authority is the defining skill.

Writing is the superpower

Design docs, RFCs, strategy memos, and ADRs scale your thinking across time zones and org levels. A clear written argument is the highest-leverage artifact I produce. If I can't write it down clearly, I don't understand it yet.

Multiply, don't hoard

Mentor, sponsor, and unblock. Give away the interesting work. Your impact is measured by what the engineers around you accomplish, not what you personally shipped.

Build technical alignment

Run design reviews, set the tech radar, drive consensus on standards. Create the conditions where many teams make consistent decisions without you in the room.

Communicate up & sideways

Translate technical reality into business risk & opportunity for executives, and business goals into engineering plans for teams. You are the bridge.

Pick the right battles

You have finite political capital. Spend it on the decisions that matter for years; let the rest go. Knowing what to ignore is a senior skill.

Stay technical & credible

Keep your hands dirty enough to earn respect: read code, prototype the risky part, debug the gnarly outage. Credibility is the currency of influence.

The leadership inversion

As a senior, you're rewarded for being the smartest person solving the problem. At staff/principal scope, you're rewarded for making yourself unnecessary to the problem — for building the systems, standards, and people that solve it without you.

12Engineering Maturity Model

A diagnostic ladder I use to assess — and level up — an organization's engineering practice. It helps me spot the highest-leverage investment.

Capability L1 · Reactive L2 · Managed L3 · Defined L4 · Optimizing
DeliveryManual, infrequent, risky releasesScheduled releases, some automationCI/CD, trunk-based, on-demand deployContinuous deploy, progressive delivery
QualityManual QA, bugs found in prodSome automated testsTest pyramid, quality gates in CIShift-left, prod testing, self-healing
ReliabilityFirefighting, no SLOsMonitoring & alerts existSLOs, error budgets, on-call rotationChaos eng, predictive, auto-remediation
SecurityBolted on, audit-drivenPeriodic scansDevSecOps in pipelineContinuous, threat-modeled, zero-trust
ArchitectureAccidental, big-ball-of-mudDocumented, some patternsIntentional, ADRs, fitness functionsEvolutionary, self-documenting
AI adoptionAd-hoc, ungoverned tool useApproved tools, basic guidelinesEval'd patterns, guardrails, standardsAI-native workflows, measured leverage

Don't try to be L4 everywhere at once. Diagnose the bottleneck capability, move it one level, then re-assess.

13Principal Anti-Patterns & Their Antidotes

Failure modes I've seen stall people at this level. Most get tripped by the left column.

✗ Anti-patterns

  • The hero / bottleneck: insists on doing the hard parts personally; team can't function without them.
  • Ivory-tower architect: draws diagrams, never ships, loses touch with the code.
  • Resume-driven design: picks tech for novelty, not fit.
  • Premature abstraction: builds for imagined future scale; over-engineers.
  • Bikeshedding: burns capital on trivial decisions, ignores the big ones.
  • Silent disagreement: withholds concerns, then says "I told you so."
  • Hoarding context: keeps critical knowledge in their head.

✓ Antidotes

  • Delegate the interesting work; grow others to do the hard parts.
  • Stay hands-on selectively: prototype the risky 10%, ship real code.
  • Boring technology by default; innovate only where it differentiates.
  • YAGNI & reversibility: solve today's problem with optionality intact.
  • Spend judgment on one-way doors; delegate the two-way doors.
  • Disagree loudly, then commit fully once decided.
  • Write everything down; make yourself replaceable.

14The 90-Day & Ongoing Strategy

The operating cadence I use when entering a new scope — and how I sustain impact once I'm there.

Days 0–30 · Listen & map

  • Read the code, the docs, and the incident history
  • Meet every team & stakeholder; map the org & its pain
  • Identify the 2–3 problems that actually matter
  • Earn credibility with a small, real contribution

Days 30–60 · Diagnose & align

  • Write a "state of the architecture" memo
  • Propose a prioritized technical strategy
  • Build coalitions; pressure-test with skeptics
  • Pick one high-leverage initiative to drive

Days 60–90 · Drive & multiply

  • Ship a visible win on the chosen initiative
  • Establish standards / forums that outlast you
  • Start mentoring & sponsoring deliberately
  • Set up the metrics that prove ongoing impact

Sustaining impact: the continuous loop

Sense problems Frame & prioritize Decide & document Drive & delegate Reflect & teach

Continuous learning curriculum

Foundational books

DDIA (Kleppmann), The Staff Engineer's Path (Reilly), Staff Engineer (Larson), A Philosophy of Software Design (Ousterhout). Annotated citations: §15 References.

Practice

System design reps, reading post-mortems, contributing to OSS, building & operating real AI features.

Stay current

Engineering blogs, the tech radar, papers (e.g. arXiv for AI), conference talks. Filter hype from signal.

Meta-skills

Writing, public speaking, negotiation, mentoring, and managing your own energy & focus.

15References & Sources

Annotated bibliography behind the principal-engineer overview, competency framework, career ladder, technical pillars, system design, distributed systems, AI-native engineering, reliability, security, decision frameworks, leadership, maturity model, anti-patterns, and 90-day roadmap. Section tags (e.g. §05) show where each source is used. Radar chart, ladder diagram, RAG architecture SVG, and synthesis tables are my own unless noted.

Scope. Synthesis of books, industry frameworks, peer-reviewed papers, and engineering-culture writing (May 2026). Level titles (L3–L8) vary by company — Google, Amazon, Microsoft, and startups use different rubrics. Career and promotion content is directional, not HR policy. Verify DOIs and edition details before academic citation.

Citations are numbered continuously [1]–[n] within this section.

Principal / staff role, scope & leverage (§01, §11)

  1. Larson, W., Staff Engineer: Leadership Beyond the Management Track. Independent, 2021. Staff+ scope, archetypes, and influence without authority — §01 overview cards and §03 Staff Archetypes callout. staffeng.com — §01, §03, §11, §14.
  2. Reilly, T., The Staff Engineer's Path: A Guide for Individual Contributors Navigating Growth and Change. O'Reilly, 2022. IC career progression and operating at staff scope — §01 leverage framing and §14 roadmap. — §01, §03, §14.
  3. Richards, M., & Ford, N., Fundamentals of Software Architecture: An Engineering Approach. O'Reilly, 2020. Architect role, trade-offs, and organizational impact — §01 definition callout and §02 framework. — §01, §02, §05.
  4. Brooks, F. P., The Mythical Man-Month (anniv. ed.). Addison-Wesley, 1995. Essential complexity and communication overhead — background for §01 force-multiplication theme. — §01.
  5. Forsgren, N., Humble, J., & Kim, G., Accelerate: The Science of Lean Software and DevOps. IT Revolution, 2018. High-performing teams and technical leadership outcomes — §01 org-wide influence and §08 DORA metrics. — §01, §08, §12, §14.

Competency framework & T-shaped depth (§02, §04)

  1. Bass, L., Clements, P., & Kazman, R., Software Architecture in Practice (4th ed.). Addison-Wesley, 2021. Quality attributes and architect competencies — §02 five-pillar radar dimensions. — §02, §05.
  2. Emerson, T., "The T-Shaped Person." IDEO / design-thinking literature, 1990s+. Broad literacy + deep specialty — §04 T-shaped lead. Widely cited in engineering hiring rubrics — §04.
  3. Kleppmann, M., Designing Data-Intensive Applications. O'Reilly, 2017. Data, distributed systems, and storage literacy — §04 technical pillars stack. — §04, §05, §06, §14.
  4. Ousterhout, J., A Philosophy of Software Design (2nd ed.). Yaknyam Press, 2021. Deep modules, complexity management — §14 continuous-learning curriculum and §04 depth pillar. — §02, §04, §14.

Career ladder, IC track & team topology (§03)

  1. Larson, W., "Staff archetypes: Tech Lead, Architect, Solver, Right Hand." Staff Engineer, ch. 2–3. Four operating modes — §03 Staff Archetypes card. — §03.
  2. Google Engineering Practices documentation. Leveling rubrics (industry reference; not public in full). L3–L8 scope progression — §03 ladder diagram (synthesized from common big-tech IC ladders). — §03.
  3. Skelton, M., & Pais, M., Team Topologies. IT Revolution, 2019. Stream-aligned teams and Conway's Law in practice — §03 IC vs. management lattice and §05 Conway callout. — §03, §05.
  4. Conway, M. E., "How Do Committees Invent?" Datamation, 1968. Org–architecture coupling — §05 Conway's Law callout. melconway.com — §03, §05.

System design process & architecture strategy (§05)

  1. Richards, M., & Ford, N., Software Architecture: The Hard Parts. O'Reilly, 2021. Trade-off analysis and distributed architecture decisions — §05 design process and style choices. — §05, §06.
  2. Newman, S., Building Microservices (2nd ed.). O'Reilly, 2021. Monolith vs. microservices vs. event-driven — §05 architectural styles card. — §05.
  3. Beck, K., et al., Extreme Programming Explained (2nd ed.). Addison-Wesley, 2004. YAGNI and simplicity — §05 YAGNI principle card. — §05.
  4. Nygard, M. T., Release It! (2nd ed.). Pragmatic Bookshelf, 2018. Timeouts, circuit breakers, bulkheads — §05 "design for failure" card. — §05, §08.
  5. Dean, J., & Barroso, L. A., "The Tail at Scale." Communications of the ACM, 56(2), 74–80, 2013. Latency at scale — §05 estimate-the-envelope step. DOI: 10.1145/2408776.2408794 — §05.
  6. Nygard, M., "Documenting Architecture Decisions." Cognitect, 2011. ADR format — §05 "write the ADR" principle. cognitect.com — §05, §10.

Distributed systems fundamentals (§06)

  1. Deutsch, P., et al., "Eight Fallacies of Distributed Computing." Sun Microsystems, 1990s. Network unreliability assumptions — §06 fallacies list. — §06.
  2. Brewer, E. A., "CAP Twelve Years Later." IEEE Computer, 45(2), 23–29, 2012. CAP theorem — §06 CAP/PACELC card. DOI: 10.1109/MC.2012.37 — §06.
  3. Abadi, D., "Consistency Tradeoffs in Modern Distributed Database System Design." IEEE Computer, 45(2), 37–42, 2012. PACELC — §06 CAP/PACELC card. DOI: 10.1109/MC.2012.39 — §06.
  4. Lamport, L., "Time, Clocks, and the Ordering of Events in a Distributed System." Communications of the ACM, 21(7), 558–565, 1978. Logical clocks — §06 time & ordering card. DOI: 10.1145/359545.359563 — §06.
  5. Ongaro, D., & Ousterhout, J., "In Search of an Understandable Consensus Algorithm (Raft)." USENIX ATC, 2014. Consensus — §06 consensus card. raft.github.io — §06.
  6. Richardson, C., "Pattern: Saga." microservices.io. Distributed transactions via compensating actions — §06 sagas card. microservices.io — §06.
  7. Richardson, C., "Pattern: Transactional Outbox." microservices.io. Outbox for eventual consistency — §06 outbox mention. — §06.

AI-native engineering, RAG & LLMOps (§07)

  1. Lewis, P. et al., "Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks." NeurIPS, 2020. RAG grounding pattern — §07 AI as building block and RAG diagram. arxiv.org/abs/2005.11401 — §07.
  2. Sculley, D., et al., "Hidden Technical Debt in Machine Learning Systems." NeurIPS, 2015. ML/LLM system complexity — §07 AI as system to operate. — §07, §12.
  3. OWASP Foundation, Top 10 for Large Language Model Applications. Prompt injection, insecure output handling — §07 guardrails list and §09 OWASP LLM mention. owasp.org — §07, §09.
  4. Google, Machine Learning Engineering / TFX documentation. Model versioning, evals, serving — §07 LLMOps bullet. tensorflow.org/tfx — §07.
  5. Anthropic / OpenAI / industry practice on agentic tool use. Orchestration, MCP, function calling — §07 agentic systems and RAG architecture SVG (patterns evolving rapidly). — §07.

Reliability, SRE, observability & DORA (§08, §12)

  1. Google SRE Team, Site Reliability Engineering. O'Reilly, 2016. SLI/SLO/error budgets — §08 SLO framework card. sre.google — §08, §12.
  2. Google SRE Team, The Site Reliability Workbook. O'Reilly, 2018. Alerting on SLOs, incident response — §08 incident management. — §08.
  3. DORA / Google Cloud, State of DevOps Reports & four keys. Lead time, deploy frequency, CFR, MTTR — §08 DORA metrics row. dora.dev — §08, §12.
  4. Charity Majors, Liz Fong-Jones, & George Miranda, Observability Engineering. O'Reilly, 2022. Metrics, logs, traces, profiles — §08 observability pillars. — §08.
  5. OpenTelemetry project documentation. Vendor-neutral instrumentation — §08 OpenTelemetry bullet. opentelemetry.io — §08.
  6. Beyer, B., et al., Site Reliability Engineering (Chaos Engineering chapter). Controlled failure injection — §08 chaos & readiness card. — §08, §12.
  7. Allspaw, J., "Blameless PostMortems and a Just Culture." Etsy / Code as Craft, 2012. Blameless postmortems — §08 incident management. — §08.

Security, zero trust & supply chain (§09)

  1. NIST, Zero Trust Architecture, SP 800-207. 2020. Never trust, always verify — §09 zero trust card. csrc.nist.gov — §09.
  2. Microsoft, "The STRIDE Threat Model." Spoofing, tampering, repudiation, information disclosure, DoS, elevation of privilege — §09 threat modeling. learn.microsoft.com — §09.
  3. OWASP Foundation, OWASP Top Ten. Web application risks — §09 OWASP Top 10 card. owasp.org — §09.
  4. CNCF / OpenSSF, SLSA framework. Artifact signing and provenance — §09 supply chain / SBOM card. slsa.dev — §09.
  5. GDPR (Regulation EU 2016/679); AICPA SOC 2; HIPAA; PCI DSS. Compliance frameworks referenced — §09 data protection fundamentals (jurisdiction-specific). — §09.

Decision-making, ADRs & build vs. buy (§10)

  1. Bezos, J. (Amazon leadership principles), "Type 1 vs. Type 2 decisions." One-way vs. two-way doors — §10 Bezos card. See also All Things Distributed / Amazon shareholder letters — §10.
  2. Thomson, J., "ADR: Architecture Decision Records." adr.github.io — §10 ADR card. — §10.
  3. Amazon leadership principle, "Disagree and commit." Decision closure after dissent — §10 disagree & commit callout. — §10, §11.
  4. McGrath, R., "Discovery-Driven Planning." Harvard Business Review, 1995. Reversibility and option value — §10 reversibility-first card. — §10.
  5. Shane Parrish / Farnam Street, second-order thinking. Consequence chains — §10 second-order thinking card (mental-model synthesis). — §10.

Technical leadership, writing & influence (§11, §13)

  1. Larson, W., Staff Engineer. Writing design docs, driving alignment — §11 writing superpower card. — §11.
  2. Reilly, T., The Staff Engineer's Path. Sponsorship, mentorship, navigating orgs — §11 multiply card and §14 mentoring bullets. — §11, §14.
  3. Winning by Writing (industry practice). RFC/design-doc culture at Google, Amazon, etc. — §11 design reviews and §10 ADRs. See also Software Engineering at Google (Winters et al., O'Reilly, 2020) — §11.
  4. Winters, T., Manshreck, T., & Wright, H., Software Engineering at Google. O'Reilly, 2020. Code review, readability, tech leadership — §11 stay technical & credible card. — §11.
  5. Fowler, M., "Who Needs an Architect?" IEEE Software, 2003. Ivory-tower vs. engaged architect — §13 ivory-tower anti-pattern antidote context. — §13.

Engineering maturity & evolutionary architecture (§12)

  1. CMMI Institute, Capability Maturity Model Integration. Staged maturity levels (adapted in §12 matrix). My L1–L4 table is a synthesis, not a CMMI certification mapping. — §12.
  2. Ford, N., Parsons, R., & Kua, P., Building Evolutionary Architectures (2nd ed.). O'Reilly, 2022. Fitness functions — §12 architecture L3–L4 rows. — §12.
  3. Humble, J., & Farley, D., Continuous Delivery. Addison-Wesley, 2010. CI/CD maturity — §12 delivery rows. — §12.
  4. ThoughtWorks Technology Radar. Tech adoption lifecycle — §14 stay-current card. thoughtworks.com/radar — §14.

Anti-patterns & 90-day operating cadence (§13, §14)

  1. Brooks, F. P., The Mythical Man-Month. Hero-programmer bottleneck — §13 hero/bottleneck anti-pattern. — §13.
  2. Fowler, M., "Resume Driven Development." bliki, 2015. Novelty over fit — §13 resume-driven design. martinfowler.com — §13.
  3. Knuth, D. E., "Structured Programming with go to Statements." ACM Computing Surveys, 6(4), 261–301, 1974. Premature optimization — §13 premature abstraction context. DOI: 10.1145/356635.356855 — §13.
  4. McKeen, J. D., & Smith, H. A., "Making IT Happen: Critical Issues of IT Management." Wiley, 2003. Bikeshedding (Parkinson's Law of Triviality applied to meetings) — §13 bikeshedding anti-pattern. — §13.
  5. Larson, W., & Reilly, T. (synthesis). First-90-days listen–diagnose–drive pattern for staff+ roles — §14 90-day cards (industry practice synthesis). — §14.

Foundational canon cited in §14 curriculum

  1. Kleppmann, M., Designing Data-Intensive Applications. O'Reilly, 2017. — §14 foundational books. — §14 (+ §04–§06).
  2. Reilly, T., The Staff Engineer's Path. O'Reilly, 2022. — §14 list. — §14.
  3. Larson, W., Staff Engineer. 2021. — §14 list. — §14.
  4. Ousterhout, J., A Philosophy of Software Design. 2021. — §14 list. — §14.

Author synthesis

  1. Truong, L., The Principal Software Engineer — personal working notes. May 2026. Competency radar, career ladder, technical stack map, RAG diagram, maturity matrix, anti-pattern grid, and synthesis prose. LinhTruong.com — all sections.

Before you cite externally

IC level numbers (L3–L8) are illustrative — always map to your employer's rubric. DORA metrics describe population studies, not guarantees. AI tooling and LLM best practices change monthly — verify against current vendor docs and OWASP guidance. Maturity model rows are my synthesis, not a formal CMMI assessment. Not HR, compensation, or promotion advice.