Compare commits
9 Commits
8cfa19da5a
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
023efaf05a
|
|||
|
ae38fb6b72
|
|||
|
b01938c953
|
|||
|
54d4a4e9a8
|
|||
|
69de7d2c22
|
|||
|
fe55fb7568
|
|||
|
f0c93f6e4e
|
|||
|
ddc6441647
|
|||
|
142ce9c1f0
|
BIN
Archive/CV.2025-07-03.pdf
Normal file
BIN
Archive/CV.2025-07-03.pdf
Normal file
Binary file not shown.
BIN
Archive/CV.2025-09-09.pdf
Normal file
BIN
Archive/CV.2025-09-09.pdf
Normal file
Binary file not shown.
BIN
Archive/CV.2025-09-23.pdf
Normal file
BIN
Archive/CV.2025-09-23.pdf
Normal file
Binary file not shown.
Submodule CommonLaTeX updated: da42bb37a9...8857a6044d
BIN
example.png
BIN
example.png
Binary file not shown.
|
Before Width: | Height: | Size: 122 KiB |
88
interviews.tex
Normal file
88
interviews.tex
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
|
||||||
|
\documentclass[article,11pt,a4paper]{memoir}
|
||||||
|
|
||||||
|
\input{CommonLaTeX/common.tex}
|
||||||
|
\input{CommonLaTeX/class_memoir.tex}
|
||||||
|
|
||||||
|
\input{CommonLaTeX/resume.tex}
|
||||||
|
\input{CommonLaTeX/symbols.tex}
|
||||||
|
\input{CommonLaTeX/graphic.tex}
|
||||||
|
\input{CommonLaTeX/theorem.tex}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
\ResumeSection{Elevator Pitch}
|
||||||
|
|
||||||
|
I caught the Software Engineering bug during my GCSEs (2012) when I taught myself Java 7, and later used it to model the propagation of computer viruses through a network in collage (2015).
|
||||||
|
|
||||||
|
Concurrently with my Distinction Master of Mathematics masters, I taught myself C++ 11 and Python 3, which I used as part of my BSc dissertation exploring NTRU - a post-quantum encryption scheme.
|
||||||
|
|
||||||
|
Between my BSc and Integrated Masters years, I found a year-long internship with Raymarine writing embedded C++17 for their Yachtsense Digital Control System.
|
||||||
|
|
||||||
|
\ResumeSection{Interview Questions}
|
||||||
|
|
||||||
|
\section{Technical}
|
||||||
|
|
||||||
|
I understand that quality code is only a fraction of what makes a quality software product.
|
||||||
|
|
||||||
|
\begin{enumerate}
|
||||||
|
|
||||||
|
\item Tell me about your design philosophies.
|
||||||
|
\\
|
||||||
|
\begin{itemize*}
|
||||||
|
\item Design patterns.
|
||||||
|
\end{itemize*}
|
||||||
|
|
||||||
|
\item Tell me about your development infrastructure and processes.
|
||||||
|
\\
|
||||||
|
\begin{itemize*}
|
||||||
|
\item C++ version.
|
||||||
|
\item CI/CD pipelines.
|
||||||
|
\item Testing frameworks.
|
||||||
|
\item Package management system.
|
||||||
|
\item DevSecOps teams.
|
||||||
|
\end{itemize*}
|
||||||
|
|
||||||
|
\item Tell me about your product infrastructure.
|
||||||
|
\\
|
||||||
|
\begin{itemize*}
|
||||||
|
\item Containerisation.
|
||||||
|
\item Databases.
|
||||||
|
\item Event queues (AMQP).
|
||||||
|
\item Performance metrics in prod.
|
||||||
|
\end{itemize*}
|
||||||
|
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
|
\section{Behavioural}
|
||||||
|
|
||||||
|
\begin{enumerate}
|
||||||
|
|
||||||
|
\item If I where to raise a major issue with the product (scalability for example) that is not part of the requirements but would render the product unfit for purpose, what would happen?
|
||||||
|
|
||||||
|
\item How does the company culture encourage proactive (as opposed to reactive) problem-finding and solutions?
|
||||||
|
|
||||||
|
\item What does success look like in the role within the next 2 and 5 years?
|
||||||
|
|
||||||
|
\item If you where to hire me today, now, what task would you have me working on?
|
||||||
|
|
||||||
|
\item Have I said (or not said) anything during this interview that would give you doubt in my ability to produce results in the role?
|
||||||
|
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
|
\section{Human Resources}
|
||||||
|
|
||||||
|
\begin{enumerate}
|
||||||
|
|
||||||
|
\item How does the company actively encourage continuous development and learning?
|
||||||
|
|
||||||
|
\item How has the company changed since you joined?
|
||||||
|
\\ \textit{(Ask to the technical lead, \textbf{if employed for 2-5 years})}
|
||||||
|
|
||||||
|
\item When was the last time the company core values influenced a decision about the project?
|
||||||
|
|
||||||
|
\item Lookup their company information on companies house and ask about the product/service viability evidenced by their revenue statements.
|
||||||
|
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
|
\end{document}
|
||||||
84
main.tex
84
main.tex
@@ -1,9 +1,11 @@
|
|||||||
|
|
||||||
\documentclass[article,10pt,a4paper,oneside]{memoir}
|
\documentclass[article,10pt,a4paper,oneside]{memoir}
|
||||||
\input{CommonLaTeX/class_memoir.tex}
|
|
||||||
\layoutMaximalPdf[0.5in][0.3in]
|
|
||||||
|
|
||||||
\input{CommonLaTeX/common.tex}
|
\input{CommonLaTeX/common.tex}
|
||||||
|
\input{CommonLaTeX/class_memoir.tex}
|
||||||
|
|
||||||
|
\layoutMaximalPdf[0.5in][0.3in]
|
||||||
|
|
||||||
\input{CommonLaTeX/resume.tex}
|
\input{CommonLaTeX/resume.tex}
|
||||||
\input{CommonLaTeX/symbols.tex}
|
\input{CommonLaTeX/symbols.tex}
|
||||||
\input{CommonLaTeX/graphic.tex}
|
\input{CommonLaTeX/graphic.tex}
|
||||||
@@ -17,24 +19,27 @@
|
|||||||
|
|
||||||
\maketitle
|
\maketitle
|
||||||
|
|
||||||
3 years professionally experienced software engineer with a Master of Mathematics (\emph{MMath, Distinction}) from the University of Portsmouth.
|
4 years professionally experienced software engineer with a Master of Mathematics (\emph{MMath, Distinction}) from the University of Portsmouth.
|
||||||
\begin{itemize*}
|
\begin{itemize*}
|
||||||
\item Able to interpret and solve difficult mathematical problems.
|
|
||||||
\item Able to design, implement, and test solutions to meet requirements and specifications.
|
\item Able to design, implement, and test solutions to meet requirements and specifications.
|
||||||
\item Able to explain technical details to customers, clients, and stakeholders of all backgrounds.
|
\item Able to explain technical details to customers, clients, and stakeholders of all backgrounds.
|
||||||
|
\item Able to interpret and solve difficult mathematical problems.
|
||||||
\end{itemize*}
|
\end{itemize*}
|
||||||
|
|
||||||
\ResumeHistory{Key Skills}[end={}]
|
\ResumeHistory{Technical Competencies}[end={}]
|
||||||
|
|
||||||
\begin{itemize*}
|
\begin{itemize*}
|
||||||
\item Rust
|
\item Rust
|
||||||
\item C (ISO/IEC 9899)
|
|
||||||
\item C++ (ISO/IEC 14882)
|
\item C++ (ISO/IEC 14882)
|
||||||
\item Python 3
|
\item C (ISO/IEC 9899)
|
||||||
|
\item CMake
|
||||||
\item UML (ISO/IEC 19501)
|
\item UML (ISO/IEC 19501)
|
||||||
|
\item Python
|
||||||
\item GNU/Linux
|
\item GNU/Linux
|
||||||
\item Bash
|
\item Bash
|
||||||
|
\item Git
|
||||||
\item Docker
|
\item Docker
|
||||||
|
% \item SQL
|
||||||
\end{itemize*}
|
\end{itemize*}
|
||||||
|
|
||||||
\ResumeSection{Professional Experience}
|
\ResumeSection{Professional Experience}
|
||||||
@@ -49,25 +54,21 @@
|
|||||||
\ResumeRole{Royal Navy Combat Systems Modernisation}
|
\ResumeRole{Royal Navy Combat Systems Modernisation}
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Tasked to develop realtime data processors in Rust as part of an Agile Scrum team.
|
\item Developed real-time data processors in Rust within an Agile Scrum team, contributing towards the Royal Navy's £285m RECODE combat management systems modernisation contract and NATOs push towards memory-safety.
|
||||||
Achieved progress towards £285m modernisation contracts and NATOs push away from security vulnerable memory-unsafe languages.
|
\item Spearheaded a rolling tech-debt tracker, enabling proactive identification, communication, and remediation of issues.
|
||||||
\item Tasked to review team code as part of pull requests.
|
\item Proposed and implemented efficient algorithms and data structures to meet requirements, including geospatial indexing and deterministic scheduling for scalable distributed Kubernetes-based systems.
|
||||||
Achieved increased codebase quality and test coverage.
|
\item Reviewed team code through pull requests, improving codebase quality and test coverage.
|
||||||
\item Took initiative to introduce team members to additional language features.
|
\item Advocated for and introduced modern Rust features to the team, enhancing code readability and performance.
|
||||||
Achieved improved code readability and performance.
|
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\ResumeRole{Training and Simulation Secondment}
|
\ResumeRole{Training Simulation Secondment}
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Tasked to implement and test new requirements to legacy C++03 simulation software.
|
\item Implemented and tested new requirements in legacy C++03 training and simulation systems, successfully extending the solution lifespan via additional specifications.
|
||||||
Achieved successful design and implementation of additional specifications to extend the lifetime of the constituent solution.
|
\item Applied Model-Based Software Engineering (UML and SysML under the NATO Architecture Framework v4) to document solution architecture and cross-company communication.
|
||||||
\item Tasked to plan the transition of supplier assets and processes into the team at BAE.
|
\item Created a test procedure document generator using Python and Pandas, reducing delivery timelines from weeks to days.
|
||||||
Achieved smooth service continuity through fully tested software and fully documented processes.
|
\item Facilitated the smooth integration of supplier assets by fully testing software and planning and documenting transition processes.
|
||||||
\item Took initiative to mentor a graduate engineer with no prior C++ knowledge.
|
\item Mentored a graduate engineer with no C++ background, guiding them through advanced concepts and ensuring contract deliverables where met.
|
||||||
Achieved the completion of the contract by guiding them through key C++ concepts and programming techniques.
|
|
||||||
\item Learned and utilised Model Based Systems Engineering (UML and SysML under the NATO Architecture Framework v4) to design and document solutions.
|
|
||||||
Achieved improved quality and clarity of inter-company communication.
|
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\ResumeHistory{Software Engineer (C, C++)}
|
\ResumeHistory{Software Engineer (C, C++)}
|
||||||
@@ -79,12 +80,9 @@
|
|||||||
]
|
]
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Tasked to develop a UI for an embedded Digital Switching system.
|
\item Built the embedded Yachtsense Digital Control System UI using C++17, delivering a modular and extensible interface for rapid feature deployment.
|
||||||
\todo{Achieved...}
|
\item Developed a NMEA 0183/2000 processor to enable seamless communication between legacy and modern maritime equipment.
|
||||||
\item Tasked to develop a NMEA message processor.
|
\item Took initiative to develop a high-performance string builder utility, reducing runtime overhead compared to STL standards. This earned team commendation and achieved widespread internal adoption.
|
||||||
Achieved improved interoperability between legacy and modern devices.
|
|
||||||
\item Took initiative to develop a high-performance string builder utility.
|
|
||||||
Achieved smoother team development and reduced runtime overhead compared to the STL. Earned commendation and widespread team adoption.
|
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\ResumeSection{Education}
|
\ResumeSection{Education}
|
||||||
@@ -104,7 +102,7 @@
|
|||||||
]
|
]
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Clustering algorithms group data points by a measure of similarity. Using category theory, I generalise three commonly desired but mutually exclusive properties of clustering algorithms to find similarity measures where these properties coexist.
|
\item Clustering algorithms group data points by a measure of similarity. Using category theory, three commonly desired but mutually exclusive properties of clustering algorithms where generalised to find measures of similarity where these properties coexist.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\ResumeThesis{Bachelors Project}
|
\ResumeThesis{Bachelors Project}
|
||||||
@@ -114,7 +112,7 @@
|
|||||||
]
|
]
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item The NTRU cryptosystem, part of the NIST post-quantum standardisation effort, is designed to replace RSA with significant resistance to quantum attack vectors. A research project using C++17, I designed and implemented an NTRU library.
|
\item The NTRU cryptosystem, part of the NIST post-quantum standardisation effort, is designed to replace RSA with resistance to quantum attack vectors. Following research into the underlying mathematics, a C++17 library was designed and implemented.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\ResumeSection{Notable Projects}
|
\ResumeSection{Notable Projects}
|
||||||
@@ -125,17 +123,9 @@
|
|||||||
]
|
]
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Responsible for overseeing the general day-to-day operations of the club by serving on the general committee.
|
\item Serves on the general committee, oversees the club's day-to-day operations, and contributes to strategic decisions.
|
||||||
\item As a qualified RYA Dinghy Instructor, I enjoy teaching sailing to youth members, and racing in Chichester Harbour.
|
\item Responsible for taking minutes for the sailing sub-committee, ensuring accurate documentation and effective follow-up actions.
|
||||||
\end{itemize}
|
\item Teaches sailing to youth members as a qualified RYA Dinghy Instructor, and regularly races in Chichester Harbour.
|
||||||
|
|
||||||
\ResumeHistory{Fluisim}
|
|
||||||
[
|
|
||||||
link=https://github.com/robertefry/fluisim
|
|
||||||
]
|
|
||||||
|
|
||||||
\begin{itemize}
|
|
||||||
\item An ongoing study into computational fluid dynamics simulations written in Rust using Bevy ECS.
|
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\ResumeHistory{Engine Monitor}
|
\ResumeHistory{Engine Monitor}
|
||||||
@@ -143,7 +133,17 @@
|
|||||||
]
|
]
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item A project using the i.MX RT1062 microprocessor to provide a NMEA node for leisure maritime engines with inadequate first-party instrumentation. Working cross-discipline, I am developing the C firmware and an appropriate desktop companion.
|
\item Developing a real-time equipment monitoring system, using the i.MX RT1062 microprocessor, to generate NMEA data for leisure maritime engines lacking first-party instrumentation.
|
||||||
|
\item Leading C++17 firmware and cross-platform desktop companion development, collaborating closely on hardware integration.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
|
% \ResumeHistory{Fluisim}
|
||||||
|
% [
|
||||||
|
% link=https://github.com/robertefry/fluisim,
|
||||||
|
% ]
|
||||||
|
|
||||||
|
% \begin{itemize}
|
||||||
|
% \item An ongoing exploration of computational fluid dynamics (CFD) using OpenCL GPU compute, Rust, and Bevy ECS.
|
||||||
|
% \end{itemize}
|
||||||
|
|
||||||
\end{document}
|
\end{document}
|
||||||
|
|||||||
Reference in New Issue
Block a user