\cvsect{Experience}

\begin{entrylist}
	\entry
		{Present}
		{Software Developer}
		{Better Conversations Foundation}
		{After I completing my degree I returned to the Better Conversations Foundation to continue the work I started the previous year for the non-profit as I look for a longer term role.}
	\entry
		{Academic\,Year 2023/24}
		{Final Year Project, AI Applications in Lagrangian Physics}
		{University of Bath}
		{My project focused on incorporating Lagrangian Mechanics into physics-informed neural networks. My key contributions include,
		\begin{itemize}[itemsep=-2pt,topsep=2pt]
			\item Writing the core physics procedures in JAX to improve correctness and to allow for their use in loss functions and reducing runtimes by a factor of $10^4$.
			\item Creating and optimising physics informed loss functions for speed and utility in training.
		\end{itemize}
		The completed report can be found \href{https://files.joshuacoles.me/final-year-report.pdf}{\underline{here}}.
		\\
		\kwdlst{JAX, Neural Networks, Loss functions, Numpy, Flax, Tensorflow, Keras, Python}}
	\entry
		{Summer 2023}
		{Software Developer}
		{Better Conversations Foundation}
		{Once I completed my work with Amphora, I moved to work at a connected non-profit, Better Conversations Foundation, working on their e-commerce and scheduling systems and initiating development on a real-time coaching flight-plan solution.
		\begin{itemize}[itemsep=-2pt,topsep=2pt]
			\item Implementing key components of purchase flows, scheduling, and participant management.
			\item Prototyping real-time coaching flight-plans to allow coordination between Facilitators as sessions progress
		\end{itemize}
		\kwdlst{Ruby on Rails,Stripe}}
	\entry
		{Summer 2023}
		{Software Developer}
		{Amphora}
		{I lead efforts exploring the feasibility and application of AI based features in the main product.
		\begin{itemize}[itemsep=-2pt,topsep=2pt]
			\item Integrating vector based search and retrieval-augmented generation into the application in a non-intrusive manner.
			\item Presenting work to customers and facilitating input on direction and feature fit.
		\end{itemize}
		\kwdlst{Langchain, Weaviate, Python}}
	\entry
		{2022 -- 2023\\{\footnotesize{part time aside studies}} \\\\2021 -- 2022\\\footnotesize{placement year}}
		{Software Developer}
		{Office for National Statistics}
		{For my placement I joined a team working on 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,
		\begin{itemize}[itemsep=-2.5pt,topsep=2pt]
			\item Taking a leading role as release manager for the product and was heavily involved in requirements gathering for the new features.
			\item Developing tools for debugging and observability in sensitive production environments, greatly increasing the our ability to diagnose production issues quickly.
%			\item Restructuring a core service to decrease code duplication and increase test \& type coverage.
			\item Designing architectures for the next stage of the project to address additional business needs.
		\end{itemize}}
% Split of ONS entry to keep CV on two pages.
	\entry
		{}
		{}
		{}
		{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 business side of the 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}}
	\entry
		{2017 -- 2021\\\footnotesize{Holidays \& Part time}}
		{Software Developer}
		{Amphora}
		{I worked independently to explore and investigate new technologies including and
		\begin{itemize}[itemsep=-2pt,topsep=2pt]
			\item Creating and maintaining SAML based customer access mechanism for confidential documentation.
			\item Designing subscription management product using Wordpress as a Headless CMS for presentation under multiple service offering.
		\end{itemize}
		\kwdlst{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, giving me experience running services across a range of computers. Key components include
		\begin{itemize}[itemsep=-2pt,topsep=2pt]
			\item Self hosted Gitea and CI/CD for development.
			\item Centralised authentication.
			\item Centralised database for cross-domain analytics.
		\end{itemize}
		A history of these is available on my \href{https://github.com/joshuacoles}{\underline{GitHub}} or \href{https://git.joshuacoles.me/explore/repos}{\underline{personal Gitea}}, along with this \href{https://git.joshuacoles.me/joshuacoles/cv}{\underline{CV and build process}}.
		\\\kwdlst{Rust, CI/CD, Github actions, Postgres, Caddy, Docker, Docker Compose, System administration}}
\end{entrylist}
