-
Notifications
You must be signed in to change notification settings - Fork 0
/
kennedy-jack.Rmd
197 lines (169 loc) · 7.72 KB
/
kennedy-jack.Rmd
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
---
name: Dr. Jack
surname: Kennedy
date: "`r format(Sys.time(), '%B, %Y')`"
www: jcken95.github.io
github: jcken95
linkedin: jcken95
email: [email protected]
position: statistician | data scientist | educator | all-round-nerd
headcolor: 0086b3 #414141
docname: curriculum vitae
output: vitae::awesomecv
header-includes:
- \hypersetup{colorlinks = true, linkcolor = awesome, urlcolor = awesome}
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE, warning = FALSE, message = FALSE)
library(vitae)
source("R/helpers.R")
```
# Professional Summary
I am a PhD educated statistician and data scientist with experience in data science consultancy and training.
I enjoy finding data-driven solutions to challenging problems whilst maintaining and improving best practices.
# Experience
```{r experience}
ukhsa_experience <- c(
"Develop and maintain reproducible analytical pipelines and data-driven products",
"Construct forecasts and nowcasts for epidemiological surveillance",
"Promoting a culture of writing clean, maintainable code and modelling pipelines"
)
jr_experience <- c(
"Provide statistical consulting services to a broad range of clients",
"Software development: contribute to production-ready R packages",
"Teach statistical and programming concepts in R with best practices front and centre to academia, industry and government",
"Outreach: organise the `North East Data Scientists' meetup and contribute to \\href{https://www.jumpingrivers.com/authors/jack-kennedy/}{company blog}" # nolint: line length linter.
)
intern_experience <- c(
"Collaborated with NU Solve, Jumping Rivers and the Food and Agricultural Organisation (UN)",
"Developed a model-based clustering approach to diagnose the sustainability of fish populations across the world",
"Developed a bespoke R package to provide FAO with the tools to take the developed methods forward",
"Provided a rapid scoping project for a large automotive manufacturer"
)
gta_experience <- c(
"Providing one-to-one support via the university Maths-Aid service to students; queries ranging from `How to calculate a percentage?' to `Which test is most appropriate for my data?' and `How to solve this differential equation?'", # nolint: line length linter
"Provided maternity cover for senior tutor: triaging and delegating Maths-Aid appointments",
"Delivered lectures to undergraduate students on statistical topics",
"Marked coursework in a timely manner"
)
work_experience <- tibble::tribble(
~job, ~start, ~end, ~employer, ~details,
"Senior Data Scientist", "Feb 2024", "Today", "UKHSA", ukhsa_experience,
"Data Scientist", "Jan 2023", "Jan 2024", "Jumping Rivers", jr_experience,
"Data Scientist (intern)", "Jan 2022", "May 2022", "NU Solve", intern_experience,
"Graduate Teaching Assistant", "Oct 2018", " Dec 2022", "Newcastle University", gta_experience
)
work_experience %>%
detailed_entries(
what = job,
when = glue::glue("{start} - {end}"),
with = employer,
why = details,
.protect = FALSE
)
```
# Education
```{r education}
phd_notes <- c(
"\\href{https://theses.ncl.ac.uk/jspui/handle/10443/6060}{Thesis}: Uncertainty Quantification for Stochastic Simulators with Application to Offshore Wind Farms", # nolint: line length linter.
"Applied and developed Gaussian process based techniques to improve the efficiency of stochastic simulation experiments",
"Research themes: Bayesian methods; Decision Analysis; Bayesian Optimisation; Emulation; Gaussian Processes",
"\\href{https://academic.oup.com/jrsssc/article/72/3/608/7082690}{Published} in a leading Statistics journal"
)
undergrad_notes <- c(
"Thesis: Multivariate Statistics \\& Machine Learning: An Application to Product Costing in Nissan",
"Provided Nissan's finance team with a statistical and ML toolbox to help them understand their data; regression for fast product costing; dimension reduction and clustering for outlier detection", # nolint: line length linter.
"Studied a range of mathematical and statistical topics: regression \\& statistical modelling; Markov models; time series; queuing theory; extreme value theory; flexible regression; multivariate methods" # nolint: line length linter.
)
edu <- tibble::tribble(
~degree, ~start, ~end, ~institution, ~details,
"PhD Statistics", "2018", "2023", "Newcastle University", phd_notes,
"MMathStat (First class)", "2012", "2018", "Newcastle University", undergrad_notes,
)
edu %>%
detailed_entries(
what = degree,
when = glue::glue("{start} - {end}"),
with = institution,
why = details,
.protect = FALSE
)
```
# Technical & Professional Skills
```{r skills}
r_notes <- c(
"Developed production-ready R packages as part of a team",
"Proficient with base R and {tidyverse} packages"
)
communicating_notes <- c(
"Award-winning speaker with over 5 years teaching experience",
"Produces professional, reproducible documents with R Markdown and Quarto",
"Writes technical yet accessible content and documents; PhD thesis and blog posts described as accessible"
)
skills <- tibble::tribble(
~skill, ~statement,
"R Programming", r_notes,
"Statistics & Machine Learning", "Bayesian methods, linear and flexible regression, Bayesian optimisation, clustering, classification, inference, prediction", # nolint: line length linter.
"Communicating", communicating_notes,
"Software Development Toolkit", "Linux, Git, CI/CD, Command line",
"Other languages & Software", "LaTeX, Stan, MATLAB, SLURM"
)
skills %>%
detailed_entries(
what = skill,
why = statement
)
```
# Extra Curricular & Service
```{r service}
rss_notes <- c(
"Active member of the Royal statistical society; organised a variety of in-person and online events; collaborating with Head of Conferences and Events to organise conference sessions", # nolint: line length linter.
"Previously member \\& Chair of the Young Statisticians Section; supporting early-career statisticians and data scientists, overseeing a team of 12 volunteers", # nolint: line length linter.
"Treasurer \\& committee member for North Eastern Local Group"
)
cv_stats <- get_stack_user("283201")
cv_rep <- cv_stats$reputation
cv_badges <- cv_stats %>%
dplyr::mutate(
badge_sum = rowSums(dplyr::pick(dplyr::starts_with("badge")))
) %>%
dplyr::pull("badge_sum")
todays_date <- lubridate::today()
todays_date_friendly <- glue::glue(
"{lubridate::month(todays_date, label = TRUE, abbr = FALSE)} {lubridate::year(todays_date)}"
)
misc_notes <- c(
"Participate in \\#TidyTuesday data visualisation challenge to practise visualisation and learn new-to-me R packages; see \\href{https://github.com/jcken95/tidytuesday}{GitHub repository}", # nolint: line length linter.
glue::glue("Top 5\\% overall contributor on Crossvalidated. As of {todays_date_friendly} gained {cv_stats$reputation} reputation and {cv_badges} badges") # nolint: line length linter.
)
service <- tibble::tribble(
~job, ~start, ~end, ~institution, ~details,
"Fellow \\& Volunteer", "2019", "Today", "Royal Statistical Society", rss_notes,
"Things I do because I love stats, data and computers", "", "", "Projects \\& Online Activity", misc_notes,
)
service %>%
detailed_entries(
what = job,
when = glue::glue("{start} - {end}"),
with = institution,
why = details,
.protect = FALSE
)
```
# Interests
```{r interests}
professional_interests <- c(
"Technical: Bayesian methods; data visualisation; modelling; reproducibility; best practices",
"Non-technical: Supporting early-career statisticians and data scientists; communicating statistics"
)
interests <- tibble::tribble(
~area, ~interests,
"Professional", professional_interests,
"Personal", "Cycling, hiking, running, you know, getting covered in mud"
)
interests %>%
detailed_entries(
what = area,
why = interests
)
```