147 lines
4.3 KiB
Plaintext
147 lines
4.3 KiB
Plaintext
#import "@preview/fontawesome:0.5.0": *
|
|
|
|
#let accent = rgb("#367DA2")
|
|
#let bar_color = rgb("#1C2331")
|
|
#let bar_title_color = rgb("#1C2331")
|
|
#let sect_title_color = accent
|
|
#let entry_title_color = accent
|
|
|
|
#let icon(name, size, content) = {
|
|
box(
|
|
fill: accent,
|
|
inset: 4pt,
|
|
box(
|
|
width: size,
|
|
height: size,
|
|
text(white, size: size, align(center + horizon)[#fa-icon(name, solid: true)])
|
|
)
|
|
)
|
|
h(0.2cm)
|
|
box(
|
|
content,
|
|
baseline: -0.5em
|
|
)
|
|
}
|
|
|
|
#show(heading.where(level: 2)): it => {
|
|
box(
|
|
fill: sect_title_color,
|
|
inset: 3pt,
|
|
text(white, upper(it))
|
|
)
|
|
}
|
|
|
|
#let cvsect(title) = {
|
|
v(8pt)
|
|
box(
|
|
fill: sect_title_color,
|
|
inset: (x: 3pt, y: 2pt),
|
|
text(white, weight: "bold", upper(title))
|
|
)
|
|
v(5pt)
|
|
}
|
|
|
|
#let entry(date, title, subtitle, content) = {
|
|
grid(
|
|
columns: (17.5%, 1fr),
|
|
date,
|
|
{
|
|
text(weight: "bold", title)
|
|
h(1fr)
|
|
text(size: 0.9em, weight: "bold", subtitle)
|
|
linebreak()
|
|
content
|
|
}
|
|
)
|
|
v(12pt)
|
|
}
|
|
|
|
#set document(author: "Joshua Coles", title: "CV")
|
|
#set page(margin: (x: 2cm, y: 1.75cm), paper: "a4")
|
|
#set text(font: "Raleway", size: 9pt)
|
|
|
|
// Header
|
|
#grid(
|
|
columns: (45%, 27.5%, 27.5%),
|
|
{
|
|
stack(
|
|
box(fill: accent, inset: (x: 3pt, y: 3pt))[
|
|
#text(white, weight: "bold", size: 28pt, "JOSHUA")
|
|
],
|
|
v(1pt),
|
|
box(fill: accent, inset: (x: 3pt, y: 3pt))[
|
|
#text(white, weight: "bold", size: 28pt, "COLES")
|
|
],
|
|
v(1em),
|
|
text(size: 16pt)[Full-stack Developer]
|
|
)
|
|
},
|
|
{
|
|
stack(
|
|
spacing: 1pt,
|
|
icon("location-dot", 1em, "Bath / Reading"),
|
|
icon("phone", 1em, "+44 7564 199236"),
|
|
icon("at", 1em, link("mailto:me@joshuacoles.me")[me\@joshuacoles.me])
|
|
)
|
|
},
|
|
{
|
|
stack(
|
|
spacing: 1pt,
|
|
icon("earth", 1em, link("https://git.joshuacoles.me/explore/repos")[Personal Gitea]),
|
|
icon("github", 1em, link("https://github.com/joshuacoles")[github.com/joshuacoles]),
|
|
icon("linkedin", 1em, link("https://www.linkedin.com/in/joshua-coles-a79498151/")[LinkedIn])
|
|
)
|
|
}
|
|
)
|
|
|
|
== Who am I?
|
|
|
|
#grid(
|
|
columns: (70%, 27.5%),
|
|
{
|
|
[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.
|
|
I believe that effective communication, problem-solving, and a willingness to continuously learn and adapt are key to delivery effective solutions.
|
|
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.]
|
|
},
|
|
)
|
|
|
|
// Experience section
|
|
#cvsect("Experience")
|
|
|
|
#entry(
|
|
"Present",
|
|
"Lead Software Engineer",
|
|
"Better Conversations Foundation",
|
|
[
|
|
Returning to the foundation after my degree I have focused on:
|
|
- End-to-End Product Delivery: I lead the development of a real-time web application for delivering coaching session to large audiences
|
|
- Support the professional growth of junior developers through hands-on mentorship
|
|
- Spearheaded further AI work, including Model Context Protocol support
|
|
- Producing a course for a high profile business cohort in Oceana
|
|
|
|
#text(font: "Courier")[Ruby on Rails / Ruby / Turbo / Stimulus / iOS / Project Management / Mentorship]
|
|
]
|
|
)
|
|
|
|
// Continue with other entries...
|
|
// Education section would follow similar pattern
|
|
|
|
// Additional sections at bottom
|
|
#grid(
|
|
columns: (1fr, 1fr),
|
|
{
|
|
cvsect("ADDITIONAL QUALIFICATIONS AND TRAINING")
|
|
[#link("https://betterconversations.foundation/index.html")[Better Conversations] — 2022]
|
|
linebreak()
|
|
[ISO9001 and ISO27001 training — 2018]
|
|
},
|
|
{
|
|
cvsect("Interests")
|
|
[Long distance running; politics and governance and the applications of technology therein; previous committee member of Philosophy Society at University.]
|
|
}
|
|
)
|
|
|
|
// References section
|
|
#cvsect("References")
|
|
[Available upon request]
|