Compare commits
3 Commits
fb91eb6ad0
...
128bed7210
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
128bed7210 | ||
|
|
4dcf0e0612 | ||
|
|
843f73cf32 |
44
cv.tex
44
cv.tex
@ -25,6 +25,10 @@
|
||||
\usepackage{enumitem}
|
||||
\usepackage{ifthen}
|
||||
|
||||
% Enable to disable litigates for ATS
|
||||
%\usepackage{microtype}
|
||||
%\DisableLigatures{encoding = *, family = *}
|
||||
|
||||
\newboolean{include-sensitive}
|
||||
\setboolean{include-sensitive}{true}
|
||||
|
||||
@ -34,33 +38,39 @@
|
||||
|
||||
\cvsect{Who Am I?}
|
||||
|
||||
\begin{minipage}[t]{0.6\textwidth}
|
||||
\begin{minipage}[t]{0.8\textwidth}
|
||||
\vspace{-\baselineskip} % Required for vertically aligning minipages
|
||||
Working in the domain for over 10 years software engineering is a profession and a passion. My drive throughout has been to understand the business and organisational context of the problem, as the most important component of any technical solution.
|
||||
% Working in the domain for over 10 years, software engineering is a profession and a passion.
|
||||
I am a passionate and adaptable software engineer with a strong focus on delivering high-quality, maintainable solutions. With experience across a range of technologies and industries, I thrive on understanding the business and organisational context behind software, ensuring that technical solutions align with real-world needs.
|
||||
I believe that effective communication, problem-solving, and a willingness to continuously learn and adapt are key to delivery effective solutions.
|
||||
% Working in the domain for over 10 years software engineering is a profession and a passion. My drive throughout has been to understand the business and organisational context of the problem, as the most important component of any technical solution.
|
||||
% I have been working with software for over 10 years with problems and technologies.
|
||||
% My drive over 10 years has always been addressing real problems that I encounter with the tools to hand — treating specific technologies as secondary to understanding the organisational context of the problem.
|
||||
In my work at the ONS, I was responsible for software delivery, helping to manage a large team of contributors under a tight timeframe.
|
||||
Through my work at Better Conversations Foundation, I led the development of a real-time web application, collaborating closely with users to continuously evolve the product where
|
||||
% In my work at the ONS, I was responsible for software delivery, helping to manage a large team of contributors under a tight timeframe.
|
||||
% Combined
|
||||
I have developed a love and appreciation for correct solutions that respect their user and customers and am excited to see how AI can enhance this mission in otherwise intractable domains.
|
||||
I have developed a love and appreciation for correct solutions that respect their user and customers. I am excited about the opportunity to work with a collaborative, ambitious team like Ghyston’s where I can contribute my experience while continuing to grow as an engineer.
|
||||
%am excited to see how AI can enhance this mission in otherwise intractable domains.
|
||||
% Typing trailer:
|
||||
% Throughout my work I have developed a love and appreciation for strongly typed languages and maximising the compile-time assurance that can be achieved. This has consistently paid dividends in greater development velocity, and the elimination of issues before shipping.
|
||||
% AI trailer:
|
||||
% My recent work surrounding AI has shown me its use in solving otherwise intractable problems and providing insight into unstructured data and, I am excited to explore its further applications.
|
||||
\end{minipage}
|
||||
\hfill
|
||||
\begin{minipage}[t]{0.35\textwidth}
|
||||
\vspace{-3\baselineskip} % Required for vertically aligning minipages
|
||||
\colorbox{SectTitleColor}{\textcolor{white}{\MakeUppercase{\textbf{Proficiency}}}}
|
||||
\begin{barchart}{4}
|
||||
\baritem{Typescript}{80}
|
||||
\baritem{React}{70}
|
||||
\baritem{Rust}{70}
|
||||
\baritem{Python}{60}
|
||||
\baritem{Git}{80}
|
||||
\baritem{Ruby}{75}
|
||||
% \baritem{Scala}{60}
|
||||
\end{barchart}
|
||||
\end{minipage}
|
||||
%\begin{minipage}[t]{0.275\textwidth}
|
||||
% \vspace{-3\baselineskip} % Required for vertically aligning minipages
|
||||
% \colorbox{SectTitleColor}{\textcolor{white}{\MakeUppercase{\textbf{Proficiency}}}}
|
||||
% \vspace{0.5\baselineskip}
|
||||
% \begin{barchart}{3}
|
||||
% \baritem{Typescript}{80}
|
||||
% \baritem{React}{70}
|
||||
% \baritem{Rust}{70}
|
||||
% \baritem{Python}{60}
|
||||
% \baritem{Git}{80}
|
||||
% \baritem{Ruby}{75}
|
||||
% \baritem{SQL}{60}
|
||||
% \end{barchart}
|
||||
%\end{minipage}
|
||||
|
||||
%
|
||||
% Experiences
|
||||
|
||||
254
cv2.typ
Normal file
254
cv2.typ
Normal file
@ -0,0 +1,254 @@
|
||||
#import "@preview/fontawesome:0.5.0": *
|
||||
|
||||
#let accent = rgb("#367DA2")
|
||||
#let bar_color = rgb("#1C2331")
|
||||
#let bar_title_color = rgb("#1C2331")
|
||||
#let sect_title_color = accent
|
||||
#let entry_title_color = accent
|
||||
|
||||
#let icon(name, size, content) = {
|
||||
box(
|
||||
fill: accent,
|
||||
inset: 4pt,
|
||||
box(
|
||||
width: size,
|
||||
height: size,
|
||||
text(white, size: size, align(center + horizon)[#fa-icon(name, solid: true)])
|
||||
)
|
||||
)
|
||||
h(0.2cm)
|
||||
box(
|
||||
content,
|
||||
baseline: -0.5em
|
||||
)
|
||||
}
|
||||
|
||||
#show(heading.where(level: 2)): it => {
|
||||
// v(-2pt)
|
||||
box(
|
||||
fill: sect_title_color,
|
||||
inset: 3pt,
|
||||
text(white, upper(it))
|
||||
)
|
||||
// v(-4pt)
|
||||
}
|
||||
|
||||
#let entry(date, title, subtitle, content) = {
|
||||
grid(
|
||||
columns: (17.5%, 1fr),
|
||||
date,
|
||||
{
|
||||
text(weight: "bold", title)
|
||||
h(1fr)
|
||||
text(size: 0.9em, weight: "bold", subtitle)
|
||||
linebreak()
|
||||
content
|
||||
}
|
||||
)
|
||||
v(12pt)
|
||||
}
|
||||
|
||||
#set document(author: "Joshua Coles", title: "CV")
|
||||
#set page(margin: (x: 2cm, y: 1.75cm), paper: "a4")
|
||||
#set text(font: "Raleway", size: 9pt)
|
||||
#set par(spacing: 1.1em)
|
||||
|
||||
// Header
|
||||
#grid(
|
||||
columns: (45%, 27.5%, 27.5%),
|
||||
{
|
||||
stack(
|
||||
box(fill: accent, inset: (x: 3pt, y: 3pt))[
|
||||
#text(white, weight: "bold", size: 28pt, "JOSHUA")
|
||||
],
|
||||
v(1pt),
|
||||
box(fill: accent, inset: (x: 3pt, y: 3pt))[
|
||||
#text(white, weight: "bold", size: 28pt, "COLES")
|
||||
],
|
||||
v(1em),
|
||||
text(size: 16pt)[Full-stack Developer]
|
||||
)
|
||||
},
|
||||
{
|
||||
stack(
|
||||
spacing: 1pt,
|
||||
icon("location-dot", 1em, "Bath / Reading"),
|
||||
icon("phone", 1em, "+44 7564 199236"),
|
||||
icon("at", 1em, link("mailto:me@joshuacoles.me")[me\@joshuacoles.me])
|
||||
)
|
||||
},
|
||||
{
|
||||
stack(
|
||||
spacing: 1pt,
|
||||
icon("earth", 1em, link("https://git.joshuacoles.me/explore/repos")[Personal Gitea]),
|
||||
icon("github", 1em, link("https://github.com/joshuacoles")[github.com/joshuacoles]),
|
||||
icon("linkedin", 1em, link("https://www.linkedin.com/in/joshua-coles-a79498151/")[LinkedIn])
|
||||
)
|
||||
}
|
||||
)
|
||||
|
||||
== Who am I?
|
||||
|
||||
#grid(
|
||||
columns: (90%),
|
||||
{
|
||||
[I am a passionate and adaptable software engineer with a strong focus on delivering high-quality, maintainable solutions. With experience across a range of technologies and industries, I thrive on understanding the business and organisational context behind software, ensuring that technical solutions align with real-world needs.
|
||||
I believe that effective communication, problem-solving, and a willingness to continuously learn and adapt are key to delivery effective solutions.
|
||||
Through my work at Better Conversations Foundation, I led the development of a real-time web application, collaborating closely with users to continuously evolve the product where I have developed a love and appreciation for correct solutions that respect their user and customers. I am excited about the opportunity to work with a collaborative, ambitious team like Ghyston's where I can contribute my experience while continuing to grow as an engineer.]
|
||||
},
|
||||
)
|
||||
|
||||
// Experience section
|
||||
== Experience
|
||||
|
||||
#entry(
|
||||
"Present",
|
||||
"Lead Software Engineer",
|
||||
"Better Conversations Foundation",
|
||||
[
|
||||
Returning to the foundation after my degree I have focused on:
|
||||
- End-to-End Product Delivery: I lead the development of a real-time web application for delivering coaching session to large audiences
|
||||
- Support the professional growth of junior developers through hands-on mentorship
|
||||
- Spearheaded further AI work, including Model Context Protocol support
|
||||
- Producing a course for a high profile business cohort in Oceana
|
||||
|
||||
#text(font: "Courier")[Ruby on Rails / Ruby / Turbo / Stimulus / iOS / Project Management / Mentorship]
|
||||
]
|
||||
)
|
||||
|
||||
#entry(
|
||||
[Final Year],
|
||||
[Dissertation Project, AI Applications in Lagrangian Physics],
|
||||
[University of Bath],
|
||||
[
|
||||
My dissertation focused on incorporating Lagrangian Mechanics into physics-informed neural networks. My key contributions include,
|
||||
- Creating and optimising the core physics procedures in JAX to improve correctness compared to legacy implementations; allow for their use in loss functions; and reducing runtimes by a factor of $10^4$.
|
||||
- Researching, designing, and validating training methods.
|
||||
|
||||
The completed report can be found #link("https://files.joshuacoles.me/final-year-report.pdf")[here].
|
||||
|
||||
#text(font: "Courier")[JAX / Neural Networks / Machine Learning / AI / Numpy / Flax / Tensorflow / Keras / Python]
|
||||
]
|
||||
)
|
||||
|
||||
#entry(
|
||||
[Summer 2023],
|
||||
[Software Developer],
|
||||
[Better Conversations Foundation & Amphora],
|
||||
[
|
||||
I lead efforts exploring the feasibility and application of AI based features in the main product.
|
||||
- Integrating vector based search and retrieval-augmented generation into the application in a non-intrusive manner.
|
||||
- Presenting work to customers and facilitating input on direction and feature fit.
|
||||
|
||||
Once I completed my work with Amphora, I moved to work at a connected non-profit, Better Conversations Foundation as their primary developer.
|
||||
- Implementing the e-commerce and scheduling systems for managing cohorts and staff.
|
||||
- Prototyping real-time coaching flight-plans to allow coordination between Facilitators as sessions progress
|
||||
|
||||
#text(font: "Courier")[Ruby on Rails / Stripe / Langchain / Vector Databases / Python]
|
||||
]
|
||||
)
|
||||
|
||||
#entry(
|
||||
[
|
||||
2022 -- 2023#linebreak()#text(size: 0.8em)[part time aside studies]
|
||||
2021 -- 2022#linebreak()#text(size: 0.8em)[placement year]
|
||||
],
|
||||
[Software Developer],
|
||||
[Office for National Statistics],
|
||||
[
|
||||
I joined a team working designing and developing software for processing the results of the 2021 Census. After the end of my placement I was kept on to assist with the next phase of product development and solution design. In this role I worked with sensitive data from the Census in isolated production environments and thus obtained SC clearance. Key contributions include,
|
||||
- Taking a leading role as release manager for the product and was heavily involved in requirements gathering for the new features.
|
||||
- Developing tools for debugging and observability in sensitive production environments, greatly increasing the our ability to diagnose production issues quickly.
|
||||
- Designing architectures for the next stage of the project to address additional business needs.
|
||||
|
||||
This role gave me an appreciation for how the interpersonal aspects of successful team are crucial for the overall success of a project. This was especially important when interfacing with the wider organisation on the direction of the project.
|
||||
|
||||
#text(font: "Courier")[React / Redux / Express / Jest / Cypress / Redis / SQL / Postgres / HBase / Scala / Cloudera / Jenkins / Docker / Typescript / JavaScript / Linux / Microservices / Agile / Scrum]
|
||||
]
|
||||
)
|
||||
|
||||
#entry(
|
||||
[
|
||||
2017 -- 2021
|
||||
#linebreak()
|
||||
#text(size: 0.8em)[Holidays & Part time]
|
||||
],
|
||||
[Software Developer],
|
||||
[Amphora],
|
||||
[
|
||||
I worked independently to explore and investigate new technologies including,
|
||||
- Creating and maintaining SAML based customer access mechanism for confidential documentation.
|
||||
- Designing subscription management product using Wordpress as a Headless CMS for presentation under multiple service offering.
|
||||
|
||||
#text(font: "Courier")[SAML / Groovy / Java / Ruby on Rails / Ruby]
|
||||
]
|
||||
)
|
||||
|
||||
#entry(
|
||||
[2011 — present],
|
||||
[Ongoing Personal Projects],
|
||||
[],
|
||||
[
|
||||
My latest personal projects are focused on data analysis on different aspects of my life. This is done with a strong focus on self-hosting and privacy. Recent work includes:
|
||||
- AI based techniques for recipe extraction.
|
||||
- Database and platform for cross-domain analytics in my life.
|
||||
- ETL pipelines focused on breaking down data-silos.
|
||||
- Hosted across multiple servers with live monitoring and log and metrics aggregation.
|
||||
|
||||
A history of these is available on my #link("https://github.com/joshuacoles")[GitHub] or #link("https://git.joshuacoles.me/explore/repos")[personal Gitea], along with this #link("https://git.joshuacoles.me/joshuacoles/cv")[CV and build process].
|
||||
|
||||
#text(font: "Courier")[Rust / Python / ETL / CI/CD / Github actions / Postgres / Caddy / Docker / Prometheus / Grafana / System administration]
|
||||
]
|
||||
)
|
||||
|
||||
// Education section
|
||||
== Education
|
||||
|
||||
#entry(
|
||||
[],
|
||||
[MSc Mathematics and Physics (Hons) (Sandwich)],
|
||||
[University of Bath],
|
||||
[1st Class Honours. Placement with the ONS between academic years 2 and 3.]
|
||||
)
|
||||
|
||||
#entry(
|
||||
[],
|
||||
[Prior Qualifications],
|
||||
[Reading Blue Coat School],
|
||||
[
|
||||
4 A Levels: A\* Maths, A Further Maths, A Physics, A Chemistry
|
||||
|
||||
GCSEs: 1 A\* with distinction, 8 A\*s, 2 A's, 1 B. Including A\* with distinction in Further Maths, A\*s in Maths, Sciences, English and Computing.
|
||||
]
|
||||
)
|
||||
|
||||
// Additional sections at bottom
|
||||
#grid(
|
||||
columns: (1fr, 1fr),
|
||||
{
|
||||
v(8pt)
|
||||
box(
|
||||
fill: sect_title_color,
|
||||
inset: (x: 3pt, y: 2pt),
|
||||
text(white, weight: "bold", upper("Additional Qualifications and Training"))
|
||||
)
|
||||
v(5pt)
|
||||
[#link("https://betterconversations.foundation/index.html")[Better Conversations] — 2022]
|
||||
linebreak()
|
||||
[ISO9001 and ISO27001 training — 2018]
|
||||
},
|
||||
{
|
||||
v(8pt)
|
||||
box(
|
||||
fill: sect_title_color,
|
||||
inset: (x: 3pt, y: 2pt),
|
||||
text(white, weight: "bold", upper("Interests"))
|
||||
)
|
||||
v(5pt)
|
||||
[Long distance running; politics and governance and the applications of technology therein; previous committee member of Philosophy Society at University.]
|
||||
}
|
||||
)
|
||||
|
||||
== References
|
||||
|
||||
Available upon request
|
||||
@ -191,7 +191,7 @@
|
||||
\end{longtable}
|
||||
}
|
||||
|
||||
% First argument for the leftmost date(s) text,
|
||||
% First argument for the leftmost date(s) texct,
|
||||
% Second is for the bold entry heading
|
||||
% Third is for the bold right-aligned entry qualifier
|
||||
%Fourth is for the entry description
|
||||
|
||||
@ -9,8 +9,8 @@
|
||||
\begin{itemize}[itemsep=-2pt,topsep=2pt]
|
||||
\item End-to-End Product Delivery: I lead the development of a real-time web application for delivering coaching session to large audiences, from initial concept to full-scale product, engaging frequently with users and continuously evolving it to meet fast-evolving business needs.
|
||||
\item Support the professional growth of junior developers through hands-on mentorship and guidance.
|
||||
\item Spearheaded further AI work, including Model Context Protocol supporte and significant contributions to FOSS software projects to enable AI use in security-sensitive environments.
|
||||
\item Producing a course for a high profile business cohort in Oceana.
|
||||
\item Spearheaded further AI work, including Model Context Protocol support and significant contributions to FOSS software projects to enable AI use in security-sensitive environments.
|
||||
\item Producing a course for a high profile business cohort based in Oceana.
|
||||
\end{itemize}
|
||||
\kwdlst{Ruby on Rails, Ruby, Turbo, Stimulus, iOS, Project Management, Mentorship}}
|
||||
\entry
|
||||
@ -53,7 +53,7 @@
|
||||
\item Designing architectures for the next stage of the project to address additional business needs.
|
||||
\end{itemize}
|
||||
This role gave me an appreciation for how the interpersonal aspects of successful team are crucial for the overall success of a project. This was especially important when interfacing with the wider organisation on the direction of the project.\\
|
||||
\kwdlst{React, Redux, Express, Jest, Cypress, Redis, SQL, Postgres, HBase, Cloudera, Jenkins, Docker, Typescript, JavaScript, Linux, Microservices, Agile, Scrum}}
|
||||
\kwdlst{React, Redux, Express, Jest, Cypress, Redis, SQL, Postgres, HBase, Scala, Cloudera, Jenkins, Docker, Typescript, JavaScript, Linux, Microservices, Agile, Scrum}}
|
||||
\entry
|
||||
{2017 -- 2021\\\footnotesize{Holidays \& Part time}}
|
||||
{Software Developer}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user