You may already have useful experience: explaining a bug to a customer, writing an internal setup guide, or turning an engineer's notes into instructions. The difficult part is making that work visible to an employer, especially when the original documents are confidential.
A self-directed sample can give you something relevant to discuss. But it needs to match the job. A clear Python setup guide can show how you handle prerequisites and verification; it cannot stand in for years of JavaScript development or make a US-only vacancy available from another country. Start by deciding whether the role fits, then build the evidence it actually needs.
Read the work, not just the title
“Technical Writer” does not always mean software documentation. On October 6, 2026, Remoote's Remote Writer Jobs collection included a US-located Curio Science Technical Writer role involving medical-communications slide decks and event summaries. That is a different assignment from explaining how to use an API.
Software documentation helps someone learn or use a product. Technical marketing may explain its value to prospective buyers; proposal writing may answer a procurement request. These are legitimate writing careers, but their samples prove different things. Look for the intended reader and deliverable in the responsibilities, rather than assuming a technical-sounding title settles the question.
For example, Storyblok's Documentation Engineer II page, inspected October 6, 2026, described developer tutorials, guides, FAQs, API documentation, sample applications, and code samples. Here is a practical way to match that kind of work to evidence. This is a preparation guide, not a classification every employer uses.
| Work named in the vacancy | Relevant evidence |
|---|---|
| Product or help-center procedures | A task guide with clear prerequisites, usable steps, and a way to recognize success. |
| Developer or API documentation | Accurate requests, responses, prerequisites, and worked examples, including relevant errors. |
| Documentation engineering | Working code samples and evidence that you can edit, review, and build documentation in a repository. |
| Senior documentation ownership | Genuine examples of review decisions, information architecture, and keeping documentation aligned with releases. |
You may see docs-as-code: documentation source is edited and reviewed through version control and automated checks, much like software. Git records changes and supports review. Markdown and reStructuredText are text formats used to write documents. An API is an interface through which software makes requests to another system. CI, or continuous integration, runs automated checks when changes are submitted.
These terms describe ways of working, not a universal shopping list. A role using Sphinx and reStructuredText needs different tool evidence from one maintaining a help center. Read the actual requirements before spending time learning every tool mentioned in other vacancies.
Check eligibility before preparing a custom sample
Remote describes where work happens, not necessarily where an employer can engage you. Two employer pages inspected October 6, 2026 show why the distinction matters:
- Canonical's Technical Author page described home-based worldwide roles across multiple seniority levels, with product-, customer-, and operations-focused tracks. It asked for software-development familiarity, a programmer's mindset, Linux, command-line work, Git, Sphinx, and reStructuredText. Worldwide wording still leaves your country's employment or contracting arrangement to confirm.
- Storyblok's Documentation Engineer II page named APAC, Austria, and Europe. It required 5+ years of web development, proven technical writing, REST API knowledge, a modern JavaScript framework, Git, and a relevant degree or equivalent experience. Those regional labels are not a country-by-country eligibility list, and this is not a beginner example.
Neither page guarantees a vacancy will still be open when you read it. Storyblok's development requirement is not a requirement for every technical writer, and Canonical's range of seniority levels is not evidence of no-experience hiring.
Before substantial sample preparation, establish five things: whether your actual country of residence is accepted, whether the arrangement is employment or contracting, what meeting-hour overlap is required, whether travel is feasible, and whether you meet the essential experience requirements.
Read the application as well as the headline. Canonical's page body mentioned twice-yearly travel, while its application asked about 2–4 events lasting 1–2 weeks. Rather than choosing the easier interpretation, ask which commitment applies to the role.
A focused eligibility inquiry states where you live and asks which country arrangements, overlap hours, and travel requirements apply. If these terms are already explicit and exclude you, a better portfolio will not change them.
Separate missing proof from a requirement you do not meet. Practicing Git or preparing a task guide may demonstrate a skill you have not yet shown. It cannot manufacture required professional experience. That distinction can save you from spending a weekend on a custom sample for a role that cannot engage you.
Choose one task your sample will prove
A sample is easier to judge when it has one clear purpose. Diátaxis offers a useful distinction: a tutorial guides practical learning; a how-to guide helps an already-capable reader complete a task; reference supplies reliable technical facts; explanation develops understanding. You do not need all four in one document. Choose the form that fits the vacancy's reader and work.
For a manageable self-directed sample, prepare:
- A short statement of the audience, assumed knowledge, and task.
- One finished document.
- The authoritative sources and relevant product or tool versions.
- A verification record showing what you actually checked.
- A change note explaining a substantive revision and its reason.
This is a suggested preparation package, not an employer-approved assessment format. Write the Docs' portfolio guidance recommends short, targeted samples with context about process and collaborators. A reviewer should not have to search a large website to find the relevant work.
If the vacancy is API-focused, a generic setup guide is not enough. Choose a public API and use its authoritative documentation to explain the request method, inputs, authentication where relevant, responses, and errors. Include a worked request and state what you actually tested. Write the Docs also names HTTP requests, responses, and OpenAPI knowledge as relevant API-documentation skills. Do not invent an endpoint or present the Python exercise below as proof of API or JavaScript expertise.
If your best work belongs to an employer, get explicit written permission from an authorized owner before using it. Anonymizing a document is not permission, and a publicly accessible page is not necessarily yours to reuse. Identify your actual contribution to shared work.
When permission is unavailable, create original documentation for a public tool and label it self-directed practice. You can describe genuine prior responsibilities without exposing the documents. Canonical's inspected application explicitly allowed candidates to explain that substantial documentation work could not be shared.
Example: make a setup guide checkable
Consider this invented instruction:
Create a virtual environment and activate it.
It sounds concise, but it leaves the reader to guess which Python installation to use, where to run the command, which shell the instructions assume, and how to know the environment is working. A changed terminal prompt alone does not answer which interpreter is running.
The following is an illustrative self-directed portfolio task based on Python's official venv documentation. It is not client work, a test run performed for this article, or evidence of senior experience. Treat it as a proposed guide to run and revise in your own environment.
A scoped how-to guide
Task: create a local Python virtual environment in a new practice directory and verify the interpreter. Audience: someone comfortable using a terminal who already has Python 3.12 installed and available as python3.12. Platform: a POSIX environment using bash or zsh. Record the exact Python patch version and operating system when you test.
In a terminal, confirm that the intended interpreter is available:
python3.12 --versionExpect a Python 3.12.x version. If the command is missing or reports another version, stop and resolve the prerequisite. Do not silently substitute a different interpreter and keep the same version claim.
From a directory where you can create files, make a new practice directory and enter it. The name below must not already exist there:
mkdir docs-venv-practice cd docs-venv-practiceCreate the environment using that same interpreter:
python3.12 -m venv .venvThe environment directory is
.venvinside the practice directory. If creation fails, record the error and resolve it before continuing.Use the environment's interpreter directly:
.venv/bin/python -c "import sys; print(sys.executable); print(sys.prefix != sys.base_prefix)"The first line should identify the interpreter in your practice directory's
.venv/bin. The expected second line isTrue: Python documentssys.prefix != sys.base_prefixas a check that the running interpreter is in a virtual environment. These are expected results, not results observed for this article. Record your actual output.
Activation is optional when you invoke the environment's interpreter directly. This guide deliberately avoids requiring it. It also deliberately does not cover Windows: Windows environments use the Scripts directory and different shell conventions. Write and test a separate Windows procedure if that is your audience; do not relabel these POSIX commands or weaken execution policy as a shortcut.
Keep the virtual environment itself out of the portfolio repository. Python's documentation says environments should not be committed to source control and generally should be recreated rather than moved. Share the instructions and records, not the generated .venv directory.
Record a real run
Use a record like this for each checked command or step. The fields are intentionally unfilled. Supply expected results from the guide and actual results from your run, including failures.
Date:
Python version:
OS and shell:
Starting directory and state:
Exact command:
Expected result:
Actual result:
Unresolved limitation:
The useful evidence is not that the document looks professional. It is that the reader can see the prerequisites, platform boundary, interpreter choice, success check, and source for the technical facts. A single-machine run still leaves other environments untested. This small guide proves only this limited documentation task.
Show what review changed
Once a command works on your machine, rerun the procedure from its stated starting conditions. A guide that only works because you previously created a directory or installed something has an unstated prerequisite.
Then, if possible, ask another reader to follow it without hidden coaching. When they hesitate, note the exact step and what they needed to know. This is practical preparation, not a test every employer requires. If nobody has tried the guide, say so rather than claiming a reader review.
Write the Docs' testing guidance covers several useful checks. Keep their conclusions separate:
- Follow the procedure against the actual tool. This checks the command sequence and described behavior in the environment you used. It does not prove every supported platform or version works.
- Check links. This checks whether destinations are reachable; inspect them to confirm they support the claims. A reachable page can still be the wrong source.
- Build and render the document. This can expose syntax, formatting, or display problems. A successful site build does not validate an API response.
- Lint language and style. This can flag wording or consistency issues. Clean prose can still contain a wrong command.
A useful change note names the problem, correction, affected steps you reran, and remaining limitation. For the example above, an imagined issue might be that an earlier draft assumed the reader's shell and Python command without stating them. A proposed correction would name bash/zsh and python3.12, then use .venv/bin/python directly. That is a hypothetical revision until you actually make and check it; do not turn it into a fabricated review history.
For repository-based roles, include a readable source file and an honest commit or review diff. Build, link, and lint automation can strengthen the evidence when relevant. You do not need a complex portfolio website or a CI pipeline to show that one short task guide works.
GitLab's technical-writer role description, inspected October 6, 2026, includes collaboration with engineering, product, design, and research; product documentation and UI text; shell and Git work; and documentation checks. Its hiring process asks for samples and discussion of the candidate's approach. This is a role-description library, not evidence of a current vacancy or permission to hire in your country.
Prepare to explain how you researched the feature, which reviewer could confirm behavior, and what you would do when the product changes. In self-directed work, distinguish people you actually consulted from people you would consult. Do not invent an engineer's approval.
Submit under the employer's rules
Attach the sample closest to the stated work. Briefly identify your contribution, the audience, sources, verification, and one substantive revision you really made. Label practice as practice. Keep essential professional experience separate from tools you are still learning.
Application rules can differ from workplace rules. Canonical's application, as inspected October 6, 2026, required candidates' own words and said plagiarism, AI, or other generated content would disqualify an application. Do not submit generated answers there. GitLab's role description discusses safe use of approved AI tools in the job workflow; that does not establish permission to use them in an application or assessment. Check the specific instructions. Never upload private code, customer data, credentials, or employer documents to an unauthorized tool.
Before starting a custom assessment, clarify the source material, expected effort, evaluation criteria, whether it concerns a live product, whether it may be used commercially, who owns the output, and whether there is payment. Unclear terms deserve questions. They do not, by themselves, prove fraud, and there is no universally acceptable test duration.
For paid project work, agree whether the fee covers research, engineer interviews, testing, reviews, source files, release updates, and ongoing maintenance. Confirm currency and payment timing. For employment, ask for the range applicable to your location rather than importing a US salary figure. The sources used here do not establish a representative non-US salary.
The FTC's job-scam guidance identifies two decisive warning patterns: paying for the promise of a job, and receiving a supposed employer's check with instructions to send money onward. Do not pay a recruiter for access to a guaranteed role or move money from such a check. Choosing a legitimate course for your own learning is a different decision.
Compare roles and plan for releases
Use Remoote's Remote Writer Jobs collection to compare individual responsibilities and location information with the work you can show. The collection inspected October 6, 2026 combined Writer and Technical Writer roles, including unrelated writing disciplines. It is not a software-only or worldwide result set, and it does not guarantee a suitable role in your country. Confirm the original employer's current availability and terms.
When searching, also consider Technical Author, Documentation Engineer, and Documentation Specialist alongside Technical Writer. These are useful adjacent terms, not interchangeable jobs or a claim that all are currently available on Remoote.
For each vacancy, make one practical decision: pursue it when the essential skills and location terms fit; clarify a genuinely undecided term; or move on when a material requirement fails. A relevant sample supports that decision, but it does not promise an interview.
Before a first assignment, confirm the supported product version, authoritative information, repository and access permissions, documentation style and structure, technical reviewers, final approval responsibility, and release expectations. A product change may alter prerequisites, commands, or responses. Update the affected instructions and revalidate them; a finished page is not permanently correct.
Keep your sample sources, permissions, version notes, and last-tested environment with the document, and check portfolio links before reusing it. A completed sample or accepted application is not a paid assignment. Establish the employment or contract terms before relying on the work as income.
