cv/experiences.tex
2025-02-23 17:12:49 +00:00

81 lines
5.8 KiB
TeX

\cvsect{Experience}
\begin{entrylist}
\entry
{Present}
{Lead Software Engineer}
{Better Conversations Foundation}
{Returning to the foundation after my degree I have focused on:
\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.
\end{itemize}
\kwdlst{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,
\begin{itemize}[itemsep=-2pt,topsep=2pt]
\item 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$.
\item Researching, designing, and validating training methods.
\end{itemize}
The completed report can be found \href{https://files.joshuacoles.me/final-year-report.pdf}{\underline{here}}.
\\
\kwdlst{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.
\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}
Once I completed my work with Amphora, I moved to work at a connected non-profit, Better Conversations Foundation as their primary developer.%, 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 the e-commerce and scheduling systems for managing cohorts and staff.
\item Prototyping real-time coaching flight-plans to allow coordination between Facilitators as sessions progress
\end{itemize}
\kwdlst{Ruby on Rails, Stripe, Langchain, Vector Databases, Python}}
\entry
{2022 -- 2023\\{\footnotesize{part time aside studies}} \\\\2021 -- 2022\\\footnotesize{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,
\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}
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}}
\entry
{2017 -- 2021\\\footnotesize{Holidays \& Part time}}
{Software Developer}
{Amphora}
{I worked independently to explore and investigate new technologies including,
\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. Recent work includes:
\begin{itemize}[itemsep=-2pt,topsep=2pt]
\item AI based techniques for recipe extraction.
\item Database and platform for cross-domain analytics in my life.
\item ETL pipelines focused on breaking down data-silos.
\item Hosted across multiple servers with live monitoring and log and metrics aggregation.
\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, Python, ETL, CI/CD, Github actions, Postgres, Caddy, Docker, Prometheus, Grafana, System administration}}
\end{entrylist}