-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathcv.tex
236 lines (200 loc) · 10.7 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
\documentclass[a4paper,10pt]{article}
% Packages
\usepackage[paper=a4paper,margin=1cm]{geometry}
\usepackage[defaultfam,extralight,tabular,lining]{montserrat}
\usepackage[T1]{fontenc}
\usepackage{array}
\usepackage[dvipsnames]{xcolor}
\usepackage{graphicx}
\usepackage{cellspace}
\usepackage{enumitem}
\usepackage{xparse}
\usepackage{titling}
\usepackage{hyperref}
% Define page styles
\hyphenpenalty=1000 % Don't break words unless necessary
\pagenumbering{gobble}
% Define colours
\colorlet{Black}{black!90}
\colorlet{LightBlack}{black!80}
\colorlet{Gray}{black!70}
% Setup font
\newcommand\body{\normalfont\color{Black}}
\newcommand\heading{\bfseries\scshape\color{LightBlack}}
\newcommand\headingOne{\heading\Huge}
\newcommand\headingTwo{\heading\Large}
\newcommand{\bold}[1]{\textbf{\textcolor{LightBlack}{#1}}}
\newcommand{\boldsoft}[1]{\textbf{\textcolor{Gray}{#1}}}
% Setup assets
\graphicspath{ {./assets/} }
% Define hyperlink styles
\hypersetup{
colorlinks=true,
linkcolor=Black,
filecolor=Black,
urlcolor=Black,
pdftitle={Overleaf Example},
pdfpagemode=FullScreen
}
\urlstyle{same}
% Define rule styles
\newcommand\fullrule{\vspace{0.2cm}\noindent\makebox[\linewidth]{\color{Periwinkle!50}\rule{\paperwidth}{1.5pt}}}
% Define icon styles
\NewDocumentCommand{\Icon}{ O{0.5cm} O{0.5cm} O{-0.05\height} m } {
\begin{tabular}{@{}c@{}}
\raisebox{#3}{\includegraphics[height=#1, width=#2]{#4}}
\end{tabular}
}
% Define GitHub link
\newcommand{\GitHubLink}[1]{\href{http://www.github.com/#1}{\Icon{github} #1}}
% setup title styles
\pretitle{\vspace*{-1.5cm}\headingOne\hspace*{-0.55cm}}
% add space between title and author
\posttitle{\par\vspace{0.3em}} % Reduced space between title and first section
% setup author styles
\preauthor{\fontsize{18bp}{18bp}\color{Black}\selectfont\scshape\hspace*{-0.55cm}}
% add contact details after author
\postauthor{
\par
\fullrule
\vspace*{0.4cm}
\fontsize{10bp}{10bp}\selectfont\normalshape
\hspace*{-0.9cm}
\begin{tabular}{cccc}
\href{mailto:[email protected]}{\Icon{email} [email protected]} & \href{tel:+447931405305}{\Icon{phone} +447931405305} & \GitHubLink{olivierwilkinson} & \href{http://www.linkedin.com/in/olivierwilkinson}{\Icon{linkedin} olivierwilkinson}
\end{tabular}
\fullrule
% correct spacing between title and first section
\vspace*{-2.2cm}
}
% define section styles
\makeatletter
\renewcommand\section{\@startsection {section}{1}{0cm}%
{-3.5ex \@plus -1ex \@minus -.2ex}%
{2.3ex \@plus.2ex}%
{\headingTwo}}
\makeatother
% Define table style
\newcolumntype{L}{>{\raggedleft}p{0.14\textwidth}}
\newcolumntype{R}{p{0.8\textwidth}}
\newcommand\VerticalRule{\color{Periwinkle!50}\vrule width 0.5pt}
\setlength{\extrarowheight}{5pt}
\newenvironment{sectiontable}
{
\begin{tabular}{L!{\VerticalRule}R}
}
{
\end{tabular}
}
% Define list style
\newlist{items}{itemize}{1}
\setlist[items]{
label=\textbullet,
topsep=0pt,
leftmargin=1em,
parsep=2pt,
}
% Document metadata
\title{Olivier Wilkinson}
\author{Senior Software Engineer}
\date{} % Don't show a date
\begin{document}
\maketitle
\section*{}
Software Engineering is a field of enormous scope and variety, brimming with individuals passionate about their craft.
I've been fortunate to work with many such individuals, each with their own unique perspective and approach to problem-solving.
Embracing a diversity of thought brings growth, often in unexpected ways. I'm proud to say that I've grown tremendously
from working with my colleagues, and that they feel the same way.
\section*{Employment}
\begin{sectiontable}
2017--present & \bold{Pi-top -- \textit{Senior Software Engineer}} \\
& \begin{items}
\item Played a pivotal role in the development of Further, a React application focused on teaching computer science and programming through Pi-top robotics projects.
\item Championed and led the integration of Typescript in web projects.
\item Increased scalability and simplicity of authorization within Further using SpiceDB, a relational authorization service.
\item Implemented Keycloak-based user authentication, including SSO integrations.
\item Built a Further iOS app to enable Web-Bluetooth connections to pi-top robots.
\item Contributed to the design of Further, working closely with designers and stakeholders.
\item Worked closely with stakeholders to pivot Further into a SaaS and Marketplace platform, emphasizing content creation, purchase and licensing.
\item Collaborated with MakerBot, a billion-dollar 3D printing company, to facilitate the use of Further for their teacher and student certification programs.
\item Established a B2B sales pipeline and pitch for Further, aligning product positioning and roadmap with the management team.
\item Successfully presented and demonstrated Further to other major education hardware companies.
\item Worked closely with the Sales team to establish Customer Success pipelines and automations.
\item Contributed to the pi-top Python SDK by creating a Flask-based framework for web controllers and a UI framework for pi-top[4] miniscreen applications.
\item Supervised and supported other team members, and managed the Agile development process.
\item Further features include: multi-file Python project editing; remote code execution; live robot output including video; comprehensive content creation and versioning; real-time collaboration; class creation and management; and premium content licensing.
\end{items} \\
2015--2017 & \bold{Act One Interactive -- \textit{Co-founder}} \\
& \begin{items}
\item Self-taught Swift and iOS development to produce a line learning, recording, and rehearsal iOS app for actors.
\item Used real performances from other actors in the app to populate learning materials.
\end{items} \\
2013--2015 & \bold{Africa Risk Consulting -- \textit{Junior Analyst}} \\
\end{sectiontable}
\pagebreak
\vspace*{-1cm}
\hspace*{-0.7cm}
\begin{tabular*}{1.0\textwidth}{@{\extracolsep{\fill} } l r}
\scshape Olivier Wilkinson & 2 \\
\end{tabular*}
\par
\fullrule
\section*{Education}
\begin{sectiontable}
2009--2013 & \bold{University of Bristol} \\
& B.Sc. in Physics \\
& \\
2003--2009 & \bold{Bedales School} \\
& A-level: AAB (Mathematics, Physics, Chemistry) \\
& AS-level: AAA (Further Mathematics, Economics, Information Technology) \\
\end{sectiontable}
\section*{Open Source}
\begin{sectiontable}
Typescript & \bold{WebdriverIO Testing Library} -- \textit{Creator} \\
& \GitHubLink{testing-library/webdriverio-testing-library} \\
& \begin{items}
\item Adds DOM Testing Library queries to WebdriverIO E2E testing library.
\item Incorporated into the Testing Library organisation.
\end{items} \\
Typescript & \bold{Prisma Soft Delete Extension} -- \textit{Creator} \\
& \GitHubLink{olivierwilkinson/prisma-extension-soft-delete} \\
& \begin{items}
\item Soft-delete extension for Prisma clients with full support for nested relations.
\item Leverages Prisma Extension Nested Operations library listed below.
\end{items} \\
Typescript & \bold{Prisma Extension Nested Operations} -- \textit{Creator} \\
& \GitHubLink{olivierwilkinson/prisma-extension-nested-operations} \\
& \begin{items}
\item Adds support for operating on nested relations in Prisma extensions.
\end{items} \\
Typescript & \bold{Act One} -- \textit{Creator} \\
& \GitHubLink{olivierwilkinson/act-one-native} \\
& \begin{items}
\item In-progress reimplementation of the Act One app in React Native with a GraphQL API.
\end{items} \\
Typescript & \bold{Mock Service Worker Data} -- \textit{Contributor} \\
& \GitHubLink{mswjs/data} \\
& \begin{items}
\item Added nullable types to schema.
\end{items} \\
LaTeX & \bold{My CV} -- \textit{Creator} \\
& \GitHubLink{olivierwilkinson/CV} \\
& \begin{items}
\item This CV was written in LaTeX and generated using GitHub Actions and semantic-release.
\end{items} \\
\end{sectiontable}
\section*{Skills}
\Icon{typescript} Typescript \hspace{1.5mm}
\Icon{html} HTML \hspace{1.5mm}
\Icon{css} CSS \hspace{1.5mm}
\Icon[0.5cm][0.6cm]{react} React / React Native \hspace{1.5mm}
\Icon[0.5cm][0.5cm][0\height]{node} Node / Express \hspace{1.5mm}
\Icon{graphql} GraphQL \hspace{1.5mm} \\
\Icon{sql} SQL \hspace{1.5mm}
\Icon[0.5cm][0.3cm]{mongo} MongoDB \hspace{1.5mm}
\Icon[0.5cm][0.6cm]{gcloud} Google Cloud \hspace{1.5mm}
\Icon{terraform} Terraform \hspace{1.5mm}
\Icon{python} Python \hspace{1.5mm}
\Icon{swift} Swift \hspace{1.5mm}
\Icon{r} R \hspace{1.5mm}
\end{document}