82 lines
5.0 KiB
TeX
82 lines
5.0 KiB
TeX
\cvsect{Experience}
|
|
|
|
\begin{entrylist}
|
|
\entry
|
|
{Present}
|
|
{Software Developer}
|
|
{Better Conversations Foundation}
|
|
{After I have completed my degree I intend to return to the Better Conversations Foundation to continue the work I started the previous year 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, 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}} \\\\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.
|
|
\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, 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, Postgres, Caddy, Docker, System administration of internet connected servers}}
|
|
\end{entrylist}
|