Compare commits
	
		
			3 Commits
		
	
	
		
			fb91eb6ad0
			...
			128bed7210
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 128bed7210 | ||
|  | 4dcf0e0612 | ||
|  | 843f73cf32 | 
							
								
								
									
										44
									
								
								cv.tex
									
									
									
									
									
								
							
							
						
						
									
										44
									
								
								cv.tex
									
									
									
									
									
								
							| @ -25,6 +25,10 @@ | ||||
| \usepackage{enumitem} | ||||
| \usepackage{ifthen} | ||||
| 
 | ||||
| % Enable to disable litigates for ATS | ||||
| %\usepackage{microtype} | ||||
| %\DisableLigatures{encoding = *, family = *} | ||||
| 
 | ||||
| \newboolean{include-sensitive} | ||||
| \setboolean{include-sensitive}{true} | ||||
| 
 | ||||
| @ -34,33 +38,39 @@ | ||||
| 
 | ||||
| \cvsect{Who Am I?} | ||||
| 
 | ||||
| \begin{minipage}[t]{0.6\textwidth} | ||||
| \begin{minipage}[t]{0.8\textwidth} | ||||
| 	\vspace{-\baselineskip} % Required for vertically aligning minipages | ||||
| 	Working in the domain for over 10 years software engineering is a profession and a passion. My drive throughout has been to understand the business and organisational context of the problem, as the most important component of any technical solution. | ||||
| %	Working in the domain for over 10 years, software engineering is a profession and a passion. | ||||
| 	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. | ||||
| %	Working in the domain for over 10 years software engineering is a profession and a passion. My drive throughout has been to understand the business and organisational context of the problem, as the most important component of any technical solution. | ||||
| %	I have been working with software for over 10 years with problems and technologies. | ||||
| %	My drive over 10 years has always been addressing real problems that I encounter with the tools to hand — treating specific technologies as secondary to understanding the organisational context of the problem. | ||||
| 	In my work at the ONS, I was responsible for software delivery, helping to manage a large team of contributors under a tight timeframe. | ||||
| 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 | ||||
| %	In my work at the ONS, I was responsible for software delivery, helping to manage a large team of contributors under a tight timeframe. | ||||
| % Combined | ||||
| I have developed a love and appreciation for correct solutions that respect their user and customers and am excited to see how AI can enhance this mission in otherwise intractable domains. | ||||
| 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. | ||||
| %am excited to see how AI can enhance this mission in otherwise intractable domains. | ||||
| % Typing trailer: | ||||
| %	Throughout my work I have developed a love and appreciation for strongly typed languages and maximising the compile-time assurance that can be achieved. This has consistently paid dividends in greater development velocity, and the elimination of issues before shipping. | ||||
| % AI trailer: | ||||
| %	 My recent work surrounding AI has shown me its use in solving otherwise intractable problems and providing insight into unstructured data and, I am excited to explore its further applications. | ||||
| 	 \end{minipage} | ||||
| \hfill | ||||
| \begin{minipage}[t]{0.35\textwidth} | ||||
| 	\vspace{-3\baselineskip} % Required for vertically aligning minipages | ||||
| 	\colorbox{SectTitleColor}{\textcolor{white}{\MakeUppercase{\textbf{Proficiency}}}} | ||||
| 	\begin{barchart}{4} | ||||
| 		\baritem{Typescript}{80} | ||||
| 		\baritem{React}{70} | ||||
| 		\baritem{Rust}{70} | ||||
| 		\baritem{Python}{60} | ||||
| 		\baritem{Git}{80} | ||||
| 		\baritem{Ruby}{75} | ||||
| %		\baritem{Scala}{60} | ||||
| 	\end{barchart} | ||||
| \end{minipage} | ||||
| %\begin{minipage}[t]{0.275\textwidth} | ||||
| %	\vspace{-3\baselineskip} % Required for vertically aligning minipages | ||||
| %	\colorbox{SectTitleColor}{\textcolor{white}{\MakeUppercase{\textbf{Proficiency}}}} | ||||
| %	\vspace{0.5\baselineskip} | ||||
| %	\begin{barchart}{3} | ||||
| %		\baritem{Typescript}{80} | ||||
| %		\baritem{React}{70} | ||||
| %		\baritem{Rust}{70} | ||||
| %		\baritem{Python}{60} | ||||
| %		\baritem{Git}{80} | ||||
| %		\baritem{Ruby}{75} | ||||
| %		\baritem{SQL}{60} | ||||
| %	\end{barchart} | ||||
| %\end{minipage} | ||||
| 
 | ||||
| % | ||||
| % Experiences | ||||
|  | ||||
							
								
								
									
										254
									
								
								cv2.typ
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										254
									
								
								cv2.typ
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,254 @@ | ||||
| #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 => { | ||||
|   // v(-2pt) | ||||
|   box( | ||||
|     fill: sect_title_color, | ||||
|     inset: 3pt, | ||||
|     text(white, upper(it)) | ||||
|   ) | ||||
|   // v(-4pt) | ||||
| } | ||||
| 
 | ||||
| #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) | ||||
| #set par(spacing: 1.1em) | ||||
| 
 | ||||
| // 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: (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. | ||||
|     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 | ||||
| == 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] | ||||
|   ] | ||||
| ) | ||||
| 
 | ||||
| #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, | ||||
|     - 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], | ||||
|   [Better Conversations Foundation & Amphora], | ||||
|   [ | ||||
|     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. | ||||
|     - Presenting work to customers and facilitating input on direction and feature fit. | ||||
|      | ||||
|     Once I completed my work with Amphora, I moved to work at a connected non-profit, Better Conversations Foundation as their primary developer. | ||||
|     - 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 | ||||
|      | ||||
|     #text(font: "Courier")[Ruby on Rails / Stripe / Langchain / Vector Databases / Python] | ||||
|   ] | ||||
| ) | ||||
| 
 | ||||
| #entry( | ||||
|   [ | ||||
|     2022 -- 2023#linebreak()#text(size: 0.8em)[part time aside studies] | ||||
|     2021 -- 2022#linebreak()#text(size: 0.8em)[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, | ||||
|     - Taking a leading role as release manager for the product and was 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. | ||||
|     - Designing architectures for the next stage of the project to address additional business needs. | ||||
|      | ||||
|     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] | ||||
|   ] | ||||
| ) | ||||
| 
 | ||||
| #entry( | ||||
|   [ | ||||
|     2017 -- 2021 | ||||
|     #linebreak() | ||||
|     #text(size: 0.8em)[Holidays & Part time] | ||||
|   ], | ||||
|   [Software Developer], | ||||
|   [Amphora], | ||||
|   [ | ||||
|     I worked independently to explore and investigate new technologies including, | ||||
|     - 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. | ||||
|      | ||||
|     #text(font: "Courier")[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: | ||||
|     - AI based techniques for recipe extraction. | ||||
|     - Database and platform for cross-domain analytics in my life. | ||||
|     - ETL pipelines focused on breaking down data-silos. | ||||
|     - 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]. | ||||
|      | ||||
|     #text(font: "Courier")[Rust / Python / ETL / CI/CD / Github actions / Postgres / Caddy / Docker / Prometheus / Grafana / System administration] | ||||
|   ] | ||||
| ) | ||||
| 
 | ||||
| // Education section | ||||
| == Education | ||||
| 
 | ||||
| #entry( | ||||
|   [], | ||||
|   [MSc Mathematics and Physics (Hons) (Sandwich)], | ||||
|   [University of Bath], | ||||
|   [1st Class Honours. Placement with the ONS between academic years 2 and 3.] | ||||
| ) | ||||
| 
 | ||||
| #entry( | ||||
|   [], | ||||
|   [Prior Qualifications], | ||||
|   [Reading Blue Coat School], | ||||
|   [ | ||||
|     4 A Levels: A\* Maths, A Further Maths, A Physics, A Chemistry | ||||
|      | ||||
|     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. | ||||
|   ] | ||||
| ) | ||||
| 
 | ||||
| // Additional sections at bottom | ||||
| #grid( | ||||
|   columns: (1fr, 1fr), | ||||
|   { | ||||
|     v(8pt) | ||||
|     box( | ||||
|       fill: sect_title_color, | ||||
|       inset: (x: 3pt, y: 2pt), | ||||
|       text(white, weight: "bold", upper("Additional Qualifications and Training")) | ||||
|     ) | ||||
|     v(5pt) | ||||
|     [#link("https://betterconversations.foundation/index.html")[Better Conversations] — 2022] | ||||
|     linebreak() | ||||
|     [ISO9001 and ISO27001 training — 2018] | ||||
|   }, | ||||
|   { | ||||
|     v(8pt) | ||||
|     box( | ||||
|       fill: sect_title_color, | ||||
|       inset: (x: 3pt, y: 2pt), | ||||
|       text(white, weight: "bold", upper("Interests")) | ||||
|     ) | ||||
|     v(5pt) | ||||
|     [Long distance running; politics and governance and the applications of technology therein; previous committee member of Philosophy Society at University.] | ||||
|   } | ||||
| ) | ||||
| 
 | ||||
| == References | ||||
| 
 | ||||
| Available upon request | ||||
| @ -191,7 +191,7 @@ | ||||
| 	\end{longtable} | ||||
| } | ||||
| 
 | ||||
| % First argument for the leftmost date(s) text, | ||||
| % First argument for the leftmost date(s) texct, | ||||
| % Second is for the bold entry heading | ||||
| % Third is for the bold right-aligned entry qualifier | ||||
| %Fourth is for the entry description | ||||
|  | ||||
| @ -9,8 +9,8 @@ | ||||
| 		\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. | ||||
| 			\item Spearheaded further AI work, including Model Context Protocol support 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 based in Oceana. | ||||
| 		\end{itemize} | ||||
| 		\kwdlst{Ruby on Rails, Ruby, Turbo, Stimulus, iOS, Project Management, Mentorship}} | ||||
| 	\entry | ||||
| @ -53,7 +53,7 @@ | ||||
| 			\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}} | ||||
| 		\kwdlst{React, Redux, Express, Jest, Cypress, Redis, SQL, Postgres, HBase, Scala, Cloudera, Jenkins, Docker, Typescript, JavaScript, Linux, Microservices, Agile, Scrum}} | ||||
| 	\entry | ||||
| 		{2017 -- 2021\\\footnotesize{Holidays \& Part time}} | ||||
| 		{Software Developer} | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user