Lots of updates

This commit is contained in:
paul
2026-03-18 23:32:45 -04:00
parent 0e19326bcb
commit b202ec9954
33 changed files with 4312 additions and 648 deletions

View File

@@ -0,0 +1,269 @@
# Build Resume Workflow
Quick reference guide for building customized resumes and cover letters for job applications.
---
## Directory Structure
All job applications follow this standardized structure:
```
applications/
└── company-name/
└── position-slug/
├── paul-halvorsen-resume.md
├── paul-halvorsen-resume.pdf
├── paul-halvorsen-cover-letter.md
├── paul-halvorsen-cover-letter.pdf
└── job-breakdown.md (analysis & strategy)
```
**Examples:**
- `applications/zapier/backend-engineer/`
- `applications/stripe/backend-engineer/`
- `applications/files/senior-backend-engineer/`
---
## Quick Start (2 minutes)
### Invoke the Skill
```
/build-resume [paste job description or provide details]
```
The `/build-resume` skill will:
1. Check if you've already applied (prevents duplicates)
2. Create the directory structure
3. Analyze the job requirements
4. Generate customized resume and cover letter
5. Create `job-breakdown.md` with strategy notes
6. Build PDFs automatically
---
## Manual Build Process
If creating files manually instead of using `/build-resume`:
### Step 1: Create Directory
```bash
mkdir -p applications/company/position
```
### Step 2: Create Resume Markdown
File: `applications/company/position/paul-halvorsen-resume.md`
Copy the YAML template from `YAML-TEMPLATE.md` and add customized content.
### Step 3: Create Cover Letter Markdown
File: `applications/company/position/paul-halvorsen-cover-letter.md`
Use the same YAML template header.
### Step 4: Build PDFs
**Modern template (recommended for tech companies):**
```bash
make resume-modern FILE_NAME=applications/company/position/paul-halvorsen-resume
make resume-modern FILE_NAME=applications/company/position/paul-halvorsen-cover-letter
```
**Classic template (for traditional industries):**
```bash
make resume FILE_NAME=applications/company/position/paul-halvorsen-resume
make resume FILE_NAME=applications/company/position/paul-halvorsen-cover-letter
```
**Awesome-CV template (for startups/bold designs):**
```bash
make resume-awesome FILE_NAME=applications/company/position/paul-halvorsen-resume
make resume-awesome FILE_NAME=applications/company/position/paul-halvorsen-cover-letter
```
---
## Customization Checklist (5 minutes)
Before submitting your resume:
### ✅ Resume Content
- [ ] Summary tailored to role requirements
- [ ] Work experience reordered (most relevant first)
- [ ] Skills section includes role-specific technologies
- [ ] Metrics and achievements highlighted
- [ ] Length: 1 page (or 1-2 if detailed background needed)
- [ ] **CRITICAL: No fabricated numbers** — all facts from `paul-halvorsen-resume-detailed.md`
### ✅ YAML Metadata
- [ ] Contact info formatted correctly (quoted strings)
- [ ] Keywords match job requirements
- [ ] Email, phone, GitHub, LinkedIn all present
- [ ] Blog link included (optional but recommended)
### ✅ Cover Letter
- [ ] Addresses company mission/vision
- [ ] Acknowledges any experience gaps honestly
- [ ] Emphasizes transferable skills
- [ ] Tone is professional and authentic
- [ ] Length: 4-5 paragraphs (fits on one page)
- [ ] Specific to the company (not generic)
### ✅ PDF Quality
- [ ] Built with appropriate template for industry
- [ ] Layout clean and readable
- [ ] No broken formatting or overlapping text
- [ ] Opens without errors in PDF viewer
---
## No-Fabrication Rule (CRITICAL ⚠️)
**BLOCKING REQUIREMENT:** All numbers and metrics must come from `paul-halvorsen-resume-detailed.md`.
### ✅ Allowed
- Reordering existing information
- Reframing for clarity
- Removing less relevant details
- Using exact metrics from detailed resume
### ❌ Not Allowed
- Inventing metrics ("40+ engineers")
- Making up achievements not documented
- Exaggerating scales or customer counts
- Creating statistics not in detailed resume
### Pre-Write Checklist
For every bullet point with a number:
- [ ] Is this in `paul-halvorsen-resume-detailed.md`?
- [ ] If NO: remove it or rephrase without the number
- [ ] If YES: use the exact number/metric
---
## Post-Build Checklist (After Creating Resume)
### ✅ File Organization
- [ ] Files created in correct directory structure
- [ ] PDFs generated successfully
- [ ] Resume and cover letter both present
- [ ] Job breakdown created if using `/build-resume`
### ✅ Application Tracking
- [ ] Application logged in memory (if using `/build-resume`)
- [ ] Company/position combination recorded to prevent duplicates
- [ ] Application link saved for follow-up
### ✅ Before Submitting
- [ ] Verify job posting still active
- [ ] Check application deadline
- [ ] Find company career page
- [ ] Prepare LinkedIn connection message for hiring manager
---
## Template Selection Guide
| Template | Best For | Industry Examples |
|----------|----------|------------------|
| **jb2resume-modern** | Tech companies, startups | Stripe, GitLab, Zapier |
| **jb2resume** | Traditional industries | Banks, gov, established corps |
| **awesome-cv** | Growth-stage startups | Series A-C companies, design-forward |
---
## Useful Commands
### View Help
```bash
make help
```
### Clean Build Artifacts
```bash
make clean # Remove LaTeX logs
make cleanpaper # Remove specific PDF
make cleanall # Remove everything
```
### Build from Detailed Resume
All customized resumes draw facts from:
```
/home/paul/Public/resume/paul-halvorsen-resume-detailed.md
```
This is your source of truth for metrics, roles, and achievements.
---
## Finding Job Postings
See: `JOB-BOARDS-TO-SEARCH.md` (in parent resume directory)
Quick reference:
- **Daily:** WeWorkRemotely, RemoteOK, Built In
- **Weekly:** LinkedIn, Indeed, Cord.co, specialized boards
- **Monthly:** Secondary boards, target company careers pages
---
## Application Follow-Up
After building and submitting:
1. **LinkedIn connection:** Connect with hiring manager, mention your application
2. **Calendar reminder:** Set 1-week follow-up for non-responses
3. **Track responses:** Update job search dashboard with status
4. **Interview prep:** Review job-breakdown.md talking points
5. **Salary expectations:** Reference notes in job-breakdown.md
---
## Common Customizations
### Reordering Work Experience
Move most relevant role to top. Example: For Zapier backend engineer role, list Abnormal AI before Binary Defense because K8s/API experience is more directly relevant.
### Emphasizing Specific Skills
If role requires Kubernetes: mention "10 auto-scaling K8s clusters" in summary and relevant bullet. If role emphasizes API design: lead with REST API experience.
### Addressing Gaps
Use cover letter to honestly address missing technologies:
- "I haven't worked with [tech], but I'm fluent in [similar tech] and have quickly mastered new frameworks."
- Example: Django gap → "Python expert, REST APIs are my core strength, DRF is learnable"
### Metrics Worth Highlighting
From your background:
- 10 K8s clusters (Abnormal AI)
- 90% CPU reduction (Binary Defense)
- 80% network optimization (Binary Defense)
- Thousands of Fortune 500 endpoints (Binary Defense)
- Thousands of records at scale (NSA)
- 15+ years API development (career)
---
## File Locations Reference
- **Skill directory:** `/home/paul/Public/resume/.claude/skills/build-resume/`
- **Resume source:** `/home/paul/Public/resume/paul-halvorsen-resume-detailed.md`
- **Job boards:** `/home/paul/Public/resume/JOB-BOARDS-TO-SEARCH.md`
- **LinkedIn guide:** `/home/paul/Public/resume/LINKEDIN-OPTIMIZATION.md`
- **Job search dashboard:** `/home/paul/Public/resume/job_search.html`
- **Application tracker:** `/home/paul/.claude/projects/-home-paul-Public-resume/memory/applications_tracker.md`
---
## Quick Links
- **Your GitHub:** https://github.com/malwhile
- **Your Blog:** https://flow.halvo.me
- **Detailed Resume:** `/home/paul/Public/resume/paul-halvorsen-resume-detailed.md`
---
## Last Updated
March 18, 2026

View File

@@ -0,0 +1,122 @@
# build-resume Skill
Local project skill for generating tailored resumes and cover letters for job applications.
## Files in This Directory
- **skill.md** — Skill definition, documentation, and guidelines
- **BUILD-RESUME-WORKFLOW.md** — Step-by-step workflow and checklists
- **YAML-TEMPLATE.md** — Copy-paste YAML metadata template with examples
- **README.md** — This file
## Quick Start
```
/build-resume [paste job description or provide details]
```
## How to Use
### Automatic (Recommended)
```
/build-resume [job description]
```
The skill will:
1. Check for duplicate applications (prevents re-applying to same role)
2. Create directory structure: `company/position/`
3. Generate customized resume and cover letter
4. Create job analysis with fit assessment and strategy
5. Build PDFs automatically
### Manual
1. Create `company/position/` directory
2. Copy YAML template from `YAML-TEMPLATE.md`
3. Customize resume and cover letter markdown files
4. Build PDFs with make commands
See `BUILD-RESUME-WORKFLOW.md` for detailed steps and checklists.
## Key Files and Locations
```
/home/paul/Public/resume/
├── paul-halvorsen-resume-detailed.md ← Source of truth for all facts
├── JOB-BOARDS-TO-SEARCH.md ← Where to find job postings
├── LINKEDIN-OPTIMIZATION.md ← Profile optimization guide
├── job_search.html ← Job dashboard (35+ positions)
├── .gitignore ← Includes applications/
├── .claude/
│ └── skills/
│ └── build-resume/ ← This skill
│ ├── skill.md
│ ├── BUILD-RESUME-WORKFLOW.md
│ ├── YAML-TEMPLATE.md
│ └── README.md (you are here)
└── applications/ ← All job applications (not committed)
└── [company]/
└── [position]/
├── paul-halvorsen-resume.md
├── paul-halvorsen-resume.pdf
├── paul-halvorsen-cover-letter.md
├── paul-halvorsen-cover-letter.pdf
└── job-breakdown.md
```
## Important Rules
### ⚠️ No Fabrication
**All numbers and metrics must come from `paul-halvorsen-resume-detailed.md`**
Examples of violations:
- ❌ "$9 trillion in assets" (not in detailed resume)
- ❌ "40+ engineers" (not in detailed resume)
- ✓ "10 auto-scaling K8s clusters" (IS in detailed resume)
- ✓ "90% CPU reduction" (IS in detailed resume)
### YAML Formatting
- All contact info must be quoted: `"Email: paul.halvorsen@pm.me"`
- Keywords are comma-separated
- Use exact contact info (no variations)
### Cover Letter
- Be honest about gaps ("I haven't worked with X, but...")
- Address company mission
- Focus on transferable skills
- Professional and authentic tone
## Template Selection
| Template | Best For |
|----------|----------|
| `jb2resume-modern` | Tech companies, startups |
| `jb2resume` | Traditional industries |
| `awesome-cv` | Growth-stage startups |
## Workflow
1. Find job posting (see `JOB-BOARDS-TO-SEARCH.md`)
2. Use `/build-resume [description]`
3. Review job-breakdown.md for fit and strategy
4. Customize resume/cover letter if needed
5. Verify position on company careers page
6. Apply directly on company website
7. Connect with hiring manager on LinkedIn
## Making Changes
To update skill documentation:
1. Edit files in this directory: `/home/paul/Public/resume/.claude/skills/build-resume/`
2. Changes are local to this project
3. Git will track changes to `.claude/skills/`
## Need Help?
- **Workflow steps?** See `BUILD-RESUME-WORKFLOW.md`
- **YAML format?** See `YAML-TEMPLATE.md`
- **Full skill docs?** See `skill.md`
- **Detailed background?** See `/home/paul/Public/resume/paul-halvorsen-resume-detailed.md`
---
**Last Updated:** March 18, 2026

View File

@@ -0,0 +1,185 @@
# YAML Metadata Template
Copy this template into the top of every customized resume and cover letter markdown file.
## Standard Template
```yaml
---
name: Paul Halvorsen
keywords: backend engineer, api design, python, [ADD ROLE-SPECIFIC KEYWORDS]
left-column:
- "Email: paul.halvorsen@pm.me"
- "Phone: +1-410-236-4665"
right-column:
- "GitHub: github.com/malwhile"
- "LinkedIn: linkedin.com/in/paul-halvorsen"
- "Blog: flow.halvo.me"
fontsize: 10pt
fontenc: T1
urlcolor: blue
linkcolor: magenta
numbersections: false
---
```
## Important Notes
### Quoted Strings (CRITICAL)
- **All contact info must be quoted** to avoid YAML parsing issues
- Format: `"Label: value"`
- ✓ Correct: `- "Email: paul.halvorsen@pm.me"`
- ❌ Wrong: `- Email: paul.halvorsen@pm.me`
### Keywords
- Add role-specific keywords to improve ATS matching
- Examples:
- Backend role: `backend engineer, python, api design, rest api, distributed systems, kubernetes`
- Full-stack role: `full-stack engineer, python, react, javascript, frontend, backend`
- Security role: `security engineer, python, cryptography, authentication, oauth`
- Aim for 8-12 keywords
### Contact Info Guidelines
- Email: Always include (paul.halvorsen@pm.me)
- Phone: Always include (+1-410-236-4665)
- GitHub: Always include (github.com/malwhile)
- LinkedIn: Always include (linkedin.com/in/paul-halvorsen)
- Blog: Optional but recommended (flow.halvo.me)
- DO NOT include: "Citizen of the United States", generic titles like "Remote"
### Font & Color Options
These are sensible defaults. Rarely need to change:
- `fontsize: 10pt` — standard resume font size
- `fontenc: T1` — font encoding for special characters
- `urlcolor: blue` — hyperlink color
- `linkcolor: magenta` — cross-reference link color
- `numbersections: false` — don't number resume sections
### Optional: Add Name Color
```yaml
name-color: DarkSlateGray
```
SVG color names work: `DarkSlateGray`, `Tomato`, `DodgerBlue`, etc.
### Optional: Add Section Header Color
```yaml
section-color: Tomato
```
---
## Example Customizations
### Backend Engineer Focus
```yaml
---
name: Paul Halvorsen
keywords: backend engineer, python, api design, rest apis, oauth, authentication, distributed systems, kubernetes, docker, aws
left-column:
- "Email: paul.halvorsen@pm.me"
- "Phone: +1-410-236-4665"
right-column:
- "GitHub: github.com/malwhile"
- "LinkedIn: linkedin.com/in/paul-halvorsen"
- "Blog: flow.halvo.me"
fontsize: 10pt
fontenc: T1
urlcolor: blue
linkcolor: magenta
numbersections: false
---
```
### Security Engineer Focus
```yaml
---
name: Paul Halvorsen
keywords: security engineer, cryptography, authentication, oauth, python, golang, c, penetration testing, secure systems
left-column:
- "Email: paul.halvorsen@pm.me"
- "Phone: +1-410-236-4665"
right-column:
- "GitHub: github.com/malwhile"
- "LinkedIn: linkedin.com/in/paul-halvorsen"
- "Blog: flow.halvo.me"
fontsize: 10pt
fontenc: T1
urlcolor: blue
linkcolor: magenta
numbersections: false
---
```
### Full-Stack Engineer Focus
```yaml
---
name: Paul Halvorsen
keywords: full-stack engineer, python, react, typescript, javascript, rest apis, distributed systems, kubernetes
left-column:
- "Email: paul.halvorsen@pm.me"
- "Phone: +1-410-236-4665"
right-column:
- "GitHub: github.com/malwhile"
- "LinkedIn: linkedin.com/in/paul-halvorsen"
- "Blog: flow.halvo.me"
fontsize: 10pt
fontenc: T1
urlcolor: blue
linkcolor: magenta
numbersections: false
---
```
---
## Validation Checklist
Before using the template:
- [ ] All contact info is quoted with "Label: value" format
- [ ] Keywords are comma-separated
- [ ] Email is paul.halvorsen@pm.me
- [ ] Phone is +1-410-236-4665
- [ ] GitHub is github.com/malwhile
- [ ] LinkedIn is linkedin.com/in/paul-halvorsen (no https://)
- [ ] Blog is flow.halvo.me (if including)
- [ ] No "Citizen of the United States" in right-column
- [ ] No generic "Remote" keyword unless job-specific
- [ ] fontsize, fontenc, urlcolor, linkcolor match defaults
---
## Date Formatting
Use the `\resumedate{}` macro for smaller dates under section headers:
```markdown
### Software Engineer | Abnormal AI
\resumedate{**January 2026 Present**}
```
This makes dates visually distinct from section headers while keeping them readable.
---
## After YAML Metadata
Start your resume or cover letter content immediately after the closing `---`:
```yaml
---
name: Paul Halvorsen
...
---
## Summary
[Your summary content here]
## Technical Skills
[Skills content here]
```
---
Last Updated: March 18, 2026

View File

@@ -0,0 +1,204 @@
---
name: build-resume
description: Generate tailored resumes and cover letters for specific job applications using Paul's detailed resume as context
type: skill
arguments:
- name: job_description
description: Job posting text or details (paste job description, link, or brief details)
required: true
output:
- resume_md: Customized resume in markdown with YAML metadata
- resume_pdf: Compiled PDF resume
- cover_letter_md: Customized cover letter in markdown
- cover_letter_pdf: Compiled PDF cover letter
- job_breakdown_md: Analysis, fit assessment, and strategy notes
---
# build-resume Skill
Generate tailored resumes and cover letters for specific job applications.
## Quick Start
```
/build-resume [paste job description or provide details]
```
## Output Structure
Creates organized directory structure:
```
applications/
└── company-name/
└── job-title/
├── paul-halvorsen-resume.md
├── paul-halvorsen-resume.pdf
├── paul-halvorsen-cover-letter.md
├── paul-halvorsen-cover-letter.pdf
└── job-breakdown.md (analysis)
```
Examples: `applications/zapier/backend-engineer/`, `applications/stripe/senior-backend-engineer/`
## YAML Metadata Format
**IMPORTANT:** Use quoted strings for contact info to avoid YAML parsing issues.
### Template
```yaml
---
name: Paul Halvorsen
keywords: key1, key2, key3
left-column:
- "Email: paul.halvorsen@pm.me"
- "Phone: +1-410-236-4665"
right-column:
- "GitHub: github.com/malwhile"
- "LinkedIn: linkedin.com/in/paul-halvorsen"
- "Blog: flow.halvo.me"
fontsize: 10pt
fontenc: T1
urlcolor: blue
linkcolor: magenta
numbersections: false
---
```
### Contact Info Guidelines
- Always include email and phone
- Include GitHub link
- Include LinkedIn (preferred over "Remote" keyword)
- Blog link is optional
- Do NOT include "Citizen of the United States" in right-column for job resumes
- Use format: `"Label: value"` (quoted entire string)
## Dates Formatting
Use the `\resumedate{}` macro to make dates smaller than headers:
```markdown
### Job Title | Company
\resumedate{**January 2026 Present**}
```
## Building PDFs
### Classic Template
```bash
make resume FILE_NAME=company/job-title/paul-halvorsen-resume
make resume FILE_NAME=company/job-title/paul-halvorsen-cover-letter
```
### Modern Template (Recommended)
```bash
make resume-modern FILE_NAME=company/job-title/paul-halvorsen-resume
make resume-modern FILE_NAME=company/job-title/paul-halvorsen-cover-letter
```
### Awesome-CV Template
```bash
make resume-awesome FILE_NAME=company/job-title/paul-halvorsen-resume
make resume-awesome FILE_NAME=company/job-title/paul-halvorsen-cover-letter
```
## Resume Customization Strategy
1. **Lead with relevant technical skills** from job description
2. **Reorder work experience** (most relevant first)
3. **Highlight metrics** from roles that match JD requirements
4. **Frame gaps honestly** in cover letter (e.g., "I haven't worked with X, but...")
5. **De-emphasize Sr/Staff titles** when applying to mid-level roles
## CRITICAL: No Fabrication Rule
**BLOCKING REQUIREMENT:** All numbers and metrics must come from `paul-halvorsen-resume-detailed.md`.
### Pre-Write Checklist
For every bullet point with a number:
- [ ] Is this in `paul-halvorsen-resume-detailed.md`?
- [ ] If NO: remove it or rephrase without the number
- [ ] If YES: use the exact number/metric
### Allowed
- Reordering existing information
- Reframing for clarity
- Removing less relevant details
- Using exact metrics from detailed resume
### Not Allowed
- Inventing metrics
- Making up achievements
- Exaggerating scales or customer counts
- Creating statistics not documented
### Examples
- ✓ "Performance improvements: reduced CPU usage ~90%" (IS in detailed resume)
- ✓ "10 auto-scaling clusters" (IS in detailed resume)
- ✓ "Customers: thousands of Fortune 500 endpoints" (IS in detailed resume)
- ❌ "$9 trillion in assets" (NOT in detailed resume)
- ❌ "40+ engineers" (NOT in detailed resume)
## Cover Letter Approach
- **Be upfront about gaps** (e.g., "I haven't worked professionally with C#")
- **Emphasize transferable skills** and learning ability
- **Address company mission** (e.g., travel industry, fintech, etc.)
- **Frame intentional career moves** (e.g., moving away from on-call work to sustainable roles)
- Keep tone professional, confident, and honest—not defensive
## Key Clarifications from Paul's Background
### CompTIA Security+ Certification
- **Status:** Expired 04/04/2024 (no longer active)
- **Note:** Do NOT list as active in resumes
### NSA Experience - Database Scale
- **Database:** Thousands of records (not hundreds of thousands)
- Use in resume: "thousands of records" or similar
### Language Learning Capability
- Paul has mastered 5+ languages (Rust, Python, C, GoLang, Java)
- Use when applying to roles with unfamiliar tech stacks
- Frame as evidence of quick learning ability
### Tech Stack Preferences
- **Primary:** Backend, systems programming, security
- **Secondary:** Full-stack if learning opportunity (new languages/frameworks)
- **Avoid:** Emphasis on junior mentoring, heavy management
## ATS Optimization
- Aim for 75-85% keyword match with job description
- Include role-specific technologies in skills section
- Use exact terminology from JD where possible
- Avoid creative formatting that breaks ATS parsing
## Application Workflow
1. Use `/build-resume [job description]` to generate customized documents
2. Review job-breakdown.md for fit assessment and strategy
3. Update applications_tracker.md to log the application
4. Build PDFs using appropriate template
5. Verify position on company careers page
6. Submit through company site (not job board)
7. Connect with hiring manager on LinkedIn
## File Locations
- **Resume source:** `/home/paul/Public/resume/paul-halvorsen-resume-detailed.md`
- **This skill:** `/home/paul/Public/resume/.claude/skills/build-resume/`
- **Workflow guide:** `/home/paul/Public/resume/.claude/skills/build-resume/BUILD-RESUME-WORKFLOW.md`
- **Job boards:** `/home/paul/Public/resume/JOB-BOARDS-TO-SEARCH.md`
- **LinkedIn guide:** `/home/paul/Public/resume/LINKEDIN-OPTIMIZATION.md`
- **Job search dashboard:** `/home/paul/Public/resume/job_search.html`
- **Application tracker:** `/home/paul/.claude/projects/-home-paul-Public-resume/memory/applications_tracker.md`
## Notes for Implementation
- Update `paul-halvorsen-resume-detailed.md` with any role clarifications (scale, tech, responsibilities)
- Detailed resume serves as source of truth for customized versions
- LinkedIn URL: linkedin.com/in/paul-halvorsen (without https://)
- GitHub URL: github.com/malwhile
- Email: paul.halvorsen@pm.me
- Phone: +1-410-236-4665

View File

@@ -0,0 +1,286 @@
# Job Criteria Checklist
Quick reference for evaluating whether a position matches your requirements.
---
## Hard Requirements (Must-Have)
These are non-negotiable. Skip if ANY are missing or violated.
### ✅ Remote Status
- [ ] 100% remote OR
- [ ] Work from home (no office required) OR
- [ ] Async-first with occasional travel
**Skip if:**
- ❌ "Flexible remote" but office-based
- ❌ "Remote but HQ in [city]"
- ❌ "Hybrid" with required office days
- ❌ Relocation required
---
### ✅ On-Call Status
- [ ] No on-call mentioned
- [ ] No pager duty mentioned
- [ ] No 24/7 support mentioned
- [ ] No "production ownership" in incident response context
**Skip immediately if:**
- ❌ "On-call rotation"
- ❌ "Pager duty"
- ❌ "24/7 support"
- ❌ "Incident response team"
- ❌ "Weekend on-call"
- ❌ "Production ownership requires on-call"
This is a hard requirement. One mention = reject.
---
### ✅ Salary
- [ ] Base salary $130K+ (minimum)
- [ ] Salary is transparent or negotiable
- [ ] If equity offered: solid base salary (not equity-heavy)
**Check:**
- [ ] Posted salary is $130K+, OR
- [ ] Company pays that range for the role, OR
- [ ] Willing to negotiate to $130K+
**Skip if:**
- ❌ Salary $120K or below
- ❌ "Competitive" with no range
- ❌ Mostly equity, low base
---
### ✅ Role Type
- [ ] Backend Engineer OR
- [ ] Platform Engineer OR
- [ ] Infrastructure Engineer OR
- [ ] Site Reliability Engineer (if not heavy on-call)
**Skip if:**
- ❌ Full-stack (unless clear backend focus)
- ❌ Junior Developer
- ❌ DevOps only (different focus)
- ❌ Systems Administrator
---
### ✅ Technology Stack
- [ ] At least one: Python, Go, Rust, Java, C
- [ ] REST APIs mentioned or implied
- [ ] Modern infrastructure tools (Docker, Kubernetes, AWS, etc.)
**Preferred stack:**
- ✓✓ Python + REST APIs + Kubernetes
- ✓✓ Go + REST APIs + Kubernetes
- ✓✓ Rust + REST APIs + distributed systems
- ✓ Java + REST APIs (learnable from Python)
- ✓ C + systems programming (learnable)
- ✓ JavaScript/TypeScript (if full-stack opportunity)
**Skip if:**
- ❌ Only C++/C# unless very compelling
- ❌ Only legacy languages (COBOL, Fortran, etc.)
- ❌ Frontend-heavy with minimal backend
---
## Strong Positives (+1 point each)
### Company & Culture
- [ ] Explicitly mentions "async-first" or "async culture"
- [ ] Remote-first company (not traditional company with remote option)
- [ ] Company founded specifically as remote
- [ ] Multiple office locations or fully distributed team
- [ ] Clear communication about work-life balance
- [ ] "No crunch" or "sustainable pace" mentioned
### Role Quality
- [ ] Clear role description and responsibilities
- [ ] Growing engineering team (hiring actively)
- [ ] Opportunity to learn new tech mentioned
- [ ] Mentorship or growth path mentioned
- [ ] Architecture/design work emphasized
- [ ] API design or system design mentioned
### Compensation & Benefits
- [ ] Salary at top of range ($180K+)
- [ ] Equity offered (if profitable/stable company)
- [ ] Generous vacation/PTO (unlimited or 25+ days)
- [ ] Professional development budget mentioned
- [ ] Flexible hours mentioned
- [ ] Parental leave or family benefits
### Mission & Impact
- [ ] Mission statement aligns with your values
- [ ] Company solves real problems (not just hype)
- [ ] Profitable or well-funded (stability)
- [ ] Growing rapidly (opportunity for impact)
- [ ] Social impact or meaningful work mentioned
---
## Red Flags (-1 point each)
### Culture Red Flags
- [ ] "Startup hustle" or "high energy" mentioned
- [ ] "Move fast and break things" philosophy
- [ ] "Startup mentality" emphasized
- [ ] "On-call is learning opportunity" framing
- [ ] Heavy emphasis on long hours
- [ ] "Passionate" mentioned 5+ times
- [ ] "Rocket ship", "unicorn", "rapid growth" without context
### Role Red Flags
- [ ] Vague role description
- [ ] Too many responsibilities (5+ distinct areas)
- [ ] Heavy on meetings or "collaboration"
- [ ] Management/mentoring heavily emphasized
- [ ] "Wear many hats" or jack-of-all-trades
- [ ] Recent team departures (from research)
- [ ] High turnover rate (5+ people left in 1 year)
### Compensation Red Flags
- [ ] Mostly equity, low base salary
- [ ] "Equity is the real comp" messaging
- [ ] Salary negotiable only "for right candidate"
- [ ] Significantly below market ($100K for your experience)
- [ ] No mentioning of benefits
- [ ] Unlimited PTO (often means less vacation)
### Company Red Flags
- [ ] Negative Glassdoor reviews (3.5 stars or below)
- [ ] Comments about work-life balance issues
- [ ] Recent major departures or layoffs
- [ ] Funding running low or burn rate high
- [ ] Legal issues or regulatory problems
- [ ] Poor remote culture reviews
### Remote Red Flags
- [ ] "Remote but in [time zone]" requirement
- [ ] Occasional "required" office days
- [ ] "Mostly remote" with unstated expectations
- [ ] Timezone restrictions
- [ ] Limited async communication
- [ ] Heavy emphasis on meetings/sync time
---
## Fit Score Calculation
Use this to score positions 1-10:
### Start at 5 points (baseline)
### Add points for:
- [ ] +1: Preferred tech stack (Python, Go, Rust)
- [ ] +1: Explicitly remote-first / async culture
- [ ] +1: Salary at top of range ($180K+)
- [ ] +1: Mission alignment (meaningful work)
- [ ] +1: Strong company fundamentals (profitable, stable)
- [ ] +1: Team stability (low turnover)
- [ ] +1: Growth opportunity (learning or advancement)
- [ ] +1: Excellent benefits (25+ PTO, parental leave, dev budget)
- [ ] +1: API/system design work mentioned
- [ ] +1: Architecture/infrastructure focus
### Subtract points for:
- [ ] -1: Secondary tech stack (Java, JavaScript)
- [ ] -1: Traditional company with remote option (not remote-first)
- [ ] -1: Salary below $150K
- [ ] -1: Mission not aligned
- [ ] -1: Early-stage startup (high risk)
- [ ] -1: Team appears to be high-churn
- [ ] -1: Limited growth opportunity
- [ ] -1: "On-call" mentioned (ALSO SKIP THIS, hard requirement)
- [ ] -1: Heavy management expectations
- [ ] -1: Vague role description
### Final Score
- **9-10:** Perfect match — Apply immediately
- **8:** Excellent fit — Apply enthusiastically
- **7:** Good fit — Apply with customized materials
- **6:** Okay fit — Apply if meeting quota
- **5:** Neutral — Consider if other criteria stand out
- **Below 5:** Skip — Not a good use of time
---
## Quick Evaluation (2 minutes)
Use this if you want to quickly evaluate a position:
```
1. Remote? YES / NO → If NO, skip
2. On-call? YES / NO → If YES, skip
3. Salary $130K+? YES / NO → If NO, skip
4. Backend role? YES / NO → If NO, skip
5. Has Python/Go/Rust? YES / NO → If NO, maybe skip
6. Red flags? YES / NO → If YES, skip
If all ✓ (except #5):
→ Verify on company site
→ Add to dashboard
→ Build resume
```
---
## Position Evaluation Template
When you find a promising position:
**Basic Info:**
- Company: _____________
- Role: _____________
- Posted: _____________
- Salary: _____________
- Link: _____________
**Must-Have Check:**
- [ ] Remote: YES / NO
- [ ] On-call: None / Minimal / Mentioned / Mentioned heavily
- [ ] Salary: $_____ (meets $130K+? YES/NO)
- [ ] Backend role: YES / NO
**Tech Stack:**
- [ ] Languages: _____________
- [ ] Frameworks: _____________
- [ ] Infrastructure: _____________
- [ ] Fit: ✓ Preferred / ✓ Acceptable / ✗ Not ideal
**Culture:**
- [ ] Red flags found: YES / NO
- [ ] If YES, list: _____________
- [ ] Strong positives: YES / NO
- [ ] If YES, list: _____________
**Fit Score:** 1-10 ___
- [ ] Apply immediately (9-10)
- [ ] Apply with care (7-8)
- [ ] Apply if quota allows (6)
- [ ] Skip (5 or below)
**Decision:** APPLY / SKIP
**Reason:** _____________
---
## During Application
After you decide to apply:
1. **Use /build-resume** to generate customized materials
2. **Double-check on-call** in full job description (final check)
3. **Verify on company site** before submitting
4. **Log in tracker** with date, company, role, fit score
5. **Set follow-up reminder** for 1 week after
---
**Last Updated:** March 18, 2026

View File

@@ -0,0 +1,191 @@
# Job Board Search Sources
**Purpose:** Comprehensive list of job boards to search when looking for remote backend engineer positions.
**Last Updated:** March 18, 2026
**Strategy:** Search these boards in order. When finding a position, verify it exists on the company's official careers page before applying directly there.
---
## PRIMARY JOB BOARDS (Check Daily/Weekly)
### General Tech Job Boards
1. **Company Direct Careers Pages** ⭐ THE GOLDMINE
- Best for: Roles that never hit job boards
- How to: Search "[Company Name] careers" or company-name.com/jobs
- Examples: stripe.com/jobs, gitlab.com/careers, zapier.com/jobs
2. **Indeed**
- URL: https://indeed.com
- Best for: Aggregates across the web, catches hidden roles
- Filter: Remote, backend engineer, Python/Go
3. **LinkedIn**
- URL: https://linkedin.com/jobs
- Best for: World's largest professional network, direct networking
- Strategy: See job here, verify on company site, apply directly
4. **Built In**
- URL: https://builtin.com/jobs/remote/dev-engineering/
- Best for: Startup and high-growth companies
- Filter: Remote, backend engineer, Python/Go/Rust
### Remote-Specific Job Boards
5. **WeWorkRemotely**
- URL: https://weworkremotely.com
- Best for: Curated, trusted by top remote companies
- Focus: Engineering, product, design
6. **RemoteOK**
- URL: https://remoteok.com
- Best for: Smart filters, salary and time-zone info upfront
- Filter: Backend, Python, Golang, remote
7. **DailyRemote**
- URL: https://dailyremote.com
- Best for: Fresh listings daily
- Focus: Design, dev, customer support
### Other Primary Boards
8. **Cord.co**
- URL: https://cord.co
- Best for: Companies apply to YOU (passive matching)
- Focus: Developers, designers, product managers
---
## SECONDARY JOB BOARDS (Check Weekly/Monthly)
9. **JobServe**
- URL: https://jobserve.com
- Best for: IT, finance, engineering
- Note: Contract roles with less competition
10. **JustRemote**
- URL: https://justremote.co
- Best for: Time-zone friendly, "anywhere" roles
11. **Totaljobs**
- URL: https://totaljobs.com
- Best for: Mid-level professionals, advanced filters
- Reach: Huge UK presence
12. **Hiring Cafe**
- URL: https://hiring.cafe
- Best for: Community feel, curated handpicked roles
- Vibe: Less corporate, more community-focused
---
## SPECIALIZED BOARDS BY LANGUAGE/TECHNOLOGY
### Python
- **RemotePython.com** - https://remotepython.com
- **Python.org Jobs** - https://python.org/jobs
### Go/Golang
- **Golang.cafe** - https://golang.cafe
- **GolangProjects** - https://www.golangprojects.com/golang-remote-jobs.html
### Rust
- **RustJobs.dev** - https://rustjobs.dev
---
## TARGET COMPANIES (Apply Directly to Careers Pages)
### High Priority (Apply Weekly)
- **Stripe** - https://stripe.com/jobs
- **GitLab** - https://gitlab.com/careers
- **Automattic** - https://automattic.com/jobs
- **Zapier** - https://zapier.com/jobs
### Medium Priority (Apply Monthly)
- **Cloudflare** - https://cloudflare.com/careers
- **Vercel** - https://vercel.com/careers
- **Shopify** - https://shopify.com/careers/search
- **Twilio** - https://twilio.com/careers
### Growth Companies (Apply As Needed)
- **Segment** - https://segment.com/careers
- **Datadog** - https://www.datadoghq.com/careers/
- **Figma** - https://figma.com/careers
- **Notion** - https://notion.so/careers
---
## SEARCH CRITERIA (When Searching)
**Must Have:**
- Remote (100% remote or explicitly remote-eligible)
- Salary: $120K or higher
- Backend engineer, platform engineer, or infrastructure engineer roles
- Technologies: Python, Go, Rust, Kubernetes, REST APIs
**Must Avoid:**
- On-call rotations
- Unnecessary meetings culture
- Hype over substance
- Positions requiring relocation
---
## HOW TO USE THIS LIST
### Daily Search (5 minutes):
- [ ] WeWorkRemotely
- [ ] RemoteOK
- [ ] Built In
### Weekly Search (15 minutes):
- [ ] DailyRemote
- [ ] Indeed (with filters)
- [ ] LinkedIn (with filters)
- [ ] Cord.co (check if any match your profile)
- [ ] Golang.cafe (if interested in Go roles)
### Monthly Search (20 minutes):
- [ ] Secondary boards (JobServe, JustRemote, Totaljobs, Hiring Cafe)
- [ ] Specialized boards (RemotePython.com, RustJobs.dev)
- [ ] Target companies' careers pages (all 4 high priority + 4 medium priority)
---
## WHEN YOU FIND A POSITION
1. **See it on job board** (e.g., RemoteOK, WeWorkRemotely, etc.)
2. **Go to company website** (e.g., "stripe.com/jobs" or search "[Company Name] careers")
3. **Find the exact same role on company site** (verify it's real)
4. **Apply directly on company's careers page** (not through job board)
5. **Connect with hiring manager on LinkedIn** (mention your application)
---
## NOTES
- **Company career pages** = less competition, direct to hiring team
- **Job boards** = good for discovery, but apply on company site if possible
- **Verify everything** = avoid scams and aggregator links
- **Bookmark these** = check daily/weekly for fresh opportunities
---
## How to Edit This File
Edit this file directly: `/home/paul/Public/resume/JOB-BOARDS-TO-SEARCH.md`
To add a new board:
1. Add URL and description in the appropriate section
2. Include best use case
3. Note any special filters or focus
To remove a board:
1. Delete the entry
2. Update the last modified date
---
**Last Verified:** March 18, 2026
**All URLs Tested:** Yes
**Status:** Active and current

View File

@@ -0,0 +1,298 @@
# job-search Skill
Find, verify, and track backend engineer job opportunities with quality filtering.
## Files in This Directory
- **skill.md** — Skill definition, job boards, red flags, on-call risks
- **SEARCH-STRATEGY.md** — Systematic 3-tier search approach and workflows
- **CRITERIA-CHECKLIST.md** — Evaluation template and fit scoring (1-10)
- **README.md** — This file
## Quick Start
```
/job-search [search type]
```
### Common Commands
**Find positions across boards:**
```
/job-search find-positions
/job-search find-positions golang
/job-search search-board weworkremotely
```
**Check if position meets criteria:**
```
/job-search check-criteria [job description or URL]
```
**Verify position on company site:**
```
/job-search verify-position [company name and role]
```
**Track found position:**
```
/job-search track-found [company] [role] [URL] [fit-score]
```
## Your Search Criteria
**Hard Requirements (Skip if Missing):**
- ✅ 100% Remote (no office required)
- ✅ No on-call/pager duty
- ✅ $130K+ salary
- ✅ Backend engineer role
- ✅ Python, Go, Rust, or similar
**Red Flags (Auto-Skip):**
- ❌ On-call/pager duty mentioned anywhere
- ❌ Non-remote despite "flexible remote" claims
- ❌ Below $130K salary
- ❌ Startup hustle culture
---
## 3-Tier Search System
### Daily Search (5 min)
Focus on new postings on best boards:
1. WeWorkRemotely
2. RemoteOK
3. Built In
### Weekly Search (20 min)
Broader search + targeted platforms:
4. LinkedIn
5. DailyRemote
6. Indeed
7. Cord.co
8. Specialized boards (Golang.cafe, RemotePython.com, etc.)
### Monthly Search (45 min)
Deep dive into secondary sources:
- Secondary boards (JobServe, JustRemote, Totaljobs)
- Target company careers pages (Stripe, GitLab, Automattic, Zapier, etc.)
- Growth company pages (Cloudflare, Vercel, Shopify, Twilio)
See **SEARCH-STRATEGY.md** for full details with links.
---
## Verification Workflow
Every position must be verified before applying:
1. **Find on job board** (RemoteOK, WeWorkRemotely, etc.)
2. **Go to company website** (search "[Company] careers")
3. **Find exact same role** on company careers page
4. **Verify it's real** (posting date, "Apply Now" button works)
5. **Check on-call one more time** (final check for red flags)
6. **Get direct URL** from company site (use for application)
7. **Apply directly** to company (not through job board)
---
## Fit Scoring
Evaluate each position on a 1-10 scale:
| Score | Action | Notes |
|-------|--------|-------|
| 9-10 | Apply immediately | Perfect match, all criteria met |
| 8 | Apply enthusiastically | Excellent fit, maybe one gap |
| 7 | Apply with care | Good fit, one technical gap |
| 6 | Apply if quota allows | Okay fit, some gaps but salvageable |
| 5 | Consider carefully | Neutral, not compelling |
| <5 | Skip | Not worth the effort |
Use **CRITERIA-CHECKLIST.md** to calculate fit scores.
---
## Key Requirements Explained
### Remote (100% or Work-from-Home)
- Not: "Flexible remote" with office base
- Not: "Hybrid" with required days
- Yes: Fully distributed team
- Yes: "Work from anywhere"
- Yes: "Async-first culture"
### No On-Call
These phrases = SKIP IMMEDIATELY:
- "On-call rotation"
- "Pager duty"
- "24/7 support"
- "Production ownership" (in incident context)
- "Weekend on-call"
- "Incident response rotation"
This is non-negotiable. One mention = reject.
### $130K+ Minimum
- Base salary, not total comp
- Equity is bonus, not replacement
- Negotiable if company is great fit
- Non-negotiable if mediocre fit
### Backend Engineer Role
- Not: Full-stack (unless 80%+ backend)
- Not: Frontend with "backend knowledge"
- Not: DevOps (different focus)
- Not: QA or test engineering
- Yes: Platform engineer, Infrastructure engineer, SRE (if not heavy on-call)
### Tech Stack
- **Preferred:** Python, Go, Rust
- **Acceptable:** Java, C, JavaScript (learnable)
- **Lower priority:** C++, C# (different paradigms)
- **Avoid:** Legacy languages only
---
## Integration with Other Skills
### Found a Position?
Once you've found and verified a position, use the other skill:
```
/build-resume [paste job description]
```
This will:
1. Create customized resume
2. Generate cover letter
3. Create job breakdown with strategy
4. Build PDFs ready to submit
5. Log application in tracker
### Application Workflow
```
Find position → Verify on company site → /build-resume → Apply → Log in tracker
```
---
## Tools & Files
**In this skill directory:**
- `skill.md` — Comprehensive skill documentation
- `SEARCH-STRATEGY.md` — Detailed search workflows
- `CRITERIA-CHECKLIST.md` — Evaluation template and scoring
- `JOB-BOARDS-TO-SEARCH.md` — Full board list with all links
**In your project:**
- `/home/paul/Public/resume/search/` — Search results (local, not committed)
- `/home/paul/Public/resume/applications/` — Job applications (local, not committed)
- `/home/paul/Public/resume/job_search.html` — Dashboard of 35+ verified positions
- `/home/paul/.claude/projects/-home-paul-Public-resume/memory/applications_tracker.md` — Your application log
---
## Search Checklist
### Before Every Search Session
- [ ] Have JOB-BOARDS-TO-SEARCH.md open (for board links)
- [ ] Know your criteria (remote, $130K+, no on-call)
- [ ] Have 15-45 min depending on tier (daily/weekly/monthly)
- [ ] Plan to evaluate positions with CRITERIA-CHECKLIST.md
### During Search
- [ ] Check each board for new postings
- [ ] Quick filter: Remote? $130K+? Backend role? Tech stack?
- [ ] Note promising roles in job_search.html
- [ ] Verify positions on company career pages
- [ ] Check for on-call language (final check)
### After Search
- [ ] Log verified positions in dashboard
- [ ] Evaluate fit scores (1-10)
- [ ] Plan which to apply to this week
- [ ] Track completed positions in applications_tracker
---
## Success Metrics
**Weekly Goals:**
- Find: 5-10 positions
- Verify: 3-5 on company sites
- Apply: 3-5 quality applications
- Track: All applications logged
**Monthly Review:**
- Response rate: How many replies?
- Interview conversion: How many interviews?
- Offer rate: Any offers?
- Adjust strategy if needed
---
## Common Pitfalls to Avoid
**Applying to every position** — Quality > quantity
**Ignoring on-call mentions** — This is your red line
**Applying through job boards** — Always apply directly to company site
**Not verifying positions** — Confirm on company careers page first
**Applying to anything under $130K** — Stick to your minimum
**Skipping the verification step** — It takes 2 minutes and saves time
**Not customizing resumes** — Generic materials have low conversion
**Do this instead:**
- ✓ 3-5 quality applications per week
- ✓ Verify every position first
- ✓ Use /build-resume for customization
- ✓ Apply directly to company sites
- ✓ Track everything in applications_tracker
- ✓ Follow up consistently
---
## Next Steps
1. **Read SEARCH-STRATEGY.md** — Understand the 3-tier system
2. **Review CRITERIA-CHECKLIST.md** — Learn how to evaluate positions
3. **Check JOB-BOARDS-TO-SEARCH.md** — See all 12+ boards available
4. **Do daily search** — 5 minutes on 3 primary boards
5. **Track positions** — Use /job-search track-found or update job_search.html
6. **Build resumes** — Use /build-resume for matched positions
7. **Monitor applications_tracker** — Track dates, follow up at 1 week
---
## Tips for Success
**Search smarter, not harder:**
- Daily search takes 5 min (just stay aware)
- Weekly search takes 20 min (find actual positions)
- Monthly search takes 45 min (deep dive)
- Total: ~1 hour per week for systematic search
**Batch your work:**
- Search on Monday
- Build resumes Tue-Thu
- Apply on Friday
- Follow up next Friday
**Use all resources:**
- Tier 1 boards (daily)
- Tier 2 boards (weekly)
- Tier 3 + company pages (monthly)
- Set email alerts for consistency
**Verify everything:**
- Before applying, verify on company site
- Reduces application rejections
- Improves interview conversion
- Saves time (2 min verification vs wasted application)
---
**Last Updated:** March 18, 2026

View File

@@ -0,0 +1,380 @@
# Job Search Strategy
Systematic approach to finding quality backend engineer positions that match your criteria.
---
## Your Non-Negotiables ✅
**Hard Requirements:**
- Remote (100% or work-from-home)
- No on-call/pager duty
- $130K+ salary
- Backend engineer role
- Technologies: Python, Go, Rust (preferred)
**Red Flags = Auto-Skip:**
- On-call rotation mentioned
- Pager duty / 24x7 support
- "Startup hustle" culture
- Heavy mentoring expectations
- Not truly remote
---
## Three-Tier Search System
### TIER 1: Daily (5 min)
**Purpose:** Stay aware of new postings, catch great opportunities early
**Boards:**
1. **WeWorkRemotely** (https://weworkremotely.com)
- Filter: Dev Engineering, Remote
- Look for: Established companies, explicit remote culture
- Why: Curated, trusted companies post here first
2. **RemoteOK** (https://remoteok.com)
- Filter: Backend, Python/Go/Rust, Remote, $130K+
- Look for: Salary upfront, time zone info
- Why: Smart filters, no guessing on salary
3. **Built In** (https://builtin.com/jobs/remote/dev-engineering/)
- Filter: Remote, backend engineer, Python/Go
- Look for: Startup and scale-up companies
- Why: Good quality postings from growth companies
**Action:** 5 minutes, check each board, bookmark promising roles
---
### TIER 2: Weekly (20 min)
**Purpose:** Broader search, check secondary sources, targeted platforms
**Boards:**
4. **LinkedIn** (https://linkedin.com/jobs)
- Filter: Remote, Backend Engineer, $130K+, Mid-Senior level
- Setup: Create saved search for notifications
- Look for: Direct company postings, recruiter outreach
- Why: World's largest network, catches hidden roles
5. **DailyRemote** (https://dailyremote.com)
- Filter: Dev, Remote
- Look for: Freshly posted daily listings
- Why: Curated daily, less saturated than Indeed
6. **Indeed** (https://indeed.com)
- Filter: Remote, Backend Engineer, $130K+, Python/Go
- Setup: Notification alerts
- Look for: Less covered roles, niche companies
- Why: Largest job board, catches everything
7. **Cord.co** (https://cord.co)
- Just browse your matches
- Look for: Companies interested in YOU
- Why: Passive matching = less competitive
8. **Language-Specific Boards**
- Golang.cafe — https://golang.cafe (if interested in Go)
- RemotePython.com — https://remotepython.com (Python focus)
- RustJobs.dev — https://rustjobs.dev (Rust focus)
**Action:** 20 minutes, check each board, bookmark 1-3 interesting roles
---
### TIER 3: Monthly (45 min)
**Purpose:** Deep search, check specialized sources, target specific companies
**Secondary Boards:**
9. JobServe — https://jobserve.com
10. JustRemote — https://justremote.co
11. Totaljobs — https://totaljobs.com
12. Hiring Cafe — https://hiring.cafe
**Target Company Careers Pages:**
**High Priority (Check Weekly):**
- Stripe — https://stripe.com/jobs
- GitLab — https://gitlab.com/careers
- Automattic — https://automattic.com/jobs
- Zapier — https://zapier.com/jobs
**Medium Priority (Check Monthly):**
- Cloudflare — https://cloudflare.com/careers
- Vercel — https://vercel.com/careers
- Shopify — https://shopify.com/careers/search
- Twilio — https://twilio.com/careers
**Growth Companies:**
- Segment — https://segment.com/careers
- Datadog — https://www.datadoghq.com/careers/
- Figma — https://figma.com/careers
- Notion — https://notion.so/careers
**Action:** 45 minutes, check secondary boards and target company pages, find 2-5 promising roles
---
## Filtering Workflow
### Step 1: Title & Location Check (10 seconds)
```
Does it say "Backend Engineer" OR "Platform Engineer" OR "Infrastructure Engineer"?
Is it marked "Remote" or "Work from home"?
→ If NO to either: Skip immediately
```
### Step 2: Salary Check (10 seconds)
```
Can you see the salary?
→ If shown: Is it $130K+?
→ If not shown: Check company size/location clues
→ If clearly below $130K: Skip
```
### Step 3: On-Call Check (20 seconds)
```
Search job description for:
- "on-call"
- "pager duty"
- "24/7 support"
- "production ownership"
- "incident response"
→ If ANY found: SKIP IMMEDIATELY (hard requirement)
```
### Step 4: Tech Stack Check (20 seconds)
```
Does job mention:
- Python? Go? Rust? (preferred)
- Or Java? C? JavaScript? (acceptable)
→ If only: C++, C#, .NET, Java only: Lower priority but consider
→ If only: Frontend-heavy or full-stack: Consider lower
```
### Step 5: Company & Culture Check (30 seconds)
```
Company mission: Does it align with your values?
Company size: Startup? Scale-up? Established?
Team size: How many engineers?
Growth: Profitable? Funded? Stable?
→ Red flags: "Hustle culture", "startup energy", "move fast/break things"
```
---
## Verification Process
Found a position that passes filters? Verify it's real:
### 1. Find on Job Board ✓
- Position found on WeWorkRemotely, RemoteOK, etc.
- Note the posting date
- Screenshot or bookmark
### 2. Go to Company Website
- Search: "[Company Name] careers" in Google
- Or go directly: company.com/jobs
- Example: stripe.com/jobs, gitlab.com/careers
### 3. Find the Exact Role
- Look for same job title and team
- Verify posting date (not old)
- Check if "Apply Now" button is active
- Read full job description for red flags
### 4. Get Direct Application URL
- Copy the direct link from company site
- This is what you'll use to apply
- Save in job_search.html dashboard
### 5. Final On-Call Check
- Read full job description one more time
- Search for: "on-call", "pager", "24/7", "incident response"
- If found: Flag as red, skip application
- If not found: Proceed to applying
---
## Application Workflow
Once you've found and verified a great position:
### 1. Get Job Description
- Copy full job description
- Save it
### 2. Build Resume
```
/build-resume [paste job description]
```
This creates:
- Customized resume
- Customized cover letter
- Job breakdown with strategy notes
- PDFs ready to submit
### 3. Apply on Company Site
- Use direct URL from company careers page (not job board)
- Submit resume and cover letter
- Optional: Write personalized cover letter
### 4. Log Application
- Update `/home/paul/.claude/projects/-home-paul-Public-resume/memory/applications_tracker.md`
- Record: date applied, company, role, fit score
- Set reminder for follow-up (1 week)
### 5. LinkedIn Connect
- Find hiring manager or team member
- Send connection request with personal note
- Mention: "Just applied for [Role] at [Company]"
---
## Batch Application Strategy
Research shows **3-5 focused applications per week** is better than:
- ❌ Applying to 20+ per day (low quality)
- ❌ Waiting weeks between applications (momentum loss)
- ✓ 3-5 quality fits with customized materials
- ✓ Consistent follow-up cadence
### Week 1: Find & Apply
- Mon: Search, find 3-5 positions
- Tue-Thu: Build resumes, customize cover letters
- Fri: Submit all applications
### Week 2: Follow-Up
- Connect on LinkedIn with 3-5 hiring managers
- Check email for responses
- If no response from initial batch: Pursue interviews from interested companies
### Week 3: Build on Interest
- Interview prep for interested companies
- Continue search for new positions
- Repeat cycle
---
## Search Optimizations
### Set Email Alerts
- Indeed: Daily email for "remote backend engineer $130K"
- LinkedIn: Weekly digest for saved searches
- WeWorkRemotely: Weekly job alert email
### Use Advanced Filters
**Indeed search:**
```
(backend engineer OR platform engineer OR infrastructure engineer)
AND remote
AND salary:130000
```
**LinkedIn search:**
```
Title: Backend Engineer, Platform Engineer, or Infrastructure Engineer
Location: On my own terms
Salary: $130K-$300K
Experience: Mid-Senior
```
**RemoteOK search:**
```
Skills: Backend, Python, Golang, Rust
Min Salary: $130,000
Job Type: Full-time, Permanent
```
### Customize Searches by Tech
If you want Python-heavy roles:
- Add "Django" or "FastAPI" to search
- Check RemotePython.com weekly
If interested in Go roles:
- Add "Go" or "Golang" to search
- Check golang.cafe daily
If interested in Rust roles:
- Check RustJobs.dev weekly
---
## Tracking & Metrics
### Track These
- Positions found per week
- Positions verified
- Applications submitted
- Response rate
- Interview conversion
### Weekly Metric Goals
- **Find:** 5-10 positions from daily searches
- **Verify:** 3-5 verified on company sites
- **Apply:** 3-5 quality applications
- **Response:** Track replies, interviews, offers
### Save Search Results
After finding and verifying a position, save to search folder:
```
/job-search track-found [company] [role] [URL] [fit-score]
```
This saves search results to `/home/paul/Public/resume/search/` and updates `/home/paul/Public/resume/job_search.html` with your new position.
---
## Red Flags Checklist
### Skip Immediately If:
- [ ] On-call/pager duty mentioned
- [ ] 24/7 support required
- [ ] "Startup hustle" or "move fast" culture
- [ ] Non-remote (despite claiming "remote friendly")
- [ ] Heavy management/mentoring emphasized
- [ ] No salary transparency
- [ ] Unclear role responsibilities
- [ ] Negative Glassdoor reviews about work-life balance
### Yellow Flags (Research More):
- [ ] Equity-heavy compensation (low base)
- [ ] Very high meeting culture
- [ ] Frequent "emergency" incidents mentioned
- [ ] Rapid team turnover (from research)
- [ ] Vague about on-call expectations
---
## Tools & Resources
**Files in your project:**
- `/home/paul/Public/resume/JOB-BOARDS-TO-SEARCH.md` — Complete board list
- `/home/paul/Public/resume/job_search.html` — Dashboard of 35+ positions
- `/home/paul/.claude/projects/-home-paul-Public-resume/memory/applications_tracker.md` — Your application log
**Related skills:**
- `/build-resume` — Build customized resumes and cover letters
- `job-search` — This skill, for finding and filtering positions
---
## Monthly Check-In
Once per month, evaluate:
- **Quality:** Are positions good fits?
- **Quantity:** Finding enough positions?
- **Success:** Getting interviews? Offers?
- **Strategy:** Need to adjust boards or search criteria?
Update `JOB-BOARDS-TO-SEARCH.md` (in this skill directory) if:
- A board is consistently low-quality
- A board is consistently excellent
- You discover new boards to add
---
**Last Updated:** March 18, 2026

View File

@@ -0,0 +1,320 @@
---
name: job-search
description: Find, verify, and track backend engineer job opportunities across multiple platforms
type: skill
arguments:
- name: search_type
description: "Type of search: 'find-positions', 'verify-position', 'check-criteria', 'track-found', 'search-board', or 'help'"
required: false
output:
- positions_found: List of matching opportunities
- verification_status: Confirmation that position exists on company careers page
- dashboard_update: Updated job_search.html with new positions
- tracking_record: Entry in applications_tracker memory
---
# job-search Skill
Find, verify, and track backend engineer job opportunities with quality filtering.
## Quick Start
```
/job-search [search type or query]
```
## Search Types
### Find Positions
```
/job-search find-positions [optional: board name or criteria]
```
Searches across configured job boards for matching roles. Returns:
- Direct company links
- Salary when available
- Remote status
- On-call/pager duty flags
### Verify Position
```
/job-search verify-position [company name and role]
```
Confirms position exists on company's official careers page:
- Checks company website directly (not job board)
- Validates role details
- Finds direct application URL
- Warns if position appears to be filled
### Check Criteria
```
/job-search check-criteria [position URL or description]
```
Evaluates position against your requirements:
- ✅ Remote eligible (100% remote or work-from-home)
- ✅ No on-call/pager duty
- ✅ Salary $130K+
- ✅ Backend engineer role
- ✅ Preferred tech stack
Returns fit assessment and yellow/red flags.
### Track Found Position
```
/job-search track-found [company, role, URL, fit score]
```
Adds position to job_search.html dashboard:
- Updates dashboard with new position
- Logs in applications_tracker memory
- Sets on-call status based on job description
- Records fit score (1-10)
### Search Specific Board
```
/job-search search-board [board name] [optional: filters]
```
Searches a specific job board. Examples:
- `search-board weworkremotely backend engineer`
- `search-board remoteok python`
- `search-board builtin golang`
- `search-board golang.cafe`
---
## Your Search Criteria ✅
**Hard Requirements:**
- 🌍 Remote (100% remote or explicitly remote-eligible)
- 💰 Salary: $130K+ (minimum)
- ⚙️ Backend engineer / Platform engineer / Infrastructure engineer
- 🚫 NO on-call rotations / pager duty / 24x7 support
**Tech Stack Preferences:**
- Primary: Python, Go, Rust, Kubernetes, REST APIs
- Secondary: Java, C, JavaScript (for full-stack opportunities)
**Role Preferences:**
- Junior to Mid-level (don't emphasize Sr/Staff)
- Systems programming and backend focus
- No heavy management/mentoring responsibilities
**Company Preferences:**
- Meaningful work > hype
- Sustainable pace (no crunch culture)
- Async-friendly remote environments
- Growing companies with real problems
---
## Primary Job Boards (Check Daily/Weekly)
**General Tech:**
1. Indeed — https://indeed.com
2. LinkedIn — https://linkedin.com/jobs
3. Built In — https://builtin.com/jobs/remote/dev-engineering/
**Remote-Specific:**
4. WeWorkRemotely — https://weworkremotely.com
5. RemoteOK — https://remoteok.com
6. DailyRemote — https://dailyremote.com
**Other Primary:**
7. Cord.co — https://cord.co (passive matching)
8. JobServe — https://jobserve.com
**Specialized (Language-Specific):**
9. Golang.cafe — https://golang.cafe
10. RemotePython.com — https://remotepython.com
11. RustJobs.dev — https://rustjobs.dev
**Target Companies (Check Monthly):**
- Stripe: https://stripe.com/jobs
- GitLab: https://gitlab.com/careers
- Automattic: https://automattic.com/jobs
- Zapier: https://zapier.com/jobs
- Cloudflare: https://cloudflare.com/careers
- Vercel: https://vercel.com/careers
- Shopify: https://shopify.com/careers/search
---
## On-Call Risk Flags
Watch for language that indicates on-call:
- "On-call rotation"
- "Pager duty"
- "24x7 support"
- "Production ownership"
- "On-call after hours"
- "Weekend support"
- "Incident response rotation"
⚠️ Flag for rejection if found.
---
## Verification Workflow
1. **Find position** on job board (RemoteOK, WeWorkRemotely, etc.)
2. **Go to company website** (e.g., "stripe.com/jobs" or search "Stripe careers")
3. **Find exact same role** on company site
4. **Verify it's real** (check posting date, check if hiring)
5. **Get direct URL** from company careers page
6. **Apply directly** (not through job board) if it meets criteria
---
## Fit Scoring (1-10)
**10/10** — Perfect match
- Exact role match, all preferred tech, remote, good salary
**9/10** — Excellent fit
- One minor gap (e.g., Django experience when you know Python)
**8/10** — Strong fit
- One technical gap you can learn, but core role matches
**7/10** — Good fit
- Multiple small gaps, but core skills match and company is good
**6/10** — Okay fit
- Significant technical gap, or secondary area (e.g., full-stack when backend is preference)
**5-Below** — Pass
- Major gaps, wrong role type, or red flags
---
## Dashboard & Tracking
**View found positions:**
- Open `/home/paul/Public/resume/job_search.html` in browser
- 35+ verified positions with filters and sorting
- Green (no on-call), yellow (unknown), red (has on-call)
- Direct links to all postings
**Track applications:**
- File: `/home/paul/.claude/projects/-home-paul-Public-resume/memory/applications_tracker.md`
- Log applied positions with dates
- Update status (applied, interviewing, rejected, offer)
---
## Search Strategy
### Daily (5 minutes)
- [ ] Check WeWorkRemotely for new postings
- [ ] Scan RemoteOK with filters (backend, $130K+, remote)
- [ ] Browse Built In's remote section
### Weekly (15 minutes)
- [ ] DailyRemote — Fresh listings
- [ ] LinkedIn — Set custom alerts
- [ ] Cord.co — Check if matched to profiles
- [ ] Golang.cafe (if interested in Go roles)
### Monthly (30 minutes)
- [ ] Secondary boards (JobServe, JustRemote, Totaljobs, Hiring Cafe)
- [ ] Specialized boards (RemotePython.com, RustJobs.dev)
- [ ] Target company careers pages (Stripe, GitLab, Automattic, Zapier, Cloudflare, Vercel, Shopify, Twilio)
---
## Common Search Filters
**Indeed:**
- Location: Remote
- Job Title: Backend Engineer / Platform Engineer / Software Engineer
- Salary: $130,000+
- Keywords: Python OR Go OR Rust
**LinkedIn:**
- Location: On my own terms
- Title: Backend Engineer / Platform Engineer / Infrastructure Engineer
- Salary: $130,000+
- Experience Level: Mid-Senior
**RemoteOK:**
- Skills: Backend, Python, Golang, Rust
- Min Salary: $130,000
- Job Type: Full-time, Permanent
**WeWorkRemotely:**
- Category: Dev Engineering
- Salary: $130,000+
- Timezone: Any (you handle async)
---
## Red Flags to Avoid
❌ On-call/pager duty language
❌ "Startup hustle" or "high-energy" (often code for crunch)
❌ Excessive meeting culture ("fast-paced", "collaborative" without async details)
❌ Junior mentoring emphasized heavily
❌ Non-remote with "flexible remote options"
❌ Equity-heavy compensation (especially if low base)
❌ Vague role descriptions
❌ No clear career growth path
---
## Success Checklist
Before considering a position:
- [ ] Position is 100% remote or explicitly work-from-home
- [ ] No on-call/pager duty language
- [ ] Salary at or above $130K base
- [ ] Role is backend/platform/infrastructure focused
- [ ] Tech stack matches (Python, Go, Rust preferred)
- [ ] Company mission aligns with your values
- [ ] Team structure looks healthy
- [ ] Position verified on company careers page
- [ ] Ready to apply directly to company site
---
## File Locations
- **Job boards list:** `JOB-BOARDS-TO-SEARCH.md` (in this skill directory)
- **Search results folder:** `/home/paul/Public/resume/search/` (local, not committed)
- **Dashboard:** `/home/paul/Public/resume/job_search.html`
- **Applications tracker:** `/home/paul/.claude/projects/-home-paul-Public-resume/memory/applications_tracker.md`
- **Job preferences:** `/home/paul/.claude/projects/-home-paul-Public-resume/memory/user_preferences.md`
- **Skill directory:** `/home/paul/Public/resume/.claude/skills/job-search/`
---
## Integration with build-resume
Found a great position? Use the other skill:
```
/build-resume [paste job description]
```
This will:
1. Create customized resume and cover letter
2. Generate job breakdown with strategy
3. Build PDFs ready to submit
4. Log application in tracker
---
## Notes
- **Job boards change frequently** — Update JOB-BOARDS-TO-SEARCH.md as you discover new ones
- **Verify everything** — Always check company careers page before applying through job board
- **Apply directly** — Less competition when applying to company site vs job board
- **Track everything** — Log all applications so you can follow up consistently
- **Batch applications** — Apply to 3-5 positions, then follow up week 1, week 2
- **Async communication** — Look for companies that explicitly value async work
---
Last Updated: March 18, 2026