
\documentclass[article,10pt,a4paper,oneside]{memoir}

\input{CommonLaTeX/common.tex}
\input{CommonLaTeX/class_memoir.tex}

\layoutMaximalPdf[0.5in][0.3in]

\input{CommonLaTeX/resume.tex}
\input{CommonLaTeX/symbols.tex}
\input{CommonLaTeX/graphic.tex}

\author{Robert Edward Fry}
\authormobile{+44 7982 300669}
\authoremail{inbox@robertfry.xyz}
\authorgithub{robertefry}

\begin{document}

    \maketitle

    4 years professionally experienced software engineer with a Master of Mathematics (\emph{MMath, Distinction}) from the University of Portsmouth.
    \begin{itemize*}
        \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{Technical Competencies}[end={}]

    \begin{itemize*}
        \item Rust
        \item C++ (ISO/IEC 14882)
        \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}

    \ResumeHistory{Software Engineer (C++, Rust)}
    [
        company={BAE Systems},
        location={Portsmouth, UK},
        start={January 2023},
    ]

    \ResumeRole{Royal Navy Combat Systems Modernisation}

    \begin{itemize}
        \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 Spearheaded a rolling tech-debt tracker, enabling proactive identification, communication, and remediation of issues.
        \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 Simulation Secondment}

    \begin{itemize}
        \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++)}
    [
        company={Raymarine},
        location={Fareham, UK},
        start={August 2019},
        end={August 2020},
    ]

    \begin{itemize}
        \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}

    \ResumeHistory{Master of Mathematics (MMath, Distinction)}
    [
        company={University of Portsmouth},
        location={Portsmouth, UK},
        start={September 2016},
        end={July 2022},
    ]

    \ResumeThesis{Masters Thesis}
        {A Categorical Interpretation of Kleinberg's Impossibility Theorem for Clustering}
    [
        link=https://cloud.robertfry.xyz/s/Thesis2022
    ]

    \begin{itemize}
        \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}
        {A Research Project for the NTRU Cryptosystem}
    [
        link=https://cloud.robertfry.xyz/s/Thesis2021
    ]

    \begin{itemize}
        \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}

    \ResumeHistory{Director of the Emsworth Slipper Sailing Club Ltd}
    [
        start={January 2023},
    ]

    \begin{itemize}
        \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}
    [
    ]

    \begin{itemize}
        \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}

    % \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}
