-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathcv.tex
executable file
·241 lines (212 loc) · 9.17 KB
/
cv.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Developer CV
% LaTeX Class
% Version 2.0 (21/05/2023)
%
% Authors:
% Will Fantom (willf@ntom.dev)
% Based on a template by Jan Küster (info@jankuester.com) and Jan Vorisek (jan@vorisek.me)
%
% License:
% The MIT License (see included LICENSE file)
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%----------------------------------------------------------------
% PACKAGES AND OTHER DOCUMENT CONFIGURATIONS
%----------------------------------------------------------------
\documentclass[9pt]{developercv} % Default font size, values from 8-12pt are recommended
%----------------------------------------------------------------
\begin{document}
%----------------------------------------------------------------
% TITLE AND CONTACT INFORMATION
%----------------------------------------------------------------
\begin{minipage}[t]{0.38\textwidth} % 38% of the page width for name
\vspace{-\baselineskip} % Required for vertically aligning minipages
% If your name is very short, use just one of the lines below
% If your name is very long, reduce the font size or make the minipage wider and reduce the others proportionately
\colorbox{black}{{\HUGE\textcolor{white}{\textbf{\MakeUppercase{Will}}}}}\hspace{0.35cm}\footnotesize{(he/him)} % First name
\colorbox{black}{{\HUGE\textcolor{white}{\textbf{\MakeUppercase{Fantom}}}}} % Last name
\vspace{6pt}
{\huge Researcher, Inventor,\\ Developer, Wizard, Nerd} % Career or current job title
\end{minipage}
\begin{minipage}[t]{0.22\textwidth} % 27.5% of the page width for the first row of icons
\vspace{-\baselineskip} % Required for vertically aligning minipages
% The first parameter is the FontAwesome icon name, the second is the box size and the third is the text
% Other icons can be found by referring to fontawesome.pdf (supplied with the template) and using the word after \fa in the command for the icon you want
\icon{MapMarker}{12}{lancaster, uk}\\
\icon{Phone}{12}{+44 742 8147 463}\\
\icon{At}{12}{\href{mailto:wf@ntom.dev}{wf@ntom.dev}}\\
\end{minipage}
\begin{minipage}[t]{0.22\textwidth} % 27.5% of the page width for the second row of icons
\vspace{-\baselineskip} % Required for vertically aligning minipages
\icon{Globe}{12}{\href{https://willfantom.dev}{willfantom.dev}}\\
\icon{Github}{12}{\href{https://github.com/willfantom}{@willfantom}}\\
\icon{Twitter}{12}{\href{https://twitter.com/@will\_fantom}{@will\_fantom}}\\
\end{minipage}
\begin{minipage}[t]{0.18\textwidth} % 18% of the page width for pic
\vspace{-\baselineskip} % Required for vertically aligning minipages
\hfill
{%
\setlength{\fboxsep}{0pt}%
\setlength{\fboxrule}{5pt}%
\fbox{\includegraphics[width=0.8\linewidth]{assets/profile.jpg}}%
}%
\end{minipage}
\vspace{0.15cm}
%----------------------------------------------------------------
% INTRODUCTION, SKILLS AND TECHNOLOGIES
%----------------------------------------------------------------
\cvsect{Who Am I?}
\begin{minipage}[t]{0.35\textwidth} % 40% of the page width for the introduction text
\vspace{-\baselineskip} % Required for vertically aligning minipages
I am a systems researcher and PhD student with a focus on network and cloud
infrastructures. The opportunities I have had to work alongside large tech
companies in my research as they adopt modern software deployment workflows
has allowed me to design and develop novel tools for cloud management and
CI/CD. I typically spend my weekends on Pi projects and building apps for my
home server.\\
\end{minipage}
\hfill % Whitespace between
\begin{minipage}[t]{0.31\textwidth} % 50% of the page for the skills bar chart
\vspace{-\baselineskip} % Required for vertically aligning minipages
\begin{barchart}{4.1}
\baritem{Python}{82}
\baritem{Go}{100}
\baritem{C/C++}{68}
\baritem{Java}{50}
\baritem{LaTeX}{60}
\baritem{Git}{80}
\end{barchart}
\end{minipage}
\hfill % Whitespace between
\begin{minipage}[t]{0.29\textwidth} % 50% of the page for the skills bar chart
\vspace{-\baselineskip}\vspace{-\baselineskip} % Required for vertically aligning minipages
\cvsect{Tools}\\
\mbox{\cvtag{Docker}\cvtag{LibVirt}\cvtag{Openstack}}
\mbox{\cvtag{Kubernetes}\cvtag{FFMpeg}\cvtag{Linux}}
\mbox{\cvtag{GitHub Actions}\cvtag{GitLab CI}}
\mbox{\cvtag{DevContainer}\cvtag{Microsoft Word 2003}}
\mbox{\cvtag{InfluxDB}\cvtag{OpenWRT}\cvtag{VS Code}}
\end{minipage}
%----------------------------------------------------------------
% EXPERIENCE
%----------------------------------------------------------------
\vspace{-1em}
\cvsect{Experience}
\begin{entrylist}
\entry
{2023 -- Present}
{Research Associate: AI4ME}
{Lancaster University}
{Working alongside the BBC and other academic partners to realize a testbed
and orchestrator for multi-cloud deployments of object-based media
applications. This focuses on how both micro and macroscopic telemetry can
influence orchestration decisions.\\
\texttt{Go}\slashsep\texttt{Docker}\slashsep\texttt{LibVirt}\slashsep\texttt{Consul}\slashsep\texttt{Cloud}\slashsep\texttt{Linux}}
\entry
{2019 -- 2022}
{Associate Lecturer}
{Lancaster University}
{Designed, developed, implemented and taught a novel software-defined
networking coursework as part of the Advanced Networking undergraduate course.
Also assisted in the delivery of the Distributed Systems course through lab
assistance and mini Docker focused lectures.
\\
\texttt{OpenFlow \& SDN}\slashsep\texttt{Docker}\slashsep\texttt{Python}\slashsep\texttt{Java}\slashsep\texttt{Linux}}
\entry
{2020 -- 2022\\\footnotesize{part time}}
{Research Associate: NG-CDI \& TOUCAN}
{Lancaster University}
{Worked alongside BT and other academic partners to investigate how cloud
practices (primarily DevOps) could be utilized in network infrastructure as
they transition from hardware-based deployments to software.\\
\texttt{Go}\slashsep\texttt{C}\slashsep\texttt{GitHub Actions}\slashsep\texttt{Unikraft}\slashsep\texttt{Prometheus}\slashsep\texttt{Grafana}\slashsep\texttt{Træfik}}
\end{entrylist}
%----------------------------------------------------------------
% EDUCATION
%----------------------------------------------------------------
\vspace{-1em}
\cvsect{Education}
\begin{entrylist}
\entry
{2018 -- present\\\footnotesize{ending approx. 2023}}
{PhD -- Computer Science}
{Lancaster University}
{Working to integrate DevOps with network infrastructure operations through the
development of novel CI/CD practices that support the strict requirements of
low-level network functions and the emulation of context-specific hardware.}
\entry
{2015 -- 2018}
{BSc (Hons) Computer Science \textit{(1st)}}
{Lancaster University}
{Thesis included the creation and evaluation of a custom x86 OS: fantomOS, that whilst
monolithic, kept compile-time modularity in
mind.\\\texttt{Operating Systems}\slashsep\texttt{Adv.
Programming}\slashsep\texttt{Adv. Networking}\slashsep\texttt{Distributed Systems}\slashsep\texttt{...}}
\end{entrylist}
%----------------------------------------------------------------
% PUBLICATIONS
%----------------------------------------------------------------
\vspace{-1em}
\cvsect{Publications}
\begin{entrylist}
\pubentry
{2023}
{[1st Author]}
{NES: Towards lifecycle automation for emulation-based experimentation}
{IEEE/IFIP NOMS}
\pubentry
{2022}
{}
{Improving Intent Correctness with Automated Testing}
{IEEE NetSoft}
\pubentry
{2022}
{[1st Author]}
{A NEAT way to test-driven network management}
{IEEE/IFIP NOMS}
\pubentry
{2022}
{}
{Improving network resilience with Middlebox Minions}
{IEEE/IFIP NOMS}
\pubentry
{2019}
{}
{DataPlane Broker: Open WAN control for multi-site service orchestration}
{IEEE NFV/SDN}
\end{entrylist}
%----------------------------------------------------------------
% ADDITIONAL INFORMATION
%----------------------------------------------------------------
\begin{minipage}[t]{0.35\textwidth}
\vspace{-\baselineskip} % Required for vertically aligning minipages
\cvsect{Hobbies}\\
\cvtag{Home Media Server}\cvtag{Cycling}\cvtag{Coffee}\cvtag{Dog
Walks}\cvtag{Pi Dev Projects}\cvtag{Mario Kart}
\divider\\
\begin{minipage}[t]{0.25\textwidth}
\vspace{-\baselineskip} % Required for vertically aligning minipages
\includegraphics[width=1\linewidth]{assets/websiteqr.png}
\end{minipage}
\hfill
\begin{minipage}[t]{0.75\textwidth}
\vspace{-\baselineskip} % Required for vertically aligning minipages
Scan this QR Code to make sure you are seeing the latest version of my CV.\\
Compiled on \textit{\today}\\
\end{minipage}
\end{minipage}
\hfill
\begin{minipage}[t]{0.6\textwidth}
\vspace{-\baselineskip} % Required for vertically aligning minipages
\cvsect{Project: NES}\\
Lead developer on a first of a kind cloud-native Network Emulation as a
Service (NEaaS) platform called NES. This system leverages various emulation
technologies and unix networking tools to allow for the automated testing of
large-scale virtual networks. Also included the development of layer 2 mesh
network solution. All development work was done in Go and is packaged and
deployed using Docker automatically via GitHub Actions. This is now used and
developed in projects with partners such as BT and BBC.
\end{minipage}
%----------------------------------------------------------------
\end{document}