Lots of updates
This commit is contained in:
269
.claude/skills/build-resume/BUILD-RESUME-WORKFLOW.md
Normal file
269
.claude/skills/build-resume/BUILD-RESUME-WORKFLOW.md
Normal 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
|
||||
122
.claude/skills/build-resume/README.md
Normal file
122
.claude/skills/build-resume/README.md
Normal 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
|
||||
185
.claude/skills/build-resume/YAML-TEMPLATE.md
Normal file
185
.claude/skills/build-resume/YAML-TEMPLATE.md
Normal 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
|
||||
204
.claude/skills/build-resume/skill.md
Normal file
204
.claude/skills/build-resume/skill.md
Normal 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
|
||||
286
.claude/skills/job-search/CRITERIA-CHECKLIST.md
Normal file
286
.claude/skills/job-search/CRITERIA-CHECKLIST.md
Normal 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
|
||||
191
.claude/skills/job-search/JOB-BOARDS-TO-SEARCH.md
Normal file
191
.claude/skills/job-search/JOB-BOARDS-TO-SEARCH.md
Normal 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
|
||||
298
.claude/skills/job-search/README.md
Normal file
298
.claude/skills/job-search/README.md
Normal 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
|
||||
380
.claude/skills/job-search/SEARCH-STRATEGY.md
Normal file
380
.claude/skills/job-search/SEARCH-STRATEGY.md
Normal 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
|
||||
320
.claude/skills/job-search/skill.md
Normal file
320
.claude/skills/job-search/skill.md
Normal 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
|
||||
Reference in New Issue
Block a user