Compare commits
4
Commits
128bed7210
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9a99d9db46 | ||
|
|
617b07318e | ||
|
|
2031d21be9 | ||
|
|
dd4b8da124 |
@@ -23,6 +23,10 @@
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#let kwlist(..args) = {
|
||||||
|
text(font: "Courier", args.pos().join(" / "))
|
||||||
|
}
|
||||||
|
|
||||||
#show(heading.where(level: 2)): it => {
|
#show(heading.where(level: 2)): it => {
|
||||||
// v(-2pt)
|
// v(-2pt)
|
||||||
box(
|
box(
|
||||||
@@ -35,7 +39,7 @@
|
|||||||
|
|
||||||
#let entry(date, title, subtitle, content) = {
|
#let entry(date, title, subtitle, content) = {
|
||||||
grid(
|
grid(
|
||||||
columns: (17.5%, 1fr),
|
columns: (15%, 1fr),
|
||||||
date,
|
date,
|
||||||
{
|
{
|
||||||
text(weight: "bold", title)
|
text(weight: "bold", title)
|
||||||
@@ -66,7 +70,7 @@
|
|||||||
#text(white, weight: "bold", size: 28pt, "COLES")
|
#text(white, weight: "bold", size: 28pt, "COLES")
|
||||||
],
|
],
|
||||||
v(1em),
|
v(1em),
|
||||||
text(size: 16pt)[Full-stack Developer]
|
text(size: 16pt)[Senior Full-stack Developer]
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -92,9 +96,9 @@
|
|||||||
#grid(
|
#grid(
|
||||||
columns: (90%),
|
columns: (90%),
|
||||||
{
|
{
|
||||||
[I am a passionate and adaptable software engineer with a strong focus on delivering high-quality, maintainable solutions. With experience across a range of technologies and industries, I thrive on understanding the business and organisational context behind software, ensuring that technical solutions align with real-world needs.
|
[A passionate and adaptable software engineer with a strong focus on high-quality, maintainable solutions. I thrive on understanding the business and organisational context, ensuring that technical solutions align with real-world needs.
|
||||||
I believe that effective communication, problem-solving, and a willingness to continuously learn and adapt are key to delivery effective solutions.
|
My approach is to focus on effective communication, problem-solving, and collaborative learning.
|
||||||
Through my work at Better Conversations Foundation, I led the development of a real-time web application, collaborating closely with users to continuously evolve the product where I have developed a love and appreciation for correct solutions that respect their user and customers. I am excited about the opportunity to work with a collaborative, ambitious team like Ghyston's where I can contribute my experience while continuing to grow as an engineer.]
|
In my recent experience I led the development of a real-time web application, collaborating closely with users to continuously evolve the product where I have developed a love and appreciation for correct solutions that respect their user and customers. /*I am excited about the opportunity to work with a collaborative, ambitious team like Ghyston's where I can contribute my experience while continuing to grow as an engineer.*/]
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -102,39 +106,25 @@
|
|||||||
== Experience
|
== Experience
|
||||||
|
|
||||||
#entry(
|
#entry(
|
||||||
"Present",
|
[2024 -- Present],
|
||||||
"Lead Software Engineer",
|
[Lead Software Engineer],
|
||||||
"Better Conversations Foundation",
|
[Better Conversations Foundation / Amphora Research Systems Ltd.],
|
||||||
[
|
[
|
||||||
Returning to the foundation after my degree I have focused on:
|
I work across Amphora and the non-profit Foundation (sister organisations)
|
||||||
- End-to-End Product Delivery: I lead the development of a real-time web application for delivering coaching session to large audiences
|
- Leading development of a real-time web application to reliably scale training sessions to large audiences and faciliate reliable team delivery. This has lead to at least a 5 fold increase in authoring productivity, with user's voluntarily adopting the product to deliver sessions.
|
||||||
- Support the professional growth of junior developers through hands-on mentorship
|
- Working with the two co-founders and the Foundation's partners to understand their needs and translate them into technical solutions.
|
||||||
- Spearheaded further AI work, including Model Context Protocol support
|
- Supporting junior developers through hands-on mentorship, improving their confidence and ability to solve technical problems over a 6 month period.
|
||||||
- Producing a course for a high profile business cohort in Oceana
|
- Delivering training to the senior leadership team of a key multi-national business client based in Australia. This allowed me to quickly identify issues and iterate the product on a daily basis -- this short cycle time meant the technical solutions could quickly track changing business needs and grow confidence in the product.
|
||||||
|
- Implementing Model Context Protocol (MCP) for Amphora's SaaS product and tool calling for a novel distributed LLM inference engine, deployed over a cluster of macOS nodes. This involved working with a 3rd party project to develop a business relationship, to align our goals, and contribute our work back to the core Github project.
|
||||||
|
|
||||||
#text(font: "Courier")[Ruby on Rails / Ruby / Turbo / Stimulus / iOS / Project Management / Mentorship]
|
#kwlist("Ruby on Rails", "Ruby", "Turbo", "Stimulus JS", "Tailwind CSS", "iOS", "Python", "LLMs", "Project Management", "Mentorship")
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
#entry(
|
#entry(
|
||||||
[Final Year],
|
[May 2023 -- October 2023],
|
||||||
[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,
|
|
||||||
- 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$.
|
|
||||||
- Researching, designing, and validating training methods.
|
|
||||||
|
|
||||||
The completed report can be found #link("https://files.joshuacoles.me/final-year-report.pdf")[here].
|
|
||||||
|
|
||||||
#text(font: "Courier")[JAX / Neural Networks / Machine Learning / AI / Numpy / Flax / Tensorflow / Keras / Python]
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
#entry(
|
|
||||||
[Summer 2023],
|
|
||||||
[Software Developer],
|
[Software Developer],
|
||||||
[Better Conversations Foundation & Amphora],
|
[Better Conversations Foundation / Amphora Research Systems Ltd.],
|
||||||
[
|
[
|
||||||
I lead efforts exploring the feasibility and application of AI based features in the main product.
|
I lead efforts exploring the feasibility and application of AI based features in the main product.
|
||||||
- Integrating vector based search and retrieval-augmented generation into the application in a non-intrusive manner.
|
- Integrating vector based search and retrieval-augmented generation into the application in a non-intrusive manner.
|
||||||
@@ -144,26 +134,29 @@
|
|||||||
- Implementing the e-commerce and scheduling systems for managing cohorts and staff.
|
- Implementing the e-commerce and scheduling systems for managing cohorts and staff.
|
||||||
- Prototyping real-time coaching flight-plans to allow coordination between Facilitators as sessions progress
|
- Prototyping real-time coaching flight-plans to allow coordination between Facilitators as sessions progress
|
||||||
|
|
||||||
#text(font: "Courier")[Ruby on Rails / Stripe / Langchain / Vector Databases / Python]
|
#kwlist("Ruby on Rails", "Stripe", "Langchain", "Vector Databases", "Python")
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// #pagebreak()
|
||||||
|
|
||||||
#entry(
|
#entry(
|
||||||
[
|
[
|
||||||
2022 -- 2023#linebreak()#text(size: 0.8em)[part time aside studies]
|
2022 -- 2023#linebreak()#text(size: 0.8em)[part time aside studies]#linebreak()
|
||||||
2021 -- 2022#linebreak()#text(size: 0.8em)[placement year]
|
2021 -- 2022#linebreak()#text(size: 0.8em)[placement year]
|
||||||
],
|
],
|
||||||
[Software Developer],
|
[Software Developer],
|
||||||
[Office for National Statistics],
|
[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,
|
I joined a team developing software for processing the results of the 2021 Census, remaining after my placement year 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,
|
||||||
- Taking a leading role as release manager for the product and was heavily involved in requirements gathering for the new features.
|
- Taking a leading role as release manager for the product, coordinating the work of the team ensuring we delivered working code on time.
|
||||||
|
- Working closely with the business product owner to understand the business needs and translate them into technical solutions, being heavily involved in requirements gathering for the new features.
|
||||||
- Developing tools for debugging and observability in sensitive production environments, greatly increasing the our ability to diagnose production issues quickly.
|
- Developing tools for debugging and observability in sensitive production environments, greatly increasing the our ability to diagnose production issues quickly.
|
||||||
- Designing architectures for the next stage of the project to address additional business needs.
|
- Designing architectures for the next stage of the project to address additional business needs, focusing on a cloud-based solution using GCP and Terraform.
|
||||||
|
|
||||||
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.
|
// 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.
|
||||||
|
|
||||||
#text(font: "Courier")[React / Redux / Express / Jest / Cypress / Redis / SQL / Postgres / HBase / Scala / Cloudera / Jenkins / Docker / Typescript / JavaScript / Linux / Microservices / Agile / Scrum]
|
#kwlist("React", "Redux", "Jest", "Cypress", "Accessibility", "Redis", "Express", "SQL", "Postgres", "HBase", "Scala", "Cloudera", "Jenkins", "Docker", "Typescript", "JavaScript", "Linux", "Microservices", "Agile", "Scrum", "Terraform", "GCP")
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -174,13 +167,13 @@
|
|||||||
#text(size: 0.8em)[Holidays & Part time]
|
#text(size: 0.8em)[Holidays & Part time]
|
||||||
],
|
],
|
||||||
[Software Developer],
|
[Software Developer],
|
||||||
[Amphora],
|
[Amphora Research Systems Ltd.],
|
||||||
[
|
[
|
||||||
I worked independently to explore and investigate new technologies including,
|
I worked independently to explore and investigate new technologies including,
|
||||||
- Creating and maintaining SAML based customer access mechanism for confidential documentation.
|
- Creating and maintaining SAML based customer access mechanism for confidential documentation.
|
||||||
- Designing subscription management product using Wordpress as a Headless CMS for presentation under multiple service offering.
|
- Designing subscription management product using Wordpress as a Headless CMS for presentation under multiple service offering.
|
||||||
|
|
||||||
#text(font: "Courier")[SAML / Groovy / Java / Ruby on Rails / Ruby]
|
#kwlist("SAML", "Groovy", "Java", "Ruby on Rails", "Ruby")
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -189,34 +182,37 @@
|
|||||||
[Ongoing Personal Projects],
|
[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:
|
I have been working on personal projects since 2011 and am a strong advocate for the benefits of self-hosting for privacy and personal development. My latest projects are focused on linking and analysing data across different aspects of my life. Recent work includes:
|
||||||
- AI based techniques for recipe extraction.
|
- React based frontend for joining multiple time tracking systems to provide a unified view of my work.
|
||||||
- Database and platform for cross-domain analytics in my life.
|
- Database and platform for cross-domain analytics in my life, involving data extraction and linkage across a range of sources, creating integrations where they don't exist.
|
||||||
- ETL pipelines focused on breaking down data-silos.
|
- Managing multiple servers and 15+ services with live monitoring and log and metrics aggregation.
|
||||||
- Hosted across multiple servers with live monitoring and log and metrics aggregation.
|
|
||||||
|
|
||||||
A history of these is available on my #link("https://github.com/joshuacoles")[GitHub] or #link("https://git.joshuacoles.me/explore/repos")[personal Gitea], along with this #link("https://git.joshuacoles.me/joshuacoles/cv")[CV and build process].
|
A history of these is available on my #link("https://github.com/joshuacoles")[GitHub] and #link("https://git.joshuacoles.me/explore/repos")[personal Gitea].//, along with this #link("https://git.joshuacoles.me/joshuacoles/cv")[CV and build process].
|
||||||
|
|
||||||
#text(font: "Courier")[Rust / Python / ETL / CI/CD / Github actions / Postgres / Caddy / Docker / Prometheus / Grafana / System administration]
|
#kwlist("Rust", "Python", "ETL", "CI/CD", "Github actions", "Postgres", "Caddy", "Docker", "Prometheus", "Grafana", "System administration")
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
// Education section
|
// Education section
|
||||||
== Education
|
== Education
|
||||||
|
#v(-1.3em * 2)
|
||||||
|
|
||||||
#entry(
|
#entry(
|
||||||
[],
|
[],
|
||||||
[MSc Mathematics and Physics (Hons) (Sandwich)],
|
[MSc Mathematics and Physics (Hons) (with Industrial Placement)],
|
||||||
[University of Bath],
|
[University of Bath],
|
||||||
[1st Class Honours. Placement with the ONS between academic years 2 and 3.]
|
[1st Class Honours. Placement with the ONS between academic years 2 and 3.
|
||||||
|
#linebreak()
|
||||||
|
Dissertation: AI Applications in Lagrangian Physics
|
||||||
|
]
|
||||||
)
|
)
|
||||||
|
#v(-1em)
|
||||||
#entry(
|
#entry(
|
||||||
[],
|
[],
|
||||||
[Prior Qualifications],
|
[Prior Qualifications],
|
||||||
[Reading Blue Coat School],
|
[Reading Blue Coat School],
|
||||||
[
|
[
|
||||||
4 A Levels: A\* Maths, A Further Maths, A Physics, A Chemistry
|
A Levels: Maths (A\*); Further Maths (A\*); Physics (A); Chemistry (A)
|
||||||
|
|
||||||
GCSEs: 1 A\* with distinction, 8 A\*s, 2 A's, 1 B. Including A\* with distinction in Further Maths, A\*s in Maths, Sciences, English and Computing.
|
GCSEs: 1 A\* with distinction, 8 A\*s, 2 A's, 1 B. Including A\* with distinction in Further Maths, A\*s in Maths, Sciences, English and Computing.
|
||||||
]
|
]
|
||||||
@@ -245,7 +241,7 @@
|
|||||||
text(white, weight: "bold", upper("Interests"))
|
text(white, weight: "bold", upper("Interests"))
|
||||||
)
|
)
|
||||||
v(5pt)
|
v(5pt)
|
||||||
[Long distance running; politics and governance and the applications of technology therein; previous committee member of Philosophy Society at University.]
|
[Long distance running; politics and governance and the applications of technology therein.]
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user