From f41a059b8d1eca8239e15f8c5947b1d6265bc94a Mon Sep 17 00:00:00 2001 From: Mike Eberlein Date: Sun, 10 May 2026 16:06:05 -0400 Subject: [PATCH] Including the optioned for a more detailed resume as well --- Makefile | 58 +++++++++--- MikeEberlein_Resume.docx | Bin 8245 -> 8265 bytes MikeEberlein_Resume.odt | Bin 4259 -> 4284 bytes MikeEberlein_Resume.pdf | Bin 78077 -> 78113 bytes MikeEberlein_Resume.tex | 5 +- MikeEberlein_Resume_Detailed.docx | Bin 0 -> 8265 bytes MikeEberlein_Resume_Detailed.odt | Bin 0 -> 4284 bytes MikeEberlein_Resume_Detailed.pdf | Bin 0 -> 78113 bytes MikeEberlein_Resume_Detailed.tex | 148 ++++++++++++++++++++++++++++++ README.md | 50 ++++++++-- render_odt.py | 60 ++++++++---- render_tex.py | 64 +++++++++---- resume.yaml | 44 ++++++++- 13 files changed, 367 insertions(+), 62 deletions(-) create mode 100644 MikeEberlein_Resume_Detailed.docx create mode 100644 MikeEberlein_Resume_Detailed.odt create mode 100644 MikeEberlein_Resume_Detailed.pdf create mode 100644 MikeEberlein_Resume_Detailed.tex diff --git a/Makefile b/Makefile index 88458f9..96e4d9d 100644 --- a/Makefile +++ b/Makefile @@ -2,41 +2,77 @@ # # Single content source: resume.yaml # -# make -> PDF (default; renders .tex from YAML, then pdflatex twice) -# make odt -> ODT (renders directly from YAML) -# make docx -> DOCX (ODT -> LibreOffice convert -> DOCX) -# make all -> PDF + ODT + DOCX -# make clean -> remove TeX aux files -# make distclean -> also remove generated PDF/ODT/DOCX/TEX +# Two flavors: +# short -> condensed, single-page (default outputs) +# full -> detailed, longer (Detailed.* outputs) +# +# make -> short PDF +# make odt -> short ODT +# make docx -> short DOCX +# make short -> short PDF + ODT + DOCX +# make detailed -> detailed PDF + ODT + DOCX +# make all -> short and detailed in every format +# make clean -> remove TeX aux files +# make distclean -> also remove every generated PDF/ODT/DOCX/TEX YAML := resume.yaml + +# Short (condensed) outputs TEX := MikeEberlein_Resume.tex PDF := MikeEberlein_Resume.pdf ODT := MikeEberlein_Resume.odt DOCX := MikeEberlein_Resume.docx -.PHONY: all pdf odt docx clean distclean +# Detailed outputs +TEX_D := MikeEberlein_Resume_Detailed.tex +PDF_D := MikeEberlein_Resume_Detailed.pdf +ODT_D := MikeEberlein_Resume_Detailed.odt +DOCX_D := MikeEberlein_Resume_Detailed.docx -all: $(PDF) $(ODT) $(DOCX) +# Every artifact is .PHONY so `make` always rebuilds from resume.yaml — same +# effect as `make -B`. Resume builds are fast; correctness > caching. +.PHONY: all short detailed pdf odt docx clean distclean \ + $(TEX) $(PDF) $(ODT) $(DOCX) \ + $(TEX_D) $(PDF_D) $(ODT_D) $(DOCX_D) + +all: short detailed +short: $(PDF) $(ODT) $(DOCX) +detailed: $(PDF_D) $(ODT_D) $(DOCX_D) pdf: $(PDF) odt: $(ODT) docx: $(DOCX) +# ---------- short ---------- $(TEX): $(YAML) render_tex.py - python3 render_tex.py + python3 render_tex.py --level=short --output=$(TEX) $(PDF): $(TEX) pdflatex -interaction=nonstopmode -halt-on-error $(TEX) pdflatex -interaction=nonstopmode -halt-on-error $(TEX) $(ODT): $(YAML) render_odt.py - python3 render_odt.py + python3 render_odt.py --level=short --output=$(ODT) $(DOCX): $(ODT) soffice --headless --convert-to docx $(ODT) +# ---------- detailed ---------- +$(TEX_D): $(YAML) render_tex.py + python3 render_tex.py --level=full --output=$(TEX_D) + +$(PDF_D): $(TEX_D) + pdflatex -interaction=nonstopmode -halt-on-error $(TEX_D) + pdflatex -interaction=nonstopmode -halt-on-error $(TEX_D) + +$(ODT_D): $(YAML) render_odt.py + python3 render_odt.py --level=full --output=$(ODT_D) + +$(DOCX_D): $(ODT_D) + soffice --headless --convert-to docx $(ODT_D) + +# ---------- maintenance ---------- clean: rm -f *.aux *.log *.out *.toc *.fls *.fdb_latexmk *.synctex.gz distclean: clean - rm -f $(PDF) $(ODT) $(DOCX) $(TEX) + rm -f $(PDF) $(ODT) $(DOCX) $(TEX) $(PDF_D) $(ODT_D) $(DOCX_D) $(TEX_D) diff --git a/MikeEberlein_Resume.docx b/MikeEberlein_Resume.docx index 34adf697f430d83605023c20ca110bf76b7b44a4..192cd4bece41666406ae49c62a3fb418833424a9 100644 GIT binary patch delta 3068 zcmYk8cRbXOAIIID%(KoodnD>?myy2G86jJ?WPZ6E4rfHh=a6w$>a0}0QW8$~UZ-S* zhP_YDDzZb?@2lVA_jvr?|2!YB*Xxh>zt0*}4+?5#2%+VoVPIgODbK5bvV*|oc~!!o zz&}g}EB#?FMB$9YH8>pj+t)3~#~m9e7vkf+c6&Tnpn)UelMQ9VB{jk*F^NZdtD94{ z+DI?m-8?5mxE&j)dS2->=yU!`;Xyo=dCPNKqUhbb8;+@$LIp)8A{BbDq}bbg)>d_q zCkuBF-7JG~(halA*g*aVJvs#ri-##CAK|6bbc&h1=}Z#ik#4w>pA}O?_9*ua;IDWGgx++}aN{ z>|OBA#xAi6bozS$*NU6^o?))qW#dA{x=uUfyz$6!0qQN!t2~s{a#-}FxPt4vTF8QJfyEI(ngW(4B9d1v6_DdiFI?OF zbqz=EHr1*xY+|~ckle=3Fa3i0$emDMGFy%v-Ot9BAGeP$6Q*H)2Ct8;QmSf}{&5LD zZg1(yjnEK0YBBvCf1EUULV>Q^0<(KZN35yo)k+n6Qyo7C;FCH|iw?-w{*_`GO6Z)U z%|oCEjp8-C>*6aVFp71seeJxKcpUGB)DrgABLK*M5@<5fE%m zIDATdv>GbCJL)%-Sj1$MBn^q6Egcssk9S^qBPHhoG}%|N}kko$2j@|P;w_ZXgy7-d?a57sl(_6B9$ zk_4RjaxUGxo9p!oVLO~cZzYZG*@FG{Atj!ldihx1W&UKNa{;>Ic&-$~w_N&|x~2wYFM$8)-CTI^%&V$N|JPgWlfL>4710IX_C+d& zj*VzU44c#}&wIO1IjVeSBpSt_Su(69WcXG%RSMkNzATk-8lp;T@k1xZ1E36wk+l7R z79$;&JkrqzF+67)j-EMDGH$HDnArW?=fow+YEk4X;+b{XA%2j5*iF4$KE!ro9atH? zO1j}D;~C73#u>@7@H9N^fp^hs`)c%kj;~>t@irbQ@cr;1rQV&nUR8g-25Z|zdjF4W zv&9usLv01#i_@yt)23a&=W(?&G``m9h28_V8;`jiEt@wdIp8kZK@;8{{lrG4WvJD3)#N9c8KGv$eJ+!hGj zFNo`e;a70_*OSuW`I~6k9IaP<#-M=Te2NwH*{FwJMUv44G+`EIT~Y}^Kpm8~ukc(( z+z`9kobb<9N#{0LCi>Yky~E$ooljq?m35E6G8_v8EzhJURA_o9=%frjHD%LF@;MZ7peV>$JC zEN){ZDQ-ygLI&Q1h6XC}YdFF(uScG;nGXn{-|K4l#%(>f0TbUO9#Ah0e3Yo03Z)Mz zvkr1(_oIYfwZe5jmB|ZSuw53=h;}P2S8=drUyO2jlg-cS`b05tt0CdA?One*A*)BVvM%=8TmltC<-@kuBlj&c%-NUxgNB z`;kuS8yk)r&yjC#x z3^@=LI}%2DWmPsGL7Ye3Zy-v{rrp0OBuUC%QHWk-x?#!!EnusDz|IyTtlXeOA zc+ZrmM6{he#*M;zFK~s(IbMFO za`K#+tz4aM(Nl`(spt_~&2Vz!S;Ft-W zb*?PioKr`^1_FyIC=&>y(W(52bBZ$R z?0D+PkVLXV?m%u*zvHaE_=(yZF~Dtj_1ED&IX@*@uPwEMUB7t}urgaXSPZ6%?g>|p zJBa%f&b@SPXJpk$c`wM7f{;;{Z>Fcj1+QTA-CfqygQ_A|jWtDTC6!+_Neq@;XK`4+ zM@cP9WtF2Zvx(UL6-H=eQ`HrqGN?BOOH9!sHN)G!rJE>4if73nES0VVVRh%!X$$mxrD1b4+nBsO= z5!Q4Pye+1@JTg{3FK{xfDk#+KOch;vh98+r^W)8JzgFkinN{BVCHQR% zPYT}={%J(PhqcI}Q^2jh>)0SyNb-v`n#)bIArk?{f;R^u7iw65U+-t4E={wQ6d!jk zrXJ=ZlzkVXpoJAp0)=WN9}V03NDnG3GB?I=&TBg<(JdNozGa6Xfqs1Q00FSvI4qjKpK zVrEFs@M||)?kf`w4ST){4bA^MbJYP`Hsnm2iJbl5GrIB+{z&s09QTJVe6D}`4+4dM zBpNHEdgjuFLf6i)D5QRd3&Q%W<$1*p|9g|KLcA}mc(#-Z3xYxH#E-&4XX(4JAm}NP zUPSCHNQnr7Fhsro2F$-HArtIyA?9s{miR_G=naWD`>LQ18MnXbdWQDU1 zhm52MPkR1%p6@^J*XR5Bu9`U1=@8|~JTxpXx{$M(X{$$JHwhevqa zjQ|w?lPqg!%?&Zhl$g23-c6qsBNe;mNX zFBDduW}RgcFY^)6>0Orobi`b+mThgpSTOMk;&`MoEVsmb#WrMObNmG=NSJ-=+7$Z? zu}rtMXuwL@BKR{|dHwR!!1(l=E}heUU>KQw+&Iu(Az}45`L!}OeRZCv(b8u z;Ma4l-En}&^IK`VqLRIF!{)DT9r~=AC!bh;T;dnujqX3NmH+wGnu|Epb}V=kH|j3GcKyad|oojD7F!Qn~>a>JU0R;# zs5zitNjWQaitJS!6Ft&tWpA`|8+EP5pQaB|%Vryh_!dK4r_y3{CPA25$Qi8ey{lrd!qYf&z;v&LyrhZmMLu^A0+9apy6o4^Lp>o%$6c2-OMb&Fg^>K(vRi zSAvOrFtZ#pptxH$nSrK0-1JJ~n<_CMZrJhrwXEw!iIoGlcxb)PW$a3e2>vp) z=MYs#bLZ)hwAvWZ61MH0_F=7-DTvd3YqQo7gAeA)H@^1a8|`yn(YQLT?mYrA&h59l zQ4Y*M{62Y@I)y?wF5CA0<1di_5bQhh*25Y34C{)XRUgiWt8J8*UTL_mC%uU8H9e37 zsf?oni}ylB2wN?WUeaGML~XaV z^atxtwK0;4i>Y5Zuxb4kz41lCszaXz@4ie9^{j+zh~&*Jz4Lk$R?>_eulw4tx*ZSx zPR;BInMR~|P9ubQTO~RfSY2&(r_YJo{X-EuO6l<0SCRA)bLVxlj*e(j7yqqFx`F7T}p$U(p+Fj@4=v;UlU%WE4 z=enwt0d`U7jO4B5o9*L@KC;#%g9Qd#3hh?kU%GLaTO=G*{1&ppBx!2Rm|NJ}IEt}- zFMJ320cXToe=H$p$MVQJP; zqoIzfTtK(~YT70rP0)hEptoh)BgN4h)w;2{^MM*Z#rg`wWYbO8m)aAl`}$V*=!mn4 zYHLdl>`n`*1gN^VMnWEdjZ&>hPrM3hE9Jp=9cj{p$@3#aqY}@7i(Ay29t#m*t^@`I zqlQ)j5}l(u83l|LQ(}!xI?M%bC2W`8XECsfbk~a2ER;7^xU0aO?-BUIvs|DL@|1S} zA_KGd07b5jg`d<*lEP}f0r3xYse$KhTt$_-d3;7M$)G5bLMeSak_0X7FOyMfQEe!z zCLiu=JqZz8UBKI+)~m|B79Iu-ez1Rw@ih`$qy;>Smj1qh?zac{p8E4K@5ljn z=Oek+Odlf)^DN+NuMU`hiR>;*x%f@G9vbT`(K8EuvpoKjm^S~(y)u^L+G8kF_Z~Kj zE-i7MT}=2Q=je^(>=f||1&H0vXfFek2hEd;1URFbJCVaZg3%FP(s2UN;C=7=oq+0prSiEwb#G{K9OdPXD?MyS0|gQ%|hv3GE?{h|3c4=`QUjhkQ zDH_xkc}Gt#-tUj}ln>ZDe{}gC1IF{gGHk^sP4mk>#82I>!+Gwc!}nLreiG=W-a>{@ zT^Cv+d$5egTTeMAA1vk4@`~k9^nD*`(WIP3ZQ9@mra)Vtr5C5 zpiZMGIy7C#^%CFKIP0*H=_5I>dkk>2|+t*6cVc!XQOC!2w<1=3>9X@uKk!I8~>RJ6;D!V&h=(_1%!ciGrI`11^ zdT>FUe40GcJM+2!hw4i1$$R}kShapW9MCMM5Q^j{bim$uMEo|Ust(v7e?a%?toEn} zzZTz%&F$Ew$z<#Z$>iJbeys69~5 zQ1IrfpdzVzKxVC1Mo}f=TZp;?@P~}l%DE!&37RCy_alruN#VO#F6(I}Qiv<2seHF> z7d$h(g!!s~=`lxcaPG8oE=MP&z>)Y^v3ynLnJtTsp<2VVo7y*JBX)l1u@VIp(NGiv zZC&^+Sq*0}{VI!!CAQb#%U^ zEQhL^MP1PL4{NhzIGTE3rs`U?PcHrNOL#TskuPAMZ?ZcFgPU|US{0Q^;P;2_m#4FF z0TK8;lp0ri3%4?qnzq2p{aN5)YjoSsq`7HCs?b4YvBkD9`0cugc1`C=VdIW=i%)+|h0{%`Kc4P#@{#Zf ze|TV`am;j#Us(OoJkI=WlnL%t2)4fPqVG3qWN1ot&@OYZo7{Y-{XqLmIZk=H zj~ZN9`+IZ=W)9#H=`fv#K3v$8&F5Ez!qPmpNGk!CeR>r_wWOOJsV>V9``Rxn+3IjQ z;nOJlwIQvNPW;EvryyfJTDte2&jq(LP*4;}Q&9ZB9#`5@ zP+(YDGO5lSxr}X)@{A~s#D9(q0tfu#1Bmm#{Ule}KWC1H%ATonD^&Rmhft+6$noef z4`o-{{_hexl}G%n>Ez+2+`NFERC|X8!^6t?#0zcm@83j4RwAEE;+RM&k&j_&fgr=&{f} diff --git a/MikeEberlein_Resume.odt b/MikeEberlein_Resume.odt index 1f5f9494f869b05cbe1968d448f18ad267932ab5..4642903fc2c4e7ee4a2bab73749d18f981d82e74 100644 GIT binary patch delta 2451 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 diff --git a/MikeEberlein_Resume.pdf b/MikeEberlein_Resume.pdf index 3b7cc17e44c62a24c0b01cc9c7214af5c2db118f..acf1dc5c91e670dd006f45286f3e38055264f3cc 100644 GIT binary patch delta 5846 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 delta 5775 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 literal 0 HcmV?d00001 diff --git a/MikeEberlein_Resume_Detailed.pdf b/MikeEberlein_Resume_Detailed.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f557f3ea47c921250bbcc595f79d9b0cefc09db9 GIT binary patch literal 78113 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

H@ zbLbBYrlCK;+R4btKr%Q?Jj`*{T!=p{OX>~_=zL0Its?Buozb1vuV`ghs-vx7o;@}O z($wkH5IzT%1h2Eyf)FQJV8sBewB0zCU0hU5kCZW-D!`g;L@g#w0vKI6>P1bY+CPa( z42qYIo-+f0$%3eXi~^5T(>iT2YI3?q2s-;UF{VqV9|QM^@3IaFZEVchgy)DW`e*@E zzz~9Z6}Q_vyiTKMH#coo|55iN7R$)elSuvBWrxhn&cr(I6+`Xhj=X6uUiky81NK7I znr6mB_VA`Q-IQeAWa8gejas>i#pX5s*z@Z@OTB*{P4SNI>fA+@{o$MX;orE*_*MiIU~D=IsOTbIGT4B~A{^EO_^OuadGw*ALe5vL{|7q2h1VkNx&Q zSFQVz-P-wXXw^~5fPP~HkhXEAZajtE;&HhhE{VszF$Ynol^)&k1=lm9P!B5QLVg7T zYMZ)&8x@Y5iW`ttbHDUBm!ep0o-WJ@x2_G|=5jjkc@+KjZX4~H^m3T_e)d6^*S-J6 zWJc|c5I0-2=`gg7g(xKNc^>A*17X$^_g*KQUToF(5fkD*Xj&inCZ%qwq{$8-th0Q> zj4DFv4kvOOV%#&#v~>`o-10}pW?nM0D+0_Puw}AB6{`v!zFk5Ny_cQ$lBiiS(2dk= z?N@o;uE*Ddy@xvD7Bqfl^RR&im6#(H&IPRy{#B!zIB3fb}JWn8e82PtEar zmc`O9gAq~{8aErL;%iDn1Zao^uVZoZhf<9n5w7KaAsKhocXJnap}2pOdX02$dguLh zwLZc?y@rW2*R*^Ho9YNs`@jMcT}2-n961ToDHWb!qN|1Jt+jrE-1oIH{bU!q8*U|Z zY`9a-WvZPB9-L2G;DLBDrz`u-WP3WLDoga zS&7TFG0-6zB!%+lZ*zDp3P)2nriLLEI08Z_NjFnDR#YGe?ZUIK5mC?MipAzpMyS}S@ z{fVx94C}=3$nZEBI&9;^a@!cc>sR3gb%wW#CBAg> z2wxn#LbRcmiWpgMEQwsNUV#dt9!Ks z?+6V%Zo>`9oV^Qylc+)^2x=0UoF)A)L+MKV{G3>DgRf))%LyWG_sc~>pWqR8dugjt z)T-(@#8>b-SBPR65vK8jeNC!`kL+jQt2n$yTzd<**LX z&Y!DPZKK)A(Cf_9%e&#AeIZK3$o2fQF&{Tt%wGAiB~D_i3e8Y7jrZu|7));L^kmF~ zwEdqd$EU}Gv5Vqko~GhpFXV=EZCS>iQ^W>${RXk$iY0Tqx)B1fH4YDL8fE)7w-1K3 zXV&oS$ph0N@%Mv|Vh^2U6WebM=I$?^0*LqR8k{@MJY7)wtprBw`jTe|2L z-nk?pPt^MI`QT+hHrSlwt*3Lel)3;xx?!8#*h{;9U8*rXq^xc~#!nrs)L2>Y%f;5K zAQZY^!io%Q6Wbz+a(Q(4tb9s5p= z_m?I$sv9Q4z0O?v(rp;fjW;QojQ z->g-^3h|3Tf28*hzNmEzKHKwEPhFO>;W#eq;dDRXKckKowE19OQod-G1NPaIN<{b)%>eP3^WgLs@ zKk&7G67@uavh> z0QHfWRjs^1kUb=3O;TM}QXnZSBu&M^!IhNbuRzHve`Pm!ApKi){&gTms>?4X3gr0A zA_nAQ19Eapu!wPUuye9+1ge+RO z5mxBtncA^}zKn9>Z-t8P(V5XtkhQOYsSCt!Pl{RXL()HYq<%AhgHBU-P!{0+@)^pH zHs>7~iV^xp_FOnSz;~>t4m4L|RDy*bB(_20cdTF|MAOu+8Fuccj$f`7eq(Ysee)~V zeh)HZ@sk1xf<%jBags4x+f{trB8W-aULNz)q5<&9D2e~s=Ps_s&aR#i9gW1r#l^~l ML`5a8D1r2U0EG+EBLDyZ literal 0 HcmV?d00001 diff --git a/MikeEberlein_Resume_Detailed.tex b/MikeEberlein_Resume_Detailed.tex new file mode 100644 index 0000000..1b9d265 --- /dev/null +++ b/MikeEberlein_Resume_Detailed.tex @@ -0,0 +1,148 @@ +% Mike Eberlein — single-page resume (generated from resume.yaml). +% Build: pdflatex MikeEberlein_Resume.tex (run twice for stable layout) +% Do not edit by hand — re-run `python3 render_tex.py` after changing resume.yaml. +% +% Fonts: Roboto via the roboto LaTeX package (texlive-fonts-extra). The official +% Google Roboto font repo (with OFL license) is also bundled at ./fonts/ — +% individual weights live in ./fonts/static/, variable fonts at ./fonts/. + +\documentclass[letterpaper,10pt]{extarticle} + +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage[sfdefault]{roboto} +\usepackage{microtype} +\DisableLigatures{encoding = *, family = *} % keep fi/fl as two letters so PDF text search / ATS works +\usepackage[letterpaper,margin=0.5in,top=0.35in,bottom=0.3in]{geometry} +\usepackage[dvipsnames]{xcolor} +\usepackage{titlesec} +\usepackage{enumitem} +\usepackage{hyperref} +\usepackage{ragged2e} +\usepackage{parskip} + +\newcommand{\RobotoLight}{\fontseries{l}\selectfont} +\newcommand{\RobotoMedium}{\fontseries{m}\selectfont} + +\definecolor{accent}{HTML}{1F3864} +\definecolor{body}{HTML}{222222} +\definecolor{muted}{HTML}{555555} +\color{body} + +\hypersetup{colorlinks=true, urlcolor=accent, linkcolor=accent} + +\setlength{\parindent}{0pt} +\setlength{\parskip}{0pt} +\linespread{1.0} +\pagestyle{empty} + +\titleformat{\section} + {\color{accent}\RobotoMedium\bfseries\large} + {}{0pt} + {\MakeUppercase} +\titlespacing*{\section}{0pt}{4pt}{0pt} +\newcommand{\sectionrule}{\vspace{-4pt}{\color{accent}\rule{\linewidth}{0.5pt}}\par\vspace{1pt}} + +\newcommand{\job}[2]{% + \vspace{3pt}% + \noindent\textbf{#1}\hfill\textbf{#2}\par\vspace{0pt}% +} +\newcommand{\role}[2]{% + \vspace{1pt}% + \noindent\textit{\textcolor{muted}{#1}}\hfill\textit{\textcolor{muted}{#2}}\par% +} +\newcommand{\subrole}[2]{% + \vspace{1pt}% + \noindent\hspace{0.18in}#1\hfill\textit{\textcolor{muted}{#2}}\par% +} + +\newlist{bullets}{itemize}{2} +\setlist[bullets]{leftmargin=0.22in, itemsep=0pt, topsep=0pt, parsep=0pt, label={\textbullet}} +\newlist{subbullets}{itemize}{2} +\setlist[subbullets]{leftmargin=0.42in, itemsep=0pt, topsep=0pt, parsep=0pt, label={\textbullet}, before=\color{muted}} + +\newcommand{\name}[1]{% + \begin{center}% + {\color{accent}\fontseries{l}\fontsize{26}{30}\selectfont #1}% + \end{center}% + \vspace{10pt}% +} +\newcommand{\contact}[1]{% + \begin{center}\textcolor{muted}{\small #1}\end{center}% + \vspace{2pt}% +} + + +\begin{document} + +\name{MIKE EBERLEIN} +\contact{Engineering Manager • Infotainment \& Software-Defined Vehicles \textbullet{} \href{mailto:mike.t.eberlein@gmail.com}{mike.t.eberlein@gmail.com}} + +{\justifying\noindent +Engineering manager with 15+ years building market-leading automotive infotainment systems, spanning manual and automated test, UI development, embedded service development, program management, and people leadership. Effective at translating ambiguous platform goals into shippable software across Android, Yocto Linux, and QNX, and at growing teams that deliver on aggressive vehicle-program timing.\par} + +\section{Experience}\sectionrule + +\job{General Motors}{Oct 2014 – Present} +\role{Engineering Group Manager}{May 2021 – Present} + +\subrole{Infotainment Vehicle Data}{2023 – Present} +\begin{subbullets} + \item Lead software engineers delivering the mechanisms that surface vehicle data from in-vehicle modules to applications and services across Android, Yocto Linux, and QNX. + \item Manage performance, headcount and workload commitment +\end{subbullets} + +\subrole{Development Quality Assurance}{2021 – 2023} +\begin{subbullets} + \item Led a cross-functional team of 20+ engineers driving functional test for infotainment platform development; established cross-component knowledge sharing and team planning practices. +\end{subbullets} + +\subrole{Ultifi Platform \& Vehicle Data}{2021 – 2023} +\begin{subbullets} + \item Led development of core embedded components for GM's software-defined vehicle platform, partnering with architecture, systems, and downstream test to drive end-to-end delivery. +\end{subbullets} + +\subrole{Business Manager}{2021 – 2023} +\begin{subbullets} + \item Owned and defended the platform org budget; ran statements of work with multiple suppliers in partnership with procurement; built workload models and managed headcount allocation. +\end{subbullets} + +\role{Infotainment Software Program Manager}{Jan 2017 – May 2021} +\begin{bullets} + \item Lead software program manager for MY22/MY23 Center Stack Module (CSM) development — owned software delivery, timing, and scope from program initiation through late vehicle milestones. + \item Drove impact analysis, feature commitment, and delivery tracking with partner teams across GM; managed Tier-X suppliers on deliveries, defects, and change negotiations. + \item MY20–MY23 program execution commitment lead: scoped and estimated new features in concept phase, then tracked scope and staffing through development. + \item Built Python 3 / Excel / Rational Team Concert API tooling for task breakdown, inter-team dependencies, and historical-data-driven staffing models. +\end{bullets} + +\role{Infotainment Software Engineer}{Oct 2014 – Jan 2017} +\begin{bullets} + \item Developed Android (Java) infotainment apps including a hybrid powertrain optimization HMI and the USB / over-the-air software update client for the head unit. + \item Built Windows-based developer tooling with CAN simulation to enable powertrain teams to iterate against the infotainment system off-vehicle. +\end{bullets} + +\job{Harman International}{Oct 2008 – Oct 2014} +\role{Software Engineer}{Mar 2011 – Oct 2014} +\begin{bullets} + \item Designed and built navigation infotainment applications in ActionScript 2/3, Lua, and C++ on QNX-based head units shipped to multiple OEMs. + \item Managed the navigation engine supplier — deliveries, feature implementation, and defect resolution — and built Excel-based dashboards over the internal defect database for program-level reporting. +\end{bullets} + +\role{Software Verification Engineer / UI Developer}{Oct 2008 – Mar 2011} +\begin{bullets} + \item Converted Photoshop design files into ActionScript 2 UI components consumed by engineering teams. + \item Authored automated test tools using VB.NET and proprietary trace tools; analyzed requirements, ran in-vehicle test drives, and validated infotainment systems with customers. +\end{bullets} + +\section{Education}\sectionrule + +\job{B.S. Computer Science, Lawrence Technological University}{Apr 2011} +\begin{bullets} + \item Graduated summa cum laude from the Honors College. Coursework in C, C++, Java, VB.net, mobile development, and scripting. +\end{bullets} + +\section{Certifications}\sectionrule + +Certified Scrum Professional (2012–2015) \textbullet{} Certified Scrum Master (2010–2019) \textbullet{} SAFe Agilist (2020–2023) + +\end{document} diff --git a/README.md b/README.md index e70f7dd..eac64c7 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,11 @@ Single-page resume for Mike Eberlein (Engineering Manager — automotive infotai **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. +Two flavors are produced from the same YAML: + +- **Short** — condensed single-page resume. Outputs: `MikeEberlein_Resume.{tex,pdf,odt,docx}`. +- **Detailed** — longer version with extra bullets / roles / jobs. Outputs: `MikeEberlein_Resume_Detailed.{tex,pdf,odt,docx}`. + ## Files | File | Purpose | @@ -21,12 +26,21 @@ Single-page resume for Mike Eberlein (Engineering Manager — automotive infotai ## 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 +make # short PDF (default) +make odt # short ODT +make docx # short DOCX +make short # short PDF + ODT + DOCX +make detailed # detailed PDF + ODT + DOCX +make all # both flavors, every format +make clean # remove TeX aux files +make distclean # also remove generated PDF/ODT/DOCX/TEX +``` + +Run the renderers directly if you want a custom output path: + +```bash +python3 render_tex.py --level=full --output=foo.tex +python3 render_odt.py --level=short --output=foo.odt ``` Required system packages (Debian/Ubuntu): @@ -59,7 +73,29 @@ education: certifications: [ ... ] ``` -After editing, run `make all` to rebuild every format from the same content. +### Short vs. Detailed + +Any list field above can have a sibling list with the `_full` suffix. The base list always renders. The `_full` list is appended only in `--level=full`. Examples: + +```yaml +bullets: # always shown + - Short bullet. +bullets_full: # appended in detailed only + - Extra detail bullet. + +subroles: + - { title: Always-shown sub-role, ... } +subroles_full: + - { title: Detailed-only sub-role, ... } + +experience: [ ... ] +experience_full: # an entire extra job, only in detailed + - { company: ..., dates: ..., roles: [ ... ] } +``` + +Same convention works on `roles_full`, `education_full`, `certifications_full`. + +After editing, `make all` rebuilds both flavors in every format from the same YAML. ## Layout / styling diff --git a/render_odt.py b/render_odt.py index 5e9ca90..8533788 100644 --- a/render_odt.py +++ b/render_odt.py @@ -1,21 +1,28 @@ #!/usr/bin/env python3 -"""Render resume.yaml -> MikeEberlein_Resume.odt. +"""Render resume.yaml -> a .odt file. + +Two output flavors: + --level=short (default) -> condensed single-page resume. + --level=full -> detailed resume; concatenates each list with its + `_full` sibling (e.g. bullets + bullets_full). Builds the ODT zip from scratch (mimetype, manifest, meta, styles, content). The ODT styling lives inline as STYLES below; content comes from resume.yaml. DOCX is produced by piping this output through LibreOffice: - soffice --headless --convert-to docx MikeEberlein_Resume.odt + soffice --headless --convert-to docx .odt """ +import argparse import os -import shutil -import sys import yaml import zipfile HERE = os.path.dirname(os.path.abspath(__file__)) DATA = os.path.join(HERE, "resume.yaml") -OUT = os.path.join(HERE, "MikeEberlein_Resume.odt") +DEFAULT_OUT = { + "short": os.path.join(HERE, "MikeEberlein_Resume.odt"), + "full": os.path.join(HERE, "MikeEberlein_Resume_Detailed.odt"), +} MIMETYPE = "application/vnd.oasis.opendocument.text" @@ -167,7 +174,14 @@ def bullet(text, style="Bullet"): f'{xesc(text)}' f'') -def render(data) -> str: +def merged(item, key, level): + """Return item[key] for short, or item[key] + item[key + '_full'] for full.""" + base = item.get(key) or [] + if level == "full": + base = list(base) + list(item.get(key + "_full") or []) + return base + +def render(data, level="short") -> str: parts = [] h = data["header"] parts.append(p("Name", xesc(h["name"]))) @@ -176,36 +190,44 @@ def render(data) -> str: parts.append(p("Summary", xesc(data["summary"].strip()))) parts.append(p("SectionHead", "EXPERIENCE")) - for company in data["experience"]: + for company in merged(data, "experience", level): parts.append(f'{b(company["company"])}{TAB}{xesc(company["dates"])}') - for role in company["roles"]: + for role in merged(company, "roles", level): parts.append(f'{i(role["title"])}{TAB}{i(role["dates"])}') - if "subroles" in role: - for sr in role["subroles"]: + subroles = merged(role, "subroles", level) + if subroles: + for sr in subroles: parts.append(f'{xesc(sr["title"])}{TAB}{i(sr["dates"])}') - for blt in sr["bullets"]: + for blt in merged(sr, "bullets", level): parts.append(bullet(blt, style="SubBullet")) - elif "bullets" in role: - for blt in role["bullets"]: + else: + for blt in merged(role, "bullets", level): parts.append(bullet(blt, style="Bullet")) parts.append(p("SectionHead", "EDUCATION")) - for ed in data["education"]: + for ed in merged(data, "education", level): parts.append(f'{b(ed["school"])}{TAB}{xesc(ed["dates"])}') - for blt in ed["bullets"]: + for blt in merged(ed, "bullets", level): parts.append(bullet(blt, style="Bullet")) parts.append(p("SectionHead", "CERTIFICATIONS")) - parts.append(p("Standard", " • ".join(xesc(c) for c in data["certifications"]))) + parts.append(p("Standard", " • ".join(xesc(c) for c in merged(data, "certifications", level)))) return CONTENT_HEAD + "".join(parts) + CONTENT_TAIL def main(): + ap = argparse.ArgumentParser() + ap.add_argument("--level", choices=["short", "full"], default="short") + ap.add_argument("--output", default=None, + help="Output .odt path (default: MikeEberlein_Resume.odt / MikeEberlein_Resume_Detailed.odt)") + args = ap.parse_args() + + out_path = args.output or DEFAULT_OUT[args.level] with open(DATA, "r", encoding="utf-8") as f: data = yaml.safe_load(f) - content = render(data) + content = render(data, level=args.level) - with zipfile.ZipFile(OUT, "w", zipfile.ZIP_DEFLATED) as z: + with zipfile.ZipFile(out_path, "w", zipfile.ZIP_DEFLATED) as z: zi = zipfile.ZipInfo("mimetype") zi.compress_type = zipfile.ZIP_STORED z.writestr(zi, MIMETYPE) @@ -213,7 +235,7 @@ def main(): z.writestr("meta.xml", META) z.writestr("styles.xml", STYLES) z.writestr("content.xml", content) - print(f"wrote {OUT}") + print(f"wrote {out_path} (level={args.level})") if __name__ == "__main__": main() diff --git a/render_tex.py b/render_tex.py index fd12056..7824242 100644 --- a/render_tex.py +++ b/render_tex.py @@ -1,17 +1,24 @@ #!/usr/bin/env python3 -"""Render resume.yaml -> MikeEberlein_Resume.tex. +"""Render resume.yaml -> a .tex file. + +Two output flavors are supported: + --level=short (default) -> condensed single-page resume. + --level=full -> detailed resume; concatenates each list with its + `_full` sibling (e.g. bullets + bullets_full). The LaTeX preamble (styles, macros, page layout) lives inline as PREAMBLE -below; if you want to tweak typography or colors, edit there. Content is read -from resume.yaml. +below; tweak typography or colors there. Content is read from resume.yaml. """ +import argparse import os -import sys import yaml HERE = os.path.dirname(os.path.abspath(__file__)) DATA = os.path.join(HERE, "resume.yaml") -OUT = os.path.join(HERE, "MikeEberlein_Resume.tex") +DEFAULT_OUT = { + "short": os.path.join(HERE, "MikeEberlein_Resume.tex"), + "full": os.path.join(HERE, "MikeEberlein_Resume_Detailed.tex"), +} PREAMBLE = r"""% Mike Eberlein — single-page resume (generated from resume.yaml). % Build: pdflatex MikeEberlein_Resume.tex (run twice for stable layout) @@ -108,6 +115,13 @@ def tex_escape(s: str) -> str: out.append(LATEX_ESCAPES.get(ch, ch)) return "".join(out) +def merged(item, key, level): + """Return item[key] for short, or item[key] + item[key + '_full'] for full.""" + base = item.get(key) or [] + if level == "full": + base = list(base) + list(item.get(key + "_full") or []) + return base + def emit_bullets(items, env="bullets"): lines = [f"\\begin{{{env}}}"] for b in items: @@ -115,7 +129,7 @@ def emit_bullets(items, env="bullets"): lines.append(f"\\end{{{env}}}") return "\n".join(lines) -def render(data) -> str: +def render(data, level="short") -> str: out = [PREAMBLE, ""] out.append(r"\begin{document}") out.append("") @@ -132,39 +146,49 @@ def render(data) -> str: out.append("") out.append(r"\section{Experience}\sectionrule") out.append("") - for company in data["experience"]: + for company in merged(data, "experience", level): out.append(f"\\job{{{tex_escape(company['company'])}}}{{{tex_escape(company['dates'])}}}") - for role in company["roles"]: + for role in merged(company, "roles", level): out.append(f"\\role{{{tex_escape(role['title'])}}}{{{tex_escape(role['dates'])}}}") - if "subroles" in role: + subroles = merged(role, "subroles", level) + if subroles: out.append("") - for sr in role["subroles"]: + for sr in subroles: out.append(f"\\subrole{{{tex_escape(sr['title'])}}}{{{tex_escape(sr['dates'])}}}") - out.append(emit_bullets(sr["bullets"], env="subbullets")) + out.append(emit_bullets(merged(sr, "bullets", level), env="subbullets")) + out.append("") + else: + bullets = merged(role, "bullets", level) + if bullets: + out.append(emit_bullets(bullets, env="bullets")) out.append("") - elif "bullets" in role: - out.append(emit_bullets(role["bullets"], env="bullets")) - out.append("") out.append(r"\section{Education}\sectionrule") out.append("") - for ed in data["education"]: + for ed in merged(data, "education", level): out.append(f"\\job{{{tex_escape(ed['school'])}}}{{{tex_escape(ed['dates'])}}}") - out.append(emit_bullets(ed["bullets"], env="bullets")) + out.append(emit_bullets(merged(ed, "bullets", level), env="bullets")) out.append("") out.append(r"\section{Certifications}\sectionrule") out.append("") - out.append(" \\textbullet{} ".join(tex_escape(c) for c in data["certifications"])) + out.append(" \\textbullet{} ".join(tex_escape(c) for c in merged(data, "certifications", level))) out.append("") out.append(r"\end{document}") return "\n".join(out) + "\n" def main(): + ap = argparse.ArgumentParser() + ap.add_argument("--level", choices=["short", "full"], default="short") + ap.add_argument("--output", default=None, + help="Output .tex path (default: MikeEberlein_Resume.tex / MikeEberlein_Resume_Detailed.tex)") + args = ap.parse_args() + + out_path = args.output or DEFAULT_OUT[args.level] with open(DATA, "r", encoding="utf-8") as f: data = yaml.safe_load(f) - tex = render(data) - with open(OUT, "w", encoding="utf-8") as f: + tex = render(data, level=args.level) + with open(out_path, "w", encoding="utf-8") as f: f.write(tex) - print(f"wrote {OUT}") + print(f"wrote {out_path} (level={args.level})") if __name__ == "__main__": main() diff --git a/resume.yaml b/resume.yaml index 14f5180..1deaced 100644 --- a/resume.yaml +++ b/resume.yaml @@ -1,6 +1,20 @@ # Single source of truth for the resume content. -# Renderers read this and emit MikeEberlein_Resume.tex and MikeEberlein_Resume.odt. +# Renderers read this and emit: +# MikeEberlein_Resume.{tex,odt} (short, condensed single-page) +# MikeEberlein_Resume_Detailed.{tex,odt} (full, longer version) # Edit content here; layout/styling lives in the renderers. +# +# SHORT vs. FULL CONVENTION: +# Any list field can have a sibling list with the `_full` suffix. The base +# list always renders. The `_full` list is appended only in --level=full. +# This works at every level: +# bullets / bullets_full (within a role, subrole, or education entry) +# subroles / subroles_full (under a role) +# roles / roles_full (under a company) +# experience / experience_full (top level — extra jobs only in full) +# education / education_full +# certifications / certifications_full +# See the few `*_full:` keys below for examples; add or remove freely. header: name: MIKE EBERLEIN @@ -26,6 +40,11 @@ experience: dates: 2023 – Present bullets: - Lead software engineers delivering the mechanisms that surface vehicle data from in-vehicle modules to applications and services across Android, Yocto Linux, and QNX. + - Manage performance, headcount and workload commitment + bullets_full: + # Extra bullets that only appear in the detailed resume. + # - Drove migration of the legacy CAN-signal pipeline to with . + # - Mentored N engineers; ran weekly arch reviews. - title: Development Quality Assurance dates: 2021 – 2023 bullets: @@ -37,7 +56,7 @@ experience: - title: Business Manager dates: 2021 – 2023 bullets: - - Owned and defended the platform org budget; ran SOWs with multiple suppliers in partnership with procurement; built workload models and managed headcount allocation. + - Owned and defended the platform org budget; ran statements of work with multiple suppliers in partnership with procurement; built workload models and managed headcount allocation. - title: Infotainment Software Program Manager dates: Jan 2017 – May 2021 @@ -52,9 +71,17 @@ experience: bullets: - Developed Android (Java) infotainment apps including a hybrid powertrain optimization HMI and the USB / over-the-air software update client for the head unit. - Built Windows-based developer tooling with CAN simulation to enable powertrain teams to iterate against the infotainment system off-vehicle. + bullets_full: + # Add detail-only bullets here. + # - Specific projects, technologies, results. - company: Harman International dates: Oct 2008 – Oct 2014 + # Example: roles_full would add additional roles only in the detailed resume. + # roles_full: + # - title: Some Role Only Listed In Full + # dates: ... + # bullets: [...] roles: - title: Software Engineer dates: Mar 2011 – Oct 2014 @@ -66,7 +93,7 @@ experience: dates: Oct 2008 – Mar 2011 bullets: - Converted Photoshop design files into ActionScript 2 UI components consumed by engineering teams. - - Authored automated test tools using VB.NET, CAN, ACV-LAN, and proprietary trace tools; analyzed requirements, ran in-vehicle test drives, and validated infotainment systems with customers. + - Authored automated test tools using VB.NET and proprietary trace tools; analyzed requirements, ran in-vehicle test drives, and validated infotainment systems with customers. education: - school: B.S. Computer Science, Lawrence Technological University @@ -78,3 +105,14 @@ certifications: - Certified Scrum Professional (2012–2015) - Certified Scrum Master (2010–2019) - SAFe Agilist (2020–2023) +# certifications_full: +# - Add any certs you'd only list on the detailed resume here. + +# Example of an entire extra job for the detailed resume only: +# experience_full: +# - company: Some Earlier Employer +# dates: ... +# roles: +# - title: ... +# dates: ... +# bullets: [...]