Engineering Career Growth — From Junior to Staff+
Your career is not a ladder. It is a series of increasingly complex problems you learn to solve — for yourself, your team, and your organization. This guide breaks down what actually matters at each stage and how to move through them with intention.Real-World Career Stories
Before we get into frameworks and checklists, here are four real stories that illustrate what career growth actually looks like in practice. None of these follow a neat, linear path — and that is the point.Kelsey Hightower — From Sysadmin to Principal Engineer at Google (No CS Degree)
Kelsey Hightower — From Sysadmin to Principal Engineer at Google (No CS Degree)
Dan Abramov — From Junior Developer to React Core Team Through Open Source
Dan Abramov — From Junior Developer to React Core Team Through Open Source
Tanya Reilly — 'Being Glue' and the Problem of Invisible Work
Tanya Reilly — 'Being Glue' and the Problem of Invisible Work
Charity Majors — IC to CTO to IC and Back Again
Charity Majors — IC to CTO to IC and Back Again
1. Engineering Levels Demystified
The Level Map
| Dimension | Junior (L1-L2) | Mid (L3) | Senior (L4) | Staff (L5) | Principal (L6+) |
|---|---|---|---|---|---|
| Scope | Single task / function | Feature / small project | Entire system / service | Multiple systems / cross-team | Org-wide / company-wide |
| Autonomy | Needs guidance on approach | Needs guidance on direction | Self-directed, sets direction for others | Defines technical direction for a domain | Shapes company technical strategy |
| Influence | Own code | Team codebase | Team + adjacent teams | Engineering org | Entire company |
| Technical Depth | Learns patterns | Applies patterns correctly | Chooses and adapts patterns | Creates patterns others follow | Defines industry-level patterns |
| Ambiguity | Well-defined tasks | Loosely defined features | Ambiguous problems | Undefined problem spaces | ”We don’t even know the question yet” |
| Failure Impact | Bug in a function | Broken feature | Service outage | Cross-team architectural debt | Company-wide strategic misalignment |
The Key Transitions
Junior to Mid: Writing Good Code Consistently
Junior to Mid: Writing Good Code Consistently
- You break down tasks yourself before starting
- Your PRs rarely need architectural-level feedback anymore
- You handle edge cases proactively, not after code review comments
- You write tests without being asked
- You can debug production issues in your area without hand-holding
- Waiting for perfect specifications instead of clarifying ambiguity yourself
- Not reading enough production code written by senior engineers
- Avoiding unfamiliar parts of the codebase
Mid to Senior: Owning Systems End-to-End
Mid to Senior: Owning Systems End-to-End
- You write the design doc before you write the code
- You push back on requirements when they don’t make technical sense
- You proactively identify and address tech debt, not just complain about it
- Other engineers come to you with questions about your domain
- You can estimate work for your team, not just yourself
- You think about failure modes during design, not after the first outage
- Optimizing for code elegance over system reliability
- Not developing opinions about architecture (always deferring to others)
- Avoiding cross-functional conversations with PMs, designers, and stakeholders
Senior to Staff: Cross-Team Impact
Senior to Staff: Cross-Team Impact
- You have authored RFCs or design docs that were adopted across multiple teams
- You are pulled into architectural decisions outside your team
- You mentor senior engineers, not just juniors
- You identify systemic problems (tooling, patterns, processes) and fix them at the org level
- Leadership asks for your input on technical strategy
- You can articulate trade-offs to non-technical stakeholders
- Staying heads-down in code and never building organizational influence
- Not writing — design docs, RFCs, blog posts, postmortems
- Inability to communicate technical decisions to non-engineers
- Not building relationships outside your immediate team
Staff to Principal: Org-Wide Strategy
Staff to Principal: Org-Wide Strategy
- You define multi-year technical roadmaps that align with business goals
- Your decisions affect hundreds of engineers
- You identify existential technical risks before they become crises
- You shape hiring, team structure, and engineering culture
- Industry peers look to your work as a reference point
- You can translate between CTO-level strategy and individual team execution
- Thinking “principal” means “the best coder” — it means the best technical decision-maker
- Not understanding the business deeply enough
- Inability to influence without authority
- Not developing a point of view on where the industry is heading
Anti-Patterns at Every Level
The 'Senior by Tenure' Engineer
The 'Senior by Tenure' Engineer
The 'Architect' Who Doesn't Code
The 'Architect' Who Doesn't Code
The 'Lone Wolf' 10x Engineer
The 'Lone Wolf' 10x Engineer
2. What Makes a Senior Engineer
Being senior is not about knowing every framework or having all the answers. It is about a mindset shift — from “I write code” to “I solve problems and enable others.”The Six Pillars of Senior Engineering
Pillar 1: Technical Excellence — Code Others Can Maintain
Pillar 1: Technical Excellence — Code Others Can Maintain
- Functions do one thing and have descriptive names
- Error handling is explicit, not an afterthought
- Complex logic has comments explaining why, not what
- Tests document expected behavior, including edge cases
- You follow established patterns in the codebase (consistency over personal preference)
Pillar 2: Ownership Mentality — 'This Is My Problem'
Pillar 2: Ownership Mentality — 'This Is My Problem'
- You monitor your services proactively, not just when paged
- You write runbooks for on-call scenarios before they happen
- When you find a bug in another team’s service that affects yours, you fix it or file a detailed issue with a proposed solution — not just “it’s broken”
- You own the outcome of a project, not just your individual tasks
- You follow up after deployment to verify the feature works as expected in production
Pillar 3: Multiplier Effect — Making the Team Better
Pillar 3: Multiplier Effect — Making the Team Better
- Your code reviews teach, not just gatekeep — you explain why something should change
- You create shared utilities, templates, and tooling that the whole team uses
- You document tribal knowledge so it is not locked in your head
- You pair with struggling teammates instead of just solving it yourself
- You create a “paved road” for common patterns so others don’t reinvent the wheel
Pillar 4: Technical Judgment — Knowing When NOT to Build
Pillar 4: Technical Judgment — Knowing When NOT to Build
- You push back on features that add complexity without proportional value
- You choose boring technology for critical systems
- You can articulate: “We should use a third-party service for this because building it ourselves would take 3 months and maintaining it would take 0.5 FTE forever”
- You avoid premature optimization AND premature abstraction
- You know when a quick hack is the right call and when it is technical debt
- What is the simplest thing that could work?
- What are the maintenance costs over 2 years?
- Who else will need to understand this?
- What happens when this fails at 10x scale?
- Is this reversible? If not, how much certainty do we need?
Pillar 5: Operational Awareness — Production Thinking
Pillar 5: Operational Awareness — Production Thinking
- Every feature you build has metrics and alerts before it ships
- You think about: What does graceful degradation look like?
- You design for zero-downtime deployments (feature flags, blue-green, canary)
- Your error messages are actionable, not just “something went wrong”
- You write postmortems that actually prevent recurrence, not just document the outage
- Can I roll this back in under 5 minutes?
- Do I have dashboards that will show me if this is broken?
- What happens to users if this feature fails?
- Have I tested this with production-like data volume?
- Is there a runbook for when this goes wrong at 3 AM?
Pillar 6: Communication — The Underrated Superpower
Pillar 6: Communication — The Underrated Superpower
- Your design docs have a clear problem statement, proposed solution, alternatives considered, and trade-offs
- You can run a productive technical discussion without it becoming a debate
- Your postmortems are blameless and focused on systemic improvements
- You give feedback that is specific, actionable, and kind
- You document decisions and their rationale so future engineers understand why
The Senior Engineer Task Checklist
Correctness
Performance
Security
Observability
Maintainability
3. The Staff+ Engineer Path
IC Track vs. Management Track
Why Two Tracks Exist
Why Two Tracks Exist
| Dimension | IC Track (Staff+) | Management Track (EM+) |
|---|---|---|
| Primary lever | Technical decisions, architecture, code | People, process, organizational design |
| Day-to-day | Design docs, code, technical mentoring, cross-team alignment | 1:1s, hiring, performance reviews, roadmap planning |
| Measured by | Technical impact on systems and engineering quality | Team output, retention, growth, delivery |
| Failure mode | Ivory tower architect | Meeting-only manager disconnected from tech |
| Reversibility | Easier to move to management | Harder to return to IC (skills atrophy) |
Staff Engineer Archetypes (Will Larson's Model)
Staff Engineer Archetypes (Will Larson's Model)
- Partners with a single team’s manager to set technical direction
- Drives execution on the team’s most important projects
- Day-to-day: code reviews, design docs, unblocking engineers, sprint planning
- Risk: becomes a bottleneck if they don’t delegate effectively
- Responsible for technical direction of a broad area (e.g., “frontend architecture” or “data platform”)
- Depth of knowledge in their domain, breadth of influence across teams
- Day-to-day: RFCs, reviewing designs from multiple teams, defining standards
- Risk: becomes disconnected from implementation reality
- Parachutes into the hardest technical problems across the org
- Moves from team to team as needed
- Day-to-day: deep technical work on the most ambiguous, high-stakes problems
- Risk: never builds lasting relationships or institutional knowledge
- Extends a senior leader (VP, CTO) by taking on their hardest problems
- Operates with borrowed authority
- Day-to-day: organizational strategy, cross-cutting initiatives, special projects
- Risk: impact is invisible and hard to attribute
How to Demonstrate Staff-Level Impact
How to Demonstrate Staff-Level Impact
- Write design docs that change how your org builds software
- An RFC adopted by 3+ teams is stronger signal than any amount of code
- Focus on: problem framing, trade-off analysis, alternatives considered
- Your RFCs should teach, not just propose
- Identify problems that affect multiple teams but nobody owns
- Examples: shared authentication, observability standards, CI/CD improvements, API design guidelines
- Lead the initiative without formal authority — this IS the staff skill
- Write the “state of the world” for your technical domain
- Include: where we are, where we need to be, how we get there, what we stop doing
- Present to engineering leadership and get buy-in
- Help senior engineers make the jump to staff
- This is a multiplier on a multiplier
- Share your frameworks for decision-making, not just your technical knowledge
The 'Glue Work' Problem
The 'Glue Work' Problem
Make it visible
Get it recognized
Distribute it
Balance it
Writing a Brag Document / Impact Log
Writing a Brag Document / Impact Log
Think of a brag document like a highlight reel. You don’t remember every shot you took, but you SHOULD remember the ones that mattered. Without a highlight reel, your entire season of work gets compressed into whatever your manager vaguely recalls from the last two weeks before review time. That is not a system for getting recognized — that is a lottery.Template:
- Update it every Friday. Set a calendar reminder. If you wait until review time, you will forget 80% of your impact.
- Quantify everything. “Improved performance” means nothing. “Reduced p99 latency from 800ms to 200ms, saving an estimated $50K/year in compute” means everything.
- Include the work that was hard to do, even if it was invisible. This is your evidence.
- Share it with your manager before review season. Don’t make them guess your impact.
4. Building Your Technical Portfolio
Side Projects That Actually Matter
Projects That Impress vs. Projects That Don't
Projects That Impress vs. Projects That Don't
- Tools that solve a real problem you personally had
- Projects with actual users (even 10 users is meaningful)
- Contributions to infrastructure, developer tooling, or open source
- Projects that demonstrate systems thinking, not just UI building
- Well-documented projects with clear READMEs, architecture docs, and deployment instructions
- A collection of tutorial follow-alongs (“I built a todo app in 15 frameworks”)
- Repos with no README, no tests, and no documentation
- Projects started but never finished (demonstrates nothing)
- Copy-paste from a YouTube course with no original modifications
Open Source Contributions: How to Start
Open Source Contributions: How to Start
Start with documentation
Tackle 'good first issue' labels
Fix a bug you encountered
Build tooling or plugins
Technical Writing as Career Fuel
Technical Writing as Career Fuel
- Blog posts that teach — Explain something you learned. The bar is not “original research.” The bar is “clearly explaining something that others struggle with.”
- Internal documentation — The engineer who writes the best internal docs is often the most valued on the team. Architecture decision records (ADRs), runbooks, onboarding guides.
- Conference talks — Start with lightning talks (5 min) at local meetups. Work up to full talks. You do NOT need to be a world expert. You need to explain one thing well.
- Postmortems — A well-written postmortem is one of the highest-leverage documents in engineering. It teaches the whole org.
- Design docs and RFCs — These are the primary “currency” at staff+ levels. Practice writing them even if your org doesn’t require them.
Building a Learning System
Building a Learning System
- Define your T-shape: Deep expertise in 1-2 areas. Broad familiarity with many. Decide what your “deep” areas are and protect that depth.
- Weekly learning budget: Allocate 3-5 hours per week. Block it on your calendar. Protect it like a meeting.
-
Input sources (curate ruthlessly):
- 2-3 newsletters (e.g., TLDR, Pointer, ByteByteGo)
- 1 technical book per quarter (not per year)
- Follow 10-15 high-signal engineers on social media
- Read 1-2 RFCs/design docs from top companies per month
-
Output requirement: Learning without output is just entertainment. For everything you learn, produce something:
- Write a summary in your own words
- Build a small prototype
- Teach it to a teammate
- Add it to your notes system
- Prune aggressively: Unsubscribe from noisy channels. Ignore hype cycles. Ask: “Will this matter to my work in 12 months?” If not, skip it.
5. Interview Strategy for Engineers
Evaluating Companies (Not Just Getting Hired)
How to Evaluate a Company Before Accepting
How to Evaluate a Company Before Accepting
| Dimension | Green Flags | Red Flags |
|---|---|---|
| Engineering Culture | Design docs, code review, blameless postmortems | ”We move fast and break things” (without fixing them) |
| Technical Quality | CI/CD, automated testing, monitoring/observability | ”We deploy by SSHing into production” |
| Growth | Promotion criteria are documented, mentorship exists | ”Just keep doing great work and it’ll happen” |
| Work-Life Balance | Sustainable on-call, reasonable hours, PTO actually used | ”We’re like a family” (meaning: no boundaries) |
| Team Health | Low turnover, engineers speak positively, candid answers | Interviewers dodge questions about culture |
| Technical Debt | Acknowledged and systematically addressed | ”We’ll fix it later” (they never do) |
Questions to Ask Your Interviewer
Questions to Ask Your Interviewer
- “What does your deployment pipeline look like? How often do you deploy to production?”
- “How do you handle incidents? Walk me through your last major outage.”
- “What’s the ratio of feature work to tech debt / infrastructure work?”
- “How are architectural decisions made? Who has input?”
- “What’s the oldest, most painful part of your codebase, and what’s the plan for it?”
- “How do code reviews work here? What’s the average turnaround time?”
- “What does on-call look like? How often are people paged, and how is it compensated?”
- “How does your team handle disagreements about technical direction?”
- “What did the last person in this role go on to do?”
- “Can you tell me about someone who was recently promoted and what they did to earn it?”
- “What does the career ladder look like for ICs here?”
- “How are engineers evaluated? What does the performance review process look like?”
- “What learning budget or professional development support exists?”
- “How much autonomy would I have in choosing what to work on?”
Negotiation Basics for Engineers
Negotiation Basics for Engineers
- Never give a number first. “I’m focused on finding the right fit. What’s the range for this role at this level?” If pressed: “I’d want compensation to be competitive with the market for this level in this area.”
- Negotiate total compensation, not just base salary.
| Component | What to negotiate | Notes |
|---|---|---|
| Base Salary | The floor of your comp | Easiest to negotiate, smallest upside |
| Equity (RSUs/Options) | Often the largest component at tech companies | Understand vesting schedule, cliff, refresh grants |
| Signing Bonus | One-time, often used to bridge gaps | Can compensate for unvested equity from current job |
| Level | Your title and scope | A higher level is worth more than a higher salary at a lower level |
| Scope / Team | What you’ll actually work on | The right team can be worth more than extra comp |
- Get competing offers. This is the single most effective negotiation tool. You don’t have to be aggressive. “I have an offer from [Company] at [Level]. I’d prefer to work here — can you match?”
- Negotiate for level, not just comp. Starting at L5 vs L4 has compounding effects on your career trajectory. Fight for the right level.
- Everything is negotiable. PTO, remote work, start date, relocation, learning budget, conference attendance. Ask.
Red Flags in Interviews (From Both Sides)
Red Flags in Interviews (From Both Sides)
- Interviewers are unprepared or late — shows they don’t value your time
- They can’t explain what the team is building or why it matters
- Nobody asks if you have questions — they’re not evaluating mutual fit
- High turnover they explain away as “culture fit” issues
- The tech stack is ancient AND there’s no migration plan
- “We wear many hats” means “you’ll do 3 jobs for 1 salary”
- They focus entirely on trick questions instead of real problem-solving
- Cannot explain past projects clearly — suggests limited ownership
- Badmouths previous employers or teammates
- No questions about the team, product, or engineering culture
- Cannot articulate what they want to learn or where they want to grow
- Over-indexes on compensation without curiosity about the actual work
- Claims credit for team achievements without acknowledging others
The 30-60-90 Day Plan for a New Role
The 30-60-90 Day Plan for a New Role
First 30 Days: Learn and Listen
- Set up local development environment on day 1
- Read every design doc, README, and runbook you can find
- Do 1:1s with every team member — ask: “What’s the biggest problem we’re not talking about?”
- Ship a small PR in week 1 (bug fix, doc improvement, small feature). This builds confidence and proves you can operate in the codebase.
- Identify the team’s on-call pain points
- Understand the deployment pipeline end-to-end
- Start your brag document on day 1
Days 30-60: Contribute and Connect
- Own a medium-sized project end-to-end (design, implement, deploy, monitor)
- Start doing code reviews with genuine, helpful feedback
- Join on-call rotation (or shadow on-call if the team has a ramp-up period)
- Meet engineers on adjacent teams — understand how your team’s work fits into the broader system
- Identify one process improvement and propose it
- Start forming opinions about the architecture — write them down
Days 60-90: Lead and Influence
- Lead a design discussion or write a design doc for an upcoming project
- Mentor a newer team member on something you’ve learned
- Propose a technical improvement based on your fresh perspective (“beginner’s eyes” are valuable — use them before they fade)
- Have a career conversation with your manager: “Here’s what I’ve observed, here’s what I want to work on, here’s where I think I can have the most impact”
- Deliver your first significant project
Career Growth Interview Questions
These questions come up in behavioral rounds, manager screens, and skip-level interviews. They test self-awareness, ownership, and career intentionality — not just technical skill.Q: What's the most impactful project you've led? Walk me through how you drove it from idea to completion.
Q: What's the most impactful project you've led? Walk me through how you drove it from idea to completion.
- Start with the problem — why did this project matter? What was the cost of not doing it?
- Explain how you identified the opportunity (did someone assign it, or did you see the gap yourself?)
- Walk through how you built alignment — who did you need to convince, and how?
- Describe the execution — what was your approach, what trade-offs did you make, what went wrong and how did you adapt?
- End with measurable impact — revenue, reliability, developer productivity, user metrics, whatever is relevant
- Briefly mention what you learned or what you would do differently
- Describing a project you contributed to but did not drive — interviewers will probe and the distinction becomes obvious
- Focusing entirely on the technical implementation without explaining the business context or stakeholder management
- Not quantifying the impact — “it was really successful” is not an answer
- Skipping the obstacles — the interesting part is how you navigated problems, not that everything went smoothly
Q: How do you handle a situation where you're doing important 'glue work' but it's not being recognized in your performance review?
Q: How do you handle a situation where you're doing important 'glue work' but it's not being recognized in your performance review?
- Show that you know what glue work is and why it matters — reference the concept directly
- Explain your approach to making invisible work visible: tracking it, quantifying it, framing it as organizational impact
- Describe how you would have the conversation with your manager — proactively, not resentfully
- Discuss distribution — how you would create systems so the glue work does not depend entirely on you
- Acknowledge the balance — you still need visible technical contributions alongside organizational work
- Show judgment about when to push back — if an organization consistently refuses to value this work, that is signal about the org, not about you
- Saying “I’d just stop doing it” — this is immature and shows you do not understand organizational needs
- Being resentful or passive-aggressive about it — the interviewer wants to see mature problem-solving
- Not knowing what “glue work” is — if this question catches you off guard, you have not thought about career management deeply enough
- Pretending it has never happened to you — it happens to almost everyone at some point
Q: Where do you see yourself in 3 years?
Q: Where do you see yourself in 3 years?
- Acknowledge the fork — show you know there are two paths and you have thought about which one fits you
- Be specific about the type of impact you want to have, not just the title you want to hold
- Connect your answer to this role — explain why this position is a logical step toward your goals
- Show depth over breadth — “I want to go deep on distributed systems and be the person my org trusts with our hardest scaling challenges” is better than “I want to be a tech lead”
- Be honest about what you are still figuring out — “I’m leaning toward the IC track but I want to try leading a small project team first to test that assumption” shows maturity
- “I want to be a manager” without explaining why or what kind of manager — sounds like you just want a title
- “I just want to keep coding” — sounds like you have not thought about growth
- Being so vague that it could apply to any role at any company — “I want to grow and learn” says nothing
- Giving an answer that this company obviously cannot support — if it is a 20-person startup, do not say “I want to lead an organization of 200 engineers”
6. Common Career Mistakes
Mistake 1: Optimizing for Compensation Over Learning (Early Career)
Mistake 1: Optimizing for Compensation Over Learning (Early Career)
Mistake 2: Staying Too Long in a Comfort Zone
Mistake 2: Staying Too Long in a Comfort Zone
Mistake 3: Not Documenting Your Impact
Mistake 3: Not Documenting Your Impact
Mistake 4: Ignoring Soft Skills Development
Mistake 4: Ignoring Soft Skills Development
- Written communication — design docs, emails, Slack messages, documentation
- Verbal communication — presenting ideas, running meetings, explaining trade-offs
- Giving and receiving feedback — code reviews, performance conversations
- Stakeholder management — working with PMs, designers, leadership
- Conflict resolution — technical disagreements, priority conflicts
- Teaching and mentoring — making others better
Mistake 5: Comparing Your Career to Others' Highlight Reels
Mistake 5: Comparing Your Career to Others' Highlight Reels
- You don’t see the 70-hour weeks, the failed projects, the lucky timing, or the privilege that enabled their path
- Career trajectories are not linear — many successful engineers had “slow” periods that were actually foundational
- “Staff at 28” at a startup that folds means nothing. “Senior at 35” at a company building meaningful technology means a lot.
Mistake 6: The 'Expert Beginner' Trap
Mistake 6: The 'Expert Beginner' Trap
| Stage | Description | Value |
|---|---|---|
| Beginner | Learning the basics | Low (but everyone starts here) |
| Advanced Beginner | Can build basic things | Medium-low |
| Expert Beginner | Knows basics of many things, mastery of none | Plateau — dangerous |
| Competent | Deep knowledge in 1-2 areas | Medium-high |
| Proficient | Intuitive understanding, can handle novel situations | High |
| Expert | Defines best practices, others learn from you | Very high |
Practice Exercises
Exercise 1: Write Your Career Narrative
Exercise 1: Write Your Career Narrative
- What are the 2-3 things I’m best at technically?
- What kind of problems do I enjoy solving most?
- Where do I want to be in 3 years — and what specific skills gap stands between here and there?
- Who do I admire in my field, and what specifically about their career path appeals to me?
- What am I avoiding that I know would accelerate my growth?
Exercise 2: The Impact Audit
Exercise 2: The Impact Audit
- What was the measurable impact? (If you can’t measure it, figure out how)
- Who benefited besides you? (Your team? Other teams? Users? The company?)
- What did you learn that you didn’t know before?
- What would you do differently if you did it again?
Exercise 3: Mock Promotion Packet
Exercise 3: Mock Promotion Packet
- Current level and target level
- 3-5 projects demonstrating target-level scope and impact
- Evidence of influence beyond your immediate team
- Evidence of mentoring or multiplier effects
- Areas of growth and how you’ve addressed them
Exercise 4: Reverse Interview Preparation
Exercise 4: Reverse Interview Preparation
- What are you actually trying to learn?
- What would a great answer sound like?
- What would a red-flag answer sound like?
Exercise 5: Teach Something
Exercise 5: Teach Something
- Must include a concrete example or code sample
- Must explain WHY, not just HOW
- Must be understandable without specialized knowledge of your specific codebase
Curated Resources for Career Growth
These are not random links. Each one is specifically chosen because it offers a perspective or framework that is genuinely hard to find elsewhere. Prioritized for quality over quantity.Books
Books
- “An Elegant Puzzle” by Will Larson — The best book on engineering management and organizational design. Even if you are on the IC track, understanding how engineering orgs work gives you an unfair advantage in navigating your career. Larson writes from deep experience at Digg, Uber, and Stripe.
- “Staff Engineer” by Will Larson — The companion to An Elegant Puzzle, focused specifically on the staff+ IC track. Includes detailed interviews with staff engineers about what they actually do day-to-day. Essential reading if you are targeting senior or staff level.
- “The Staff Engineer’s Path” by Tanya Reilly (O’Reilly, 2022) — The definitive guide to operating as a staff+ IC. Covers the three pillars (big-picture thinking, execution, and leveling up) with practical frameworks drawn from Reilly’s experience at Google and Squarespace. More tactical and actionable than Larson’s book — the two complement each other well.
Websites and Blogs
Websites and Blogs
- StaffEng.com — A collection of stories from staff+ engineers across the industry, organized by the four archetypes (Tech Lead, Architect, Solver, Right Hand). Read 5-10 of these stories and you will develop a much clearer picture of what staff-level work looks like in practice. Also includes guides on getting the title, operating at the level, and building a promotion packet.
- Julia Evans’ blog (jvns.ca) — Julia Evans writes about learning, debugging, and demystifying technical topics with infectious enthusiasm and clarity. Her posts on “how to ask good questions,” “things that surprised me about management,” and her zine series on systems concepts are career-growth gold. Her approach to learning in public is a model worth emulating.
- Levels.fyi — Crowdsourced compensation data across tech companies, broken down by level, location, and company. Essential for understanding where you stand in the market and for negotiation preparation. Also useful for understanding how different companies map their leveling systems.
Newsletters and Long-Form Writing
Newsletters and Long-Form Writing
Talks and Other Resources
Talks and Other Resources
- Tanya Reilly’s “Being Glue” talk — Available on YouTube and as a written blog post. If you have ever felt like your important contributions are invisible, this talk will validate your experience and give you a framework for addressing it. Required viewing for anyone on the IC track and for every engineering manager.
- The career advice compendium from senior engineers — There is no single URL, but searching for career advice threads from staff+ engineers on platforms like HackerNews, the StaffEng blog, and engineering blogs from companies like Dropbox, Stripe, and Netflix will surface patterns. The consistent themes: write more, build relationships deliberately, own outcomes not just tasks, and make your impact measurable.