Chapter 14
Portfolio, GitHub, Writing, and Public Evidence
A senior-engineer guide to public evidence: when portfolios help, when GitHub creates noise, how to present open-source contributions, technical writing, talks, side projects, and sanitized project case studies without leaking private information.
Jump around the book
On this page
What public evidence must accomplish
Public evidence is optional, but when it exists it becomes part of your senior signal. A portfolio, GitHub profile, technical blog, conference talk, open-source contribution, or sanitized case study can help an interviewer answer three questions before they meet you:
- Can this person explain engineering work clearly?
- Do their artifacts support the level they claim?
- Is there credible evidence beyond resume bullets?
The risk is that public work can also create noise. A half-finished side project, a profile filled with tutorial forks, an old blog post that overstates expertise, or a portfolio that looks like a student showcase can weaken positioning. Senior candidates do not need a glamorous public brand. They need public artifacts that reinforce the role thesis from Chapter 10.
Who reads it and what they infer
Senior-level public evidence is selective. It does not try to prove that you know every technology. It makes a small number of durable claims easy to inspect.
Strong evidence might include:
- a concise portfolio page with three project case studies tied to target roles;
- a GitHub repository with a clear README, tests, architecture notes, and realistic trade-offs;
- an open-source contribution that shows debugging, design discussion, review quality, or maintainer collaboration;
- a technical article that explains a migration, incident lesson, data-modeling decision, or production trade-off;
- a talk or internal-style write-up that teaches a topic through real constraints;
- a sanitized project dossier that protects employer confidentiality while preserving engineering substance.
Weak public evidence is usually unfocused:
- dozens of pinned repositories with no explanation;
- toy projects presented as production-scale systems;
- technology badges with no problem, user, or impact;
- blog posts that summarize documentation without judgment;
- public claims that conflict with resume scope;
- confidential details from prior employers.
The senior standard is not “be famous online.” It is “make the strongest, safest, most relevant evidence easy to evaluate.”
The evidence model
Use the “claim, artifact, proof” model.
| Layer | Question | Example |
|---|---|---|
| Claim | What senior capability are you asking the reader to believe? | “I can own reliability-focused backend migrations.” |
| Artifact | What public or shareable object supports the claim? | A sanitized case study of a queue migration with rollout and rollback details. |
| Proof | What specific evidence makes the artifact credible? | Baseline, constraints, alternatives, decision, risk controls, metric movement, and reflection. |
If an artifact does not support a claim you want the company to remember, remove it, hide it, or stop pointing interviewers to it. Public evidence should reduce ambiguity, not increase it.
Also separate three audiences:
| Audience | What they need | What to optimize |
|---|---|---|
| Recruiter | Quick role fit and credibility. | Short summary, target keywords, one or two clear links. |
| Hiring manager | Scope, ownership, judgment, and role relevance. | Case studies, project framing, technical leadership evidence. |
| Interviewer | Concrete discussion hooks for deeper probing. | Architecture notes, trade-offs, tests, incidents, decisions, and reflection. |
Artifact structure and selection rules
Portfolios are indexes, not museums
A senior portfolio should behave like a well-edited index. It should tell the reader where to look and why.
Useful structure:
| Section | Purpose |
|---|---|
| One-line positioning | Names your target role shape and strongest evidence. |
| Selected projects | Shows three to five artifacts, each with scope and relevance. |
| Writing or talks | Demonstrates explanation, judgment, and teaching ability. |
| Open-source or community work | Shows collaboration outside employer context, if relevant. |
| Contact and resume link | Makes the next action obvious. |
Avoid a long visual gallery unless you are applying for a design-heavy frontend role where visual craft is part of the bar. For most senior engineering roles, dense clarity beats decoration.
Portfolio project cards should answer:
- What problem did this address?
- What was your role?
- What technical decision is worth inspecting?
- What trade-off or failure mode mattered?
- What outcome or learning resulted?
GitHub should be curated
A GitHub profile is often scanned quickly. Interviewers rarely read every repository. They look for signals and contradictions.
Curate aggressively:
- Pin repositories that match your target roles.
- Archive or unpin stale experiments that create the wrong impression.
- Add READMEs that explain context, constraints, setup, tests, architecture, and limitations.
- Include tests where correctness matters.
- Use issues or project notes to show trade-offs and future work.
- Avoid pretending toy projects are production systems.
A strong README for a senior side project includes:
Problem:
What user or engineering problem this project addresses.
Constraints:
Scale, latency, correctness, security, cost, or usability assumptions.
Design:
The main components and why they are enough for this scope.
Trade-offs:
What was deliberately not built and when that decision would change.
Quality:
How to run tests, what is covered, and what risks remain.
Operational notes:
Logs, metrics, failure handling, data handling, or deployment assumptions.
This does not need to be long. It needs to prevent the reader from mistaking a deliberate simplification for ignorance.
Open-source contributions are stronger when the collaboration is visible
Open source can show senior signal even when the code change is small. The important evidence may be in the issue analysis, design discussion, review response, regression test, or documentation improvement.
Stronger examples:
- diagnosed a race condition and added a focused regression test;
- clarified an API contract and updated docs after maintainer discussion;
- improved error handling in a widely used library without expanding scope;
- reviewed a complex pull request and identified a compatibility risk;
- proposed a migration path that maintainers accepted.
Weaker examples:
- drive-by formatting commits;
- large rewrites that were never merged;
- superficial contribution counts;
- claiming project ownership because one patch landed.
When discussing open source, use precise attribution:
“I contributed the retry-state fix and regression test in the client library. The maintainers owned the broader release. My useful contribution was narrowing the failure case and making the fix small enough to merge safely.”
Technical writing should expose judgment
Technical writing helps senior candidates when it shows reasoning, not just knowledge. A post titled “How Kafka Works” is less differentiating than a post titled “Why We Did Not Use Kafka for Billing Retry Isolation.”
Strong writing has:
- a real problem or decision;
- constraints and alternatives;
- a chosen path;
- consequences;
- failure modes;
- what changed afterward.
Good senior topics:
- a migration plan and rollback strategy;
- a production incident lesson;
- API versioning trade-offs;
- data correctness in backfills;
- feature-flag rollout risk;
- why a simpler architecture was sufficient;
- how a team improved code review, on-call, or deploy safety.
Sanitize aggressively. Remove employer names, customer details, private metrics, security-sensitive information, and proprietary architecture. If sanitization destroys the useful lesson, choose another artifact.
Side projects need honest scope
Side projects are useful when they show craft, curiosity, or a relevant technical slice. They are harmful when they are inflated.
Senior framing:
“This is a small implementation of a workflow scheduler. It is not a production system. I used it to demonstrate the data model, idempotent job claiming, retry states, and tests around cancellation. A real deployment would need observability, tenancy, provider limits, and operational ownership.”
That answer shows judgment. It names what is real and what is missing.
Sanitized case studies can replace public code
Many senior engineers cannot show employer code. That is normal. A sanitized case study can still be excellent evidence.
Use this structure:
| Section | Include |
|---|---|
| Context | Domain, team shape, user impact, and constraints without confidential details. |
| Problem | The technical and organizational issue. |
| Your role | Decisions, artifacts, code, reviews, rollout, coordination, or incident response you owned. |
| Alternatives | Plausible paths and why you rejected them. |
| Execution | Sequence, risk controls, testing, migration, communication, and launch. |
| Outcome | Observable result with safe metrics or relative impact. |
| Reflection | What you would repeat, change, or watch next time. |
Safe metrics can be approximate or relative: “reduced p95 latency by roughly half,” “cut rollback time from hours to minutes,” “moved the highest-volume endpoint off a deprecated dependency,” or “reduced weekly support escalations for this failure mode.” Do not invent precision.
Annotated example: curating public evidence
Maya is targeting senior backend roles in commerce and product infrastructure. Her public surface contains:
- a GitHub profile with old bootcamp exercises, a toy React app, and a half-finished distributed queue;
- a blog with one useful post about idempotency and several generic language tutorials;
- no portfolio page;
- a strong private work history in checkout reliability, billing reconciliation, and service migrations.
Her current public evidence creates mixed signal. It says “junior experiments” more loudly than “senior backend judgment.”
She curates it into:
| Artifact | Change | Senior signal |
|---|---|---|
| GitHub pins | Pins one workflow-scheduler repo and one API design example; archives old tutorial forks. | Relevance and judgment. |
| Scheduler README | Adds problem, constraints, design, tests, trade-offs, and “not production-ready” notes. | Architecture, production awareness, honesty. |
| Blog | Keeps the idempotency post and rewrites it around duplicate side effects in payment retries. | Production judgment. |
| Case study | Publishes a sanitized billing migration write-up with personal role, alternatives, rollout, and reflection. | Project depth, delivery, influence. |
| Portfolio | Creates a one-page index linking to the two strongest artifacts and resume. | Communication and positioning. |
Her recruiter link becomes:
“I keep a short portfolio here with two relevant artifacts: a sanitized billing-migration case study and a small scheduler project that demonstrates idempotent job execution and cancellation.”
That is enough. The portfolio does not need to be large. It needs to make the right conversation more likely.
Review workflow: artifact pitch templates
After curating the artifacts, rehearse how each one should be read. The workflow is simple: state what the artifact proves, state what it does not prove, and connect it back to the role thesis without asking the interviewer to inspect unrelated material.
Use these as starting points, then make them true to your own work.
Recruiter screen: sharing public evidence
I have a short portfolio that is most relevant for backend/product-infrastructure roles. The two useful links are a sanitized case study of a migration I led and a small repository that demonstrates the retry and idempotency patterns I like to use. I would treat the rest as supporting context rather than a complete work history.
Hiring manager: explaining a side project
The project is intentionally small. I built it to show the core model: API boundaries, state transitions, idempotent writes, tests, and trade-offs. I would not call it production-ready because it lacks multi-tenant auth, full observability, and operational runbooks. Those gaps are documented because I wanted the artifact to show judgment rather than pretend scope.
Project deep dive: using a sanitized case study
I cannot share employer code, but I can describe the architecture and decisions safely. The project was a migration of a high-volume workflow from one processing path to another. I owned the compatibility plan, dual-run validation, rollback criteria, and the production-readiness checklist. The strongest lesson was that reconciliation design mattered more than the migration script itself.
Open source: precise attribution
My contribution was narrow but useful. I reproduced the bug, reduced it to a failing test, proposed a small change, and worked through maintainer feedback. I did not own the library, but the contribution shows how I approach debugging and compatibility risk in shared code.
Annotated artifact-review conversation
Interviewer: “I saw your GitHub link. Should I treat those projects as production experience?”
Candidate: “No. The scheduler repository is a focused artifact, not production experience. I included it because it shows how I model job states, idempotency, cancellation, and tests. The README also names what I would need before production: tenancy, observability, backpressure, and operational ownership.”
Annotation: Strong. The candidate prevents over-interpretation and still extracts senior signal.
Interviewer: “Why write a case study instead of sharing code?”
Candidate: “Most of my strongest work is employer-owned, so sharing code would be inappropriate. A sanitized case study lets me discuss the problem, constraints, decisions, rollout, and reflection without exposing private details.”
Annotation: Senior. The candidate treats confidentiality as part of judgment.
Interviewer: “What should I take from your idempotency article?”
Candidate: “The main point is not that I know the term. It is that retries are unsafe unless the side effect has a stable identity and reconciliation path. In the article I use payments as the example, but the same pattern applies to emails, job execution, and webhook delivery.”
Annotation: Strong. The answer turns writing into a reusable technical principle.
Interviewer: “Some of your old repositories look unrelated.”
Candidate: “That is fair. I keep a few old experiments public, but the pinned repositories are the ones I would use as evidence for this role. If I were sending a hiring packet, I would point you only to the scheduler, the API design example, and the case study.”
Annotation: Good recovery. The candidate acknowledges noise and redirects to curated evidence.
Common weak, mid-level, and senior public-evidence moves
| Prompt | Weak response | Mid-level response | Senior response |
|---|---|---|---|
| “Do you have a portfolio?” | “Yes, it has all my projects.” | “I have GitHub and a blog.” | “I have a short portfolio with the two artifacts most relevant to this role: a sanitized migration case study and a tested API project.” |
| “Is this side project production-ready?” | “Yes, it just needs scaling.” | “Mostly, though I would add some monitoring.” | “No. It demonstrates the core model. Production would require auth, tenancy, observability, deploy safety, support paths, and load testing.” |
| “What does your writing show?” | “I like sharing knowledge.” | “I write about technologies I use.” | “My writing shows how I reason through trade-offs: constraints, alternatives, failure modes, and what changed afterward.” |
| “What open-source work have you done?” | “I have many contributions.” | “I fixed a few bugs.” | “I contributed a narrow compatibility fix by reproducing the issue, adding a regression test, and adjusting the patch through maintainer review.” |
| “Why is this link relevant?” | “It shows I am passionate.” | “It uses the same stack.” | “It supports the role thesis: backend reliability, migration safety, and clear technical communication.” |
Common defects and red flags
- Pointing to every artifact you have ever created.
- Presenting tutorial projects as senior evidence.
- Having public claims that conflict with resume seniority or target role.
- Sharing confidential employer details, private customer information, or security-sensitive architecture.
- Using GitHub contribution count as a substitute for meaningful contribution.
- Showing repositories with no README, no tests, and no explanation of scope.
- Writing posts that restate documentation without decisions or consequences.
- Over-indexing on personal branding while interview fundamentals remain weak.
- Letting stale public work create an outdated picture of your current level.
- Treating public evidence as mandatory. Many strong senior candidates have little public work.
Interviewer red flags:
- “My GitHub speaks for itself.”
- “This toy project is basically production-ready.”
- “I cannot discuss the details, but trust me, it was complex.”
- “I wrote about microservices” without naming a real constraint.
- “I have thousands of contributions” with no inspectable senior artifact.
Practice and rewrite exercises
Public evidence audit
30 minREADME senior pass
25 minSanitized case study
35 minArtifact pitch
10 minSelf-review rubric
Score your public evidence from 1 to 5.
| Dimension | 1 - Weak | 3 - Usable | 5 - Senior-ready |
|---|---|---|---|
| Relevance | Artifacts do not match target roles. | Some artifacts are relevant but mixed with noise. | Every shared artifact reinforces the target role thesis. |
| Curation | Sends everything. | Pins or links a few useful items. | Curates aggressively and removes stale or misleading evidence from the hiring path. |
| Technical substance | Shows tools but little judgment. | Shows implementation with partial explanation. | Shows constraints, alternatives, trade-offs, tests, failure modes, and limitations. |
| Confidentiality | Risks leaking private details. | Sanitizes obvious names and numbers. | Preserves lessons while protecting employer, customer, security, and proprietary information. |
| Attribution | Claims are broad or inflated. | Personal role is partly clear. | Separates personal contribution, team outcome, maintainer ownership, and limitations precisely. |
| Communication | Artifacts require guesswork. | Artifacts are understandable after inspection. | Artifacts are easy to scan and discuss in recruiter, manager, and interviewer contexts. |
| Consistency | Public evidence contradicts resume or narrative. | Mostly consistent with minor stale areas. | Resume, portfolio, GitHub, writing, and stories all support the same senior case. |
Readiness gate: score 28 or higher before sending public links widely. If confidentiality is below 4, do not publish the artifact until it is sanitized or removed.
One-page field reference
Field reference
Public evidence checklist
- Public evidence is optional; curated evidence is useful.
- Share artifacts that support your target role thesis.
- Treat the portfolio as an index, not a museum.
- Pin only repositories that you are willing to discuss in an interview.
- Add READMEs with problem, constraints, design, trade-offs, tests, limitations, and production gaps.
- Use open-source examples to show debugging, review, compatibility, and collaboration, not contribution count.
- Write about decisions, not just technologies.
- Be honest about side-project scope.
- Use sanitized case studies when employer code is private.
- Remove confidential details, private metrics, customer information, and security-sensitive specifics.
- Make public artifacts consistent with your resume and career narrative.
Related links
Continue reading
Full table of contents