-
Notifications
You must be signed in to change notification settings - Fork 7
/
cv.tex
137 lines (107 loc) · 5.13 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
\documentclass[a4paper]{barrucadu-cv}
\newcommand{\range}[2]{#1–#2}
\newcommand{\orange}[1]{\range{#1}{now}}
\firstname{Michael}
\familyname{Walker}
\address{London}{England}
\email{mike@barrucadu.co.uk}
\homepage{www.barrucadu.co.uk}
\linkedin{barrucadu}
\github{barrucadu}
\begin{document}
\section{Experience}
\subsection{GoCardless}
\begin{cventry}{\orange{Apr~2024}}{Senior Software Development Engineer}
\end{cventry}
\begin{cventry}{\range{Mar~2022}{Apr~2024}}{Software Development Engineer}
\begin{tightitemize}
\item Designed a replacement scheduler for kubernetes cronjobs to gracefully handle daylight savings and other timezone changes.
\item Led a project to localise our daily batch-processing pipelines to optimise timings with international banking partners.
\item Implemented an MVP of using machine learning to speed up payment processing where there is low risk of failure, and joined customer calls to discuss their needs.
\item Analysed and improved the performance of time-sensitive data processing pipelines through table partitioning and algorithmic improvements.
\item Led tabletop sessions for team members to discuss potential incidents and identify mitigations.
\item Mentored junior developers.
\end{tightitemize}
\end{cventry}
\subsection{Government Digital Service}
\begin{cventry}{\range{Jun~2019}{Feb~2022}}{Senior Developer}
\begin{tightitemize}
\item Led a small multidisciplinary agile team doing discovery into an account system for GOV.UK.
\item Prototyped and then productionised a machine learning pipeline for search result ranking using Amazon SageMaker.
\item Led an upgrade from Elasticsearch 5 to Elasticsearch 6.
\item Worked with external pentesters, providing assistance and triage.
\item Worked with performance analysts to plan and implement A/B tests.
\end{tightitemize}
\end{cventry}
\begin{cventry}{\range{Apr~2018}{Jun~2019}}{Developer}
\begin{tightitemize}
\item Made various improvements to the GOV.UK stack: for performance, technical debt, and architecture debt. Mostly Ruby and Rails or Sinatra, some Python, various types of database (e.g. PostgreSQL and MySQL). All running on Linux.
\item Led initial experiments into load testing.
\item Planned and implemented an upgrade from Elasticsearch 2 to Elasticsearch 5.
\item Worked with AWS infrastructure using Terraform and Puppet.
\item Gave regular support to teams which did not merit a full-time developer.
\end{tightitemize}
\end{cventry}
\subsection{Overleaf}
\begin{cventry}{\range{Jan}{Mar}~2018}{Software Engineer (Part Time)}
\begin{tightitemize}
\item Maintained legacy Rails and Java / JGit services during the merger with ShareLaTeX.
\end{tightitemize}
\end{cventry}
\begin{cventry}{\range{Jul}{Sep}~2017}{Software Engineering Intern}
\begin{tightitemize}
\item Fixed security issues, ranging from CSRF and XSS vulnerabilities to a bug in Heroku's router.
\item Ported a large Rails 4 application to Rails 5.
\item Designed and implemented a distributed message bus using Node and Redis.
\end{tightitemize}
\end{cventry}
\subsection{Pusher}
\begin{cventry}{\range{May}{Aug}~2016}{Software Engineering Intern}
\begin{tightitemize}
\item Contributed to the productionisation of a prototype low-latency distributed message bus using Go and Raft consensus.
\end{tightitemize}
\end{cventry}
\subsection{CoreFiling}
\begin{cventry}{\range{Jul}{Sep}~2014}{Software Engineering Intern}
\begin{tightitemize}
\item Refactored a Java in-house wiki program, fixing numerous long-standing bugs.
\end{tightitemize}
\end{cventry}
\section{Education}
\subsection{University of York}
\begin{cventry}{\range{2014}{2019}}{Ph.D in Computer Science}
My thesis ``Revealing Behaviours of Concurrent Functional Programs
by Systematic Testing'' examined the deterministic testing of
concurrent programs with shared memory and message passing.
Supervised by Colin Runciman, and examined by Simon Peyton Jones and
Ana Cavalcanti.
\end{cventry}
\begin{cventry}{\range{2010}{2014}}{M.Eng in Computer Systems and Software Engineering}
My dissertation on the formal verification of stop-the-world garbage
collectors received first-class honours. Overall, I achieved a 2:1.
\end{cventry}
\section{Publications}
\def\entryheadinglevel{subsection}
\phdthesis{2018}
{Revealing Behaviours of Concurrent Functional Programs by Systematic Testing}
{University of York}
\published[10.1007/978-3-319-90686-7\_17]
{2018}
{Cheap Remarks about Concurrent Programs}
{ACM SIGPLAN}
{Michael Walker and Colin Runciman}
{ACM SIGPLAN Symposium on Functional and Logic Programming}
\published[10.1145/2887747.2804306]
{2015}
{Déjà Fu: A Concurrency Testing Library for Haskell}
{ACM SIGPLAN}
{Michael Walker and Colin Runciman}
{ACM SIGPLAN Symposium on Haskell}
\textit{PDFs and BibTeX entries are available on \httplink[my website]{www.barrucadu.co.uk}.}
\section{Open Source}
\begin{cventry}{\orange{2015}}{D\'{e}j\`{a}~Fu}
A library for testing concurrent Haskell programs,
developed as part of my Ph.D thesis. It has had some commercial users.
\textbf{\small\githublink{barrucadu}{dejafu}}
\end{cventry}
\end{document}