Stash changes

This commit is contained in:
Joshua Coles 2024-04-14 18:48:03 +01:00
parent e772b1eeac
commit 78650efcbe
3 changed files with 61 additions and 39 deletions

View File

@ -82,7 +82,7 @@
% Command to output an icon in a black square box with text to the right % Command to output an icon in a black square box with text to the right
\newcommand{\icon}[3]{% The first parameter is the FontAwesome icon name, the second is the box size and the third is the text \newcommand{\icon}[3]{% The first parameter is the FontAwesome icon name, the second is the box size and the third is the text
\vcenteredhbox{\colorbox{black}{\makebox(#2, #2){\textcolor{white}{\large\csname fa#1\endcsname}}}}% Icon and box \vcenteredhbox{\colorbox{Accent}{\makebox(#2, #2){\textcolor{white}{\large\csname fa#1\endcsname}}}}% Icon and box
\hspace{0.2cm}% Whitespace \hspace{0.2cm}% Whitespace
\vcenteredhbox{\textcolor{black}{#3}}% Text \vcenteredhbox{\textcolor{black}{#3}}% Text
} }
@ -127,9 +127,9 @@
\pgfmathparse{(\barwidth*\thebarcount)+(\barsep*\thebarcount)} \pgfmathparse{(\barwidth*\thebarcount)+(\barsep*\thebarcount)}
\let\barx\pgfmathresult \let\barx\pgfmathresult
\filldraw[fill=black, draw=none] (0,-\barx) rectangle (\barone,-\barx-\barwidth); \filldraw[fill=BarColor, draw=none] (0,-\barx) rectangle (\barone,-\barx-\barwidth);
\node [label=180:\colorbox{black}{\textcolor{white}{##1}}] at (0,-\barx-0.175) {}; \node [label=180:\colorbox{BarTitle}{\textcolor{white}{##1}}] at (0,-\barx-0.175) {};
\addtocounter{barcount}{1} \addtocounter{barcount}{1}
} }
\begin{tikzpicture} \begin{tikzpicture}
@ -171,7 +171,7 @@
% Command to output section title headings % Command to output section title headings
\newcommand{\cvsect}[1]{% The only parameter is the section text \newcommand{\cvsect}[1]{% The only parameter is the section text
\vspace{\baselineskip} % Whitespace before the section title \vspace{\baselineskip} % Whitespace before the section title
\colorbox{black}{\textcolor{white}{\MakeUppercase{\textbf{#1}}}}\\% Section title \colorbox{SectTitleColor}{\textcolor{white}{\MakeUppercase{\textbf{#1}}}}\\% Section title
} }
%---------------------------------------------------------------------------------------- %----------------------------------------------------------------------------------------
@ -196,11 +196,21 @@
#1 % Leftmost entry date(s) text #1 % Leftmost entry date(s) text
}% }%
&\parbox[t]{0.825\textwidth}{% 82.5% of the text width of the page &\parbox[t]{0.825\textwidth}{% 82.5% of the text width of the page
\textbf{#2}% Entry heading text \textbf{\textcolor{EntryTitleColor}{#2}}% Entry heading text
\hfill% Horizontal whitespace \hfill% Horizontal whitespace
{\footnotesize \textbf{\textcolor{black}{#3}}}\\% Right-aligned entry qualifier text {\footnotesize \textbf{\textcolor{EntryTitleColor}{#3}}}\\% Right-aligned entry qualifier text
#4 % Entry description text #4 % Entry description text
}\\\\} }\\\\}
% Command to output a separator slash between lists, e.g. ' / ' % Command to output a separator slash between lists, e.g. ' / '
\newcommand{\slashsep}{\hspace{3mm}/\hspace{3mm}} \newcommand{\slashsep}{\hspace{3mm}/\hspace{3mm}}
% Helpers
\newcommand{\emailaddr}[1]{\href{mailto:#1}{#1}}
\usepackage{etoolbox}% http://ctan.org/pkg/etoolbox
\newcommand{\kwdlst}[2][\slashsep]{%
\def\nextitem{\def\nextitem{#1}}% Separator
\renewcommand*{\do}[1]{\nextitem\texttt{##1}}% How to process each item
\docsvlist{#2}% Process list
}

View File

@ -22,10 +22,17 @@
\documentclass[9pt]{developercv} % Default font size, values from 8-12pt are recommended \documentclass[9pt]{developercv} % Default font size, values from 8-12pt are recommended
%---------------------------------------------------------------------------------------- \definecolor{Accent}{HTML}{367DA2}
\definecolor{BarTitle}{HTML}{000000}
\definecolor{BarColor}{HTML}{000000}
\definecolor{SectTitleColor}{HTML}{367DA2}
\definecolor{EntryTitleColor}{HTML}{367DA2}
\usepackage{enumitem}
\begin{document} \begin{document}
%---------------------------------------------------------------------------------------- %----------------------------------------------------------------------------------------
% TITLE AND CONTACT INFORMATION % TITLE AND CONTACT INFORMATION
%---------------------------------------------------------------------------------------- %----------------------------------------------------------------------------------------
@ -35,9 +42,9 @@
% If your name is very short, use just one of the lines below % 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 % 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{Joshua}}}}} % First name \colorbox{Accent}{{\HUGE\textcolor{white}{\textbf{\MakeUppercase{Joshua}}}}} % First name
\colorbox{black}{{\HUGE\textcolor{white}{\textbf{\MakeUppercase{Coles}}}}} % Last name \colorbox{Accent}{{\HUGE\textcolor{white}{\textbf{\MakeUppercase{Coles}}}}} % Last name
\vspace{6pt} \vspace{6pt}
@ -50,15 +57,16 @@
% 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 % 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}{Bath / Reading}\\ \icon{MapMarker}{12}{Bath / Reading}\\
\icon{Phone}{12}{+44 7564 199236}\\ \icon{Phone}{12}{+44 7564 199236}\\
\icon{At}{12}{\href{mailto:josh@coles.to}{josh@coles.to}}\\ \icon{At}{12}{\emailaddr{josh@coles.to}}\\
\end{minipage} \end{minipage}
\begin{minipage}[t]{0.275\textwidth} % 27.5% of the page width for the second row of icons \begin{minipage}[t]{0.275\textwidth} % 27.5% of the page width for the second row of icons
\vspace{-\baselineskip} % Required for vertically aligning minipages \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 % 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 % 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{Globe}{12}{\href{https://joshuacoles.me}{joshuacoles.me}}\\ \icon{Globe}{12}{\href{https://git.joshuacoles.me/explore/repos}{Personal Gitea}}\\
\icon{Github}{12}{\href{https://github.com/joshuacoles}{github.com/joshuacoles}}\\ \icon{Github}{12}{\href{https://github.com/joshuacoles}{github.com/joshuacoles}}\\
\icon{Linkedin}{12}{\href{https://www.linkedin.com/in/joshua-coles-a79498151/}{LinkedIn}}\\
\end{minipage} \end{minipage}
\vspace{0.5cm} \vspace{0.5cm}
@ -69,21 +77,20 @@
\cvsect{Who Am I?} \cvsect{Who Am I?}
\begin{minipage}[t]{0.5\textwidth} % 40% of the page width for the introduction text \begin{minipage}[t]{0.6\textwidth} % 40% of the page width for the introduction text
\vspace{-\baselineskip} % Required for vertically aligning minipages \vspace{-\baselineskip} % Required for vertically aligning minipages
Software Development is a profession and a hobby. I have been working on personal projects, and in a business context for over 10 years across a range of problems and technologies. I see the specific technologies as secondary to understanding the organisational context of the problem, not standing in the way of the correct solution. 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 in life and business. Software Development is a profession and a hobby. I have been working with software for over 10 years across a range of problems and technologies. My drive is addressing real problems that I encounter with the tools to hand — treating specific technologies as secondary to understanding the organisational context of the problem, not having them stand in the way of a correct solution. In my work at the ONS, I was responsible for software delivery, helping to manage a large team of contributors under a tight timeframe. 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}
\end{minipage}
\hfill % Whitespace between \hfill % Whitespace between
\begin{minipage}[t]{0.4\textwidth} % 50% of the page for the skills bar chart \begin{minipage}[t]{0.35\textwidth}
\vspace{-\baselineskip} % Required for vertically aligning minipages \vspace{-\baselineskip} % Required for vertically aligning minipages
\begin{barchart}{4.5} \begin{barchart}{4}
\baritem{JavaScript}{60} \baritem{Typescript}{80}
\baritem{PHP}{100} \baritem{React}{70}
\baritem{SASS/LESS}{70} \baritem{Rust}{70}
\baritem{Bootstrap}{70} \baritem{Python}{60}
\baritem{Git}{40} \baritem{Git}{80}
\baritem{LaTeX}{60} \baritem{Ruby}{75}
\end{barchart} \end{barchart}
\end{minipage} \end{minipage}
@ -102,13 +109,18 @@
{Academic\,Year 2023/24} {Academic\,Year 2023/24}
{Final Year Project, AI Applications in Lagrangian Physics} {Final Year Project, AI Applications in Lagrangian Physics}
{University of Bath} {University of Bath}
{My project has been on the applications of AI techniques to physical problems, specifically Lagrangian Mechanics. My work has focused on the building and testing of loss functions for the model based on the underlying physics.\\ \texttt{JAX}\slashsep\texttt{Numpy}\slashsep\texttt{Flax}\slashsep\texttt{Tensorflow}\slashsep\texttt{Python}} {My project focuses on incorporating Lagrangian Mechanics into physics-informed neural networks. My key contributions include,
\begin{itemize}[itemsep=-2pt,topsep=5pt]
\item Creating and optimising physics informed loss functions for speed and utility in training.
\item Creating the data generation and model training infrastructure.
\end{itemize}
Technologies:\,\kwdlst{JAX, Neural Networks, Loss functions, Numpy, Flax, Tensorflow, Python}}
\entry \entry
{Summer 2023} {Summer 2023}
{AI Developer} {AI Developer}
{Amphora} {Amphora}
{Worked to establish feasibility and applicability of AI to the main product of the business. The work mainly revolved around adapting the product to use a vector databases, building RAG pipelines, among other features.\\ {Worked to establish feasibility and applicability of AI to the main product of the business. The work mainly revolved around adapting the product to use a vector databases, building RAG pipelines, among other features.\\
\texttt{Langchain}\slashsep\texttt{Weaviate}\slashsep\texttt{Python}} \kwdlst{Langchain, Weaviate, Python}}
\entry \entry
{2022 -- 2023\\\footnotesize{part time}} {2022 -- 2023\\\footnotesize{part time}}
{Software Developer} {Software Developer}
@ -119,21 +131,17 @@
{Software Developer} {Software Developer}
{Office for National Statistics} {Office for National Statistics}
{For my placement I joined a team working on software for processing the results of the 2021 Census. We first took over the ownership and maintenance responsibility of contracted code, following which I developed key tools for debugging and observability in sensitive production environments, in addition to overhauling the test architecture of the application. Later, when we re-engaged the contracting firm, I took a leading role as release manager for the product and was heavily involved in requirements gathering for the new features \\\\ This placement year 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 business side of the organisation on the direction of the project.\\ {For my placement I joined a team working on software for processing the results of the 2021 Census. We first took over the ownership and maintenance responsibility of contracted code, following which I developed key tools for debugging and observability in sensitive production environments, in addition to overhauling the test architecture of the application. Later, when we re-engaged the contracting firm, I took a leading role as release manager for the product and was heavily involved in requirements gathering for the new features \\\\ This placement year 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 business side of the organisation on the direction of the project.\\
\texttt{React}\slashsep\texttt{Express}\slashsep\texttt{Jest}\slashsep\texttt{Cypress}\slashsep\texttt{Redis}\slashsep\texttt{SQL}\slashsep\texttt{Postgres}\slashsep\texttt{HBase}\slashsep\texttt{Cloudera}\slashsep\texttt{Jenkins}\slashsep\texttt{Docker}\slashsep\texttt{Typescript}\slashsep\texttt{Javascript}\slashsep\texttt{Linux}\slashsep\texttt{Microservices} \slashsep\texttt{Agile} \slashsep\texttt{Scrum}} \kwdlst{React, Express, Jest, Cypress, Redis, SQL, Postgres, HBase, Cloudera, Jenkins, Docker, Typescript, JavaScript, Linux, Microservices, Agile, Scrum}}
\entry \entry
{2017 -- 2021\\\footnotesize{Holidays \& Part time}} {2017 -- 2021\\\footnotesize{Holidays \& Part time}}
{Software Developer} {Software Developer}
{Amphora} {Amphora}
{This involved exploration and investigation of new technologies on an individual basis to assess product worthiness. Reporting back to supervisor on state of the area, possible uses, and providing minimal viable product for further development. This included execution and delivery of medium sized software projects, deployed both as MVPs and production software, working individually and as a member team, across a range of technologies. Several projects were deployed to production and are still in use.\\\texttt{SAML}\slashsep\texttt{Ruby on Rails}\slashsep\texttt{Groovy}\slashsep\texttt{Java}\slashsep\texttt{Ruby}} {This involved exploration and investigation of new technologies on an individual basis to assess product worthiness. Reporting back to supervisor on state of the area, possible uses, and providing minimal viable product for further development. This included execution and delivery of medium sized software projects, deployed both as MVPs and production software, working individually and as a member team, across a range of technologies. Several projects were deployed to production and are still in use.\\\kwdlst{SAML, Ruby on Rails, Groovy, Java, Ruby}}
\entry \entry
{} {}
{Ongoing Personal Projects} {Ongoing Personal Projects}
{} {}
{My personal projects of late mostly surround data analysis, data pipelines and warehouses to provide insight into my own life. A history of these is available on my GitHub or \href{https://git.joshuacoles.me/explore/repos}{personal gitea}.\\\texttt{Rust}\slashsep\texttt{CI/CD}\slashsep\texttt{Postgres}\slashsep\texttt{Caddy}\slashsep\texttt{Docker}\slashsep\texttt{System administration of internet connected servers} {My personal projects of late mostly surround data analysis, data pipelines and warehouses to provide insight into my own life. A history of these is available on my GitHub or \href{https://git.joshuacoles.me/explore/repos}{personal gitea}.\\\kwdlst{Rust, CI/CD, Postgres, Caddy, Docker, System administration of internet connected servers}}
}
}
\end{entrylist} \end{entrylist}
%---------------------------------------------------------------------------------------- %----------------------------------------------------------------------------------------
@ -165,7 +173,7 @@ GCSEs: 1 A* with distinction, 8 A*s, 2 As, 1 B. Including A* with distinction
\cvsect{ADDITIONAL QUALIFICATIONS AND TRAINING} \cvsect{ADDITIONAL QUALIFICATIONS AND TRAINING}
Better Conversations Clean Language Course — 2020 \\ Better Conversations — 2022 \\
ISO9001 and ISO27001 training — 2018 ISO9001 and ISO27001 training — 2018
\end{minipage} \end{minipage}
\hfill \hfill
@ -174,7 +182,7 @@ GCSEs: 1 A* with distinction, 8 A*s, 2 As, 1 B. Including A* with distinction
\cvsect{Interests} \cvsect{Interests}
Long distance running, politics and governance and the applications of technology therein. Long distance running; politics and governance and the applications of technology therein; committee member of Philosophy Society at University.
\end{minipage} \end{minipage}
%\hfill %\hfill
%\begin{minipage}[t]{0.3\textwidth} %\begin{minipage}[t]{0.3\textwidth}
@ -194,18 +202,18 @@ GCSEs: 1 A* with distinction, 8 A*s, 2 As, 1 B. Including A* with distinction
\entry \entry
{Employment\\Reference} {Employment\\Reference}
{Mathew Cooke} {Mathew Cooke}
{} {Director of Operations, Amphora Research Systems}
{Director of Operations, Amphora Research Systems \\Email: mathewc@amphora-research.com\\ Contact Number: +44 1344 28863\\Address: Molly Millars Lane, Unit 6, Wokingham, RG4} {Email: \emailaddr{mathewc@amphora-research.com}\\ Contact Number: +44 1344 28863\\Address: Molly Millars Lane, Unit 6, Wokingham, RG4}
\entry \entry
{Charater \\Reference} {Charater \\Reference}
{Steve Gibbard} {Steve Gibbard}
{} {DevOps Technical Lead, Office for National Statistics}
{Line manager while at Office for National Statistics \\Email: steve.gibbard@ons.gov.uk} {Line manager and Tech Lead while at Office for National Statistics \\ DevOps Technical Lead, Office for National Statistics\\Email: \emailaddr{steve.gibbard@ons.gov.uk}}
\entry \entry
{Academic \\Reference} {Academic \\Reference}
{David Tsang} {David Tsang}
{} {Senior Lecturer, Department of Physics, University of Bath}
{Project Supervisor \\Email: dcwt21@bath.ac.uk} {Project Supervisor \\Email: \emailaddr{dcwt21@bath.ac.uk}\\\href{https://researchportal.bath.ac.uk/en/persons/david-tsang}{Research Profile}}
\end{entrylist} \end{entrylist}

4
upload.sh Executable file
View File

@ -0,0 +1,4 @@
#! /bin/bash
scp main.pdf cosmos:infrastructure/caddy/files/cv.pdf