Resume/README.md

69 lines
2.6 KiB
Markdown

# Mike Eberlein — Resume
Single-page resume for Mike Eberlein (Engineering Manager — automotive infotainment / software-defined vehicles).
**Single content source: `resume.yaml`.** Two renderers (LaTeX and ODT) read the YAML and emit format-specific files. DOCX is produced by converting the ODT with LibreOffice. Edit `resume.yaml`; the generated `.tex` should not be edited by hand.
## Files
| File | Purpose |
| --- | --- |
| `resume.yaml` | **Source of truth.** Edit this. |
| `render_tex.py` | YAML → `MikeEberlein_Resume.tex`. LaTeX preamble lives inline. |
| `render_odt.py` | YAML → `MikeEberlein_Resume.odt`. ODT styles live inline. |
| `MikeEberlein_Resume.tex` | Generated. Do not edit by hand. |
| `MikeEberlein_Resume.pdf` | Built from `.tex` via `pdflatex`. |
| `MikeEberlein_Resume.odt` | Built from YAML via `render_odt.py`. |
| `MikeEberlein_Resume.docx` | Built from `.odt` via LibreOffice. |
| `Makefile` | Build orchestration. |
| `fonts/` | Official Google Roboto font repo. Variable fonts at the top level; individual weights under `fonts/static/`. License in `fonts/OFL.txt`. |
## Build
```bash
make # PDF (default)
make odt # ODT
make docx # DOCX (via LibreOffice from the ODT)
make all # PDF + ODT + DOCX
make clean # remove TeX aux files
make distclean # also remove generated PDF/ODT/DOCX/TEX
```
Required system packages (Debian/Ubuntu):
```bash
sudo apt install texlive-latex-recommended texlive-latex-extra texlive-fonts-extra
sudo apt install libreoffice # for the .docx output
sudo apt install python3-yaml # for the renderers (usually pre-installed)
```
## Editing
Open `resume.yaml`. The schema:
```yaml
header: { name, tagline, email }
summary: <paragraph>
experience:
- company, dates
roles:
- title, dates
# either:
bullets: [ ... ]
# or, for nested sub-roles (used for one role with concurrent focus areas):
subroles:
- title, dates
bullets: [ ... ]
education:
- school, dates, bullets
certifications: [ ... ]
```
After editing, run `make all` to rebuild every format from the same content.
## Layout / styling
Both renderers contain their own styling code (LaTeX preamble in `render_tex.py`, ODT XML styles in `render_odt.py`). Tweak typography, colors, spacing, etc. there. The two renderers aim for visual parity but are not byte-identical — pdflatex and LibreOffice differ on font metrics and line breaking.
The DOCX is produced from the ODT (LibreOffice's ODT→DOCX conversion is essentially lossless because the formats are siblings). DOCX fidelity is therefore nearly identical to ODT.