81 lines
5.8 KiB
TeX
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}
|