diff --git a/Archive/CV.2025-07-03.pdf b/Archive/CV.2025-07-03.pdf new file mode 100644 index 0000000..63fb0e3 Binary files /dev/null and b/Archive/CV.2025-07-03.pdf differ diff --git a/CommonLaTeX b/CommonLaTeX index ae1b09a..c53a0e8 160000 --- a/CommonLaTeX +++ b/CommonLaTeX @@ -1 +1 @@ -Subproject commit ae1b09a55463a66d62c473959ac24d2f5823fd70 +Subproject commit c53a0e89c2c5b2420a358078bf5e8e73ffb7ecec diff --git a/main.tex b/main.tex index 9795930..14f2186 100644 --- a/main.tex +++ b/main.tex @@ -17,24 +17,27 @@ \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*} - \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 explain technical details to customers, clients, and stakeholders of all backgrounds. + \item Able to interpret and solve difficult mathematical problems. \end{itemize*} - \ResumeHistory{Key Skills}[end={}] + \ResumeHistory{Technical Competencies}[end={}] \begin{itemize*} \item Rust - \item C (ISO/IEC 9899) \item C++ (ISO/IEC 14882) - \item Python 3 + \item C (ISO/IEC 9899) + \item CMake \item UML (ISO/IEC 19501) + \item Python \item GNU/Linux \item Bash + \item Git \item Docker + % \item SQL \end{itemize*} \ResumeSection{Professional Experience} @@ -49,25 +52,20 @@ \ResumeRole{Royal Navy Combat Systems Modernisation} \begin{itemize} - \item Tasked to develop realtime data processors in Rust as part of an Agile Scrum team. - Achieved scheduled progress towards £285m modernisation contracts and NATOs push away from security vulnerable memory-unsafe languages. - \item Tasked to review team code as part of pull requests. - Achieved increased codebase quality and test coverage. - \item Took initiative to introduce team members to additional language features. - Achieved improved code readability and performance. + \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. + \item Proposed and implemented efficient algorithms and data structures to meet requirements, including geospatial indexing and deterministic scheduling for scalable distributed Kubernetes-based systems. + \item Reviewed team code through pull requests, improving codebase quality and test coverage. + \item Advocated for and introduced modern Rust features to the team, enhancing code readability and performance. \end{itemize} - \ResumeRole{Training and Simulation Secondment} + \ResumeRole{Training Simulation Secondment} \begin{itemize} - \item Tasked to implement and test new requirements to legacy C++03 simulation software. - Achieved successful design and implementation of additional specifications to extend the lifetime of the constituent solution. - \item Tasked to plan the transition of supplier assets and processes into the team at BAE. - Achieved smooth service continuity through fully tested software and fully documented processes. - \item Took initiative to mentor a graduate engineer with no prior C++ knowledge. - 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. + \item Implemented and tested new requirements in legacy C++03 training and simulation systems, successfully extending the solution lifespan via additional specifications. + \item Applied Model-Based Software Engineering (UML and SysML under the NATO Architecture Framework v4) to document solution architecture and cross-company communication. + \item Created a test procedure document generator using Python and Pandas, reducing delivery timelines from weeks to days. + \item Facilitated the smooth integration of supplier assets by fully testing software and planning and documenting transition processes. + \item Mentored a graduate engineer with no C++ background, guiding them through advanced concepts and ensuring contract deliverables where met. \end{itemize} \ResumeHistory{Software Engineer (C, C++)} @@ -79,12 +77,9 @@ ] \begin{itemize} - \item Tasked to develop a UI for an embedded Digital Switching system. - \todo{Achieved...} - \item Tasked to develop a NMEA message processor. - 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, earning commendation and widespread team adoption. + \item Built the embedded Yachtsense Digital Control System UI using C++17, delivering a modular and extensible interface for rapid feature deployment. + \item Developed a NMEA 0183/2000 processor to enable seamless communication between legacy and modern maritime equipment. + \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. \end{itemize} \ResumeSection{Education} @@ -104,7 +99,7 @@ ] \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} \ResumeThesis{Bachelors Project} @@ -114,7 +109,7 @@ ] \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} \ResumeSection{Notable Projects} @@ -125,17 +120,9 @@ ] \begin{itemize} - \item Responsible for overseeing the general day-to-day operations of the club by serving on the general committee. - \item As a qualified RYA Dinghy Instructor, I enjoy teaching sailing to youth members, and racing in Chichester Harbour. - \end{itemize} - - \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. + \item Serves on the general committee, oversees the club's day-to-day operations, and contributes to strategic decisions. + \item Responsible for taking minutes for the sailing sub-committee, ensuring accurate documentation and effective follow-up actions. + \item Teaches sailing to youth members as a qualified RYA Dinghy Instructor, and regularly races in Chichester Harbour. \end{itemize} \ResumeHistory{Engine Monitor} @@ -143,7 +130,18 @@ ] \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. + \item Wrote a stackless cooperative coroutine scheduler with priority-based wake timers, enabling single-core concurrency. \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}