cv

cv.git
git clone git://git.lenczewski.org/cv.git
Log | Files | Refs | README | LICENSE

cv.tex (8842B)


      1 \documentclass{article}
      2 
      3 \usepackage[top=0.2in,bottom=0.2in,left=0.5in,right=0.5in]{geometry}
      4 \usepackage{xcolor}
      5 \usepackage{hyperref} % should be last package imported for some reason
      6 
      7 %% this package allows us to customise the format of our \begin{itemize} blocks
      8 \usepackage{enumitem}
      9 
     10 %% header for each CV page
     11 \newcommand{\cvheader}{
     12 \begingroup
     13   \begin{center}
     14     \hsplit{\large \textbf{MikoĊ‚aj Bartosz Lenczewski}}{\href{https://lenczewski.org}{https://lenczewski.org}} \\
     15     Email: \href{mailto:mikolaj@lenczewski.org}{mikolaj@lenczewski.org} \hfill
     16     Mobile: +44 7512 734 132 \hfill
     17     \href{https://git.lenczewski.org}{https://git.lenczewski.org} \\ \hrulefill
     18   \end{center}
     19 \endgroup
     20 }
     21 
     22 %% custom environment for consistent formatting of each CV section
     23 %% takes as parameters the first letter of the header text (making it big) and
     24 %% the remainder of the header text (making it smaller)
     25 \newenvironment{cvsection}[2]{\noindent \textbf{\underline{{#1}\footnotesize{{#2}}}} \smallskip \\}{\medskip}
     26 
     27 %% alias for styled bulletpoints
     28 \newenvironment{bullets}{\begin{itemize}[left=\parindent,nosep]}{\end{itemize} \medskip}
     29 
     30 %% applies a consistent format for date ranges
     31 %% #1 : The start date
     32 %% #2 : The end date
     33 \newcommand{\cvdate}[2]{\small{\textit{#1 -- #2}}}
     34 
     35 %% applies a consistent format to a project name
     36 %% #1 : The name of the project
     37 %% #2 : Dependencies of the project, i.e. the languages and frameworks used
     38 \newcommand{\cvprojectname}[2]{\textbf{#1} $\mid$ \footnotesize{#2}}
     39 
     40 %% splits a line into 2 horizontal sections, filling in the gap with whitespace
     41 \newcommand{\hsplit}[2]{{#1} \hfill {#2}}
     42 
     43 %% splits a line and performs a line break afterwards
     44 \newcommand{\hsplitline}[2]{\hsplit{#1}{#2} \break}
     45 
     46 %% just an \item with smaller text for better packing and consistency
     47 \newcommand{\smitem}[1]{\item {\small{#1}}}
     48 
     49 %% formats a name and location for a group of projects
     50 %% #1 : The name of the group of projects (e.g. company name)
     51 %% #2 : The location of the group of projects
     52 \newcommand{\cvprojectgroup}[2]{\noindent \hsplitline{\textbf{#1}}{#2}}
     53 
     54 %% formats a job or personal project
     55 %% #1 : The name of the project
     56 %% #2 : The skills learnt as part of the project
     57 %% #3 : The start date of the project
     58 %% #4 : The end date of the project
     59 \newcommand{\cvproject}[4]{\noindent \hsplit{\cvprojectname{#1}{#2}}{\cvdate{#3}{#4}}}
     60 
     61 \begin{document}
     62 
     63 %% page 1
     64 \cvheader
     65 
     66 %% Content
     67 \begin{cvsection}{E}{DUCATION}
     68   \cvprojectgroup{University of Manchester}{Manchester, UK}
     69   \cvproject{Computer Science, B.Sc. (Hons.)}{1st Class with Honours}{Oct. 2020}{July 2023}
     70   \begin{bullets}
     71     \smitem{Modules included: System Architecture, Advanced Distributed Systems, Algorithms and Data Structures, and Microcontrollers}
     72     \smitem{Dissertation: ``A Generic Framework for Distributed Computing'', covering compilers and distributed systems}
     73   \end{bullets}
     74 \end{cvsection}
     75 
     76 \begin{cvsection}{E}{XPERIENCE}
     77   \cvprojectgroup{Arm Ltd.}{Cambridge, UK}
     78   \cvproject{Engineer}{C++, C, Architecture Specification, ACPI, Linux Kernel}{Jan. 2025}{Current}
     79   \begin{bullets}
     80     \smitem{Researched and helped design improvements to the armv9 architecture}
     81     \smitem{Prototyped extensions to ACPI firmware to support new architectural features}
     82     \smitem{Upstreaming patch series for utilising contiguous page hints to the Linux kernel}
     83     \smitem{Updated and refactored legacy C++ performance model generator to modern C++, with a focus on parsing}
     84   \end{bullets}
     85 
     86   \cvproject{Graduate Engineer}{C++, C, DynamoRIO, SystemVerilog}{Sept. 2023}{Jan. 2025}
     87   \begin{bullets}
     88     \smitem{Implemented cache performance modeling and analysis using DynamoRIO and C++}
     89     \smitem{Presented cache performance modeling results at internal company conference}
     90     \smitem{Designed, implemented, verified, and synthesized functional hardware prototypes using SystemVerilog}
     91     \smitem{Implemented patch series to improve Linux memory management performance and correctness}
     92   \end{bullets}
     93 
     94   \cvproject{Part-Time Undergraduate}{C++, Make, Batch, CMake, LLVM, Zephyr}{July 2021}{Mar. 2023}
     95   \begin{bullets}
     96     \smitem{Part of the PTUG Social Committee, organising in-person, online, and hybrid events for other PTUGs}
     97     \smitem{Ported the Zephyr build system to support the LLVM and Armclang toolchains}
     98     \smitem{Ported existing Make and Batch build scripts to use CMake}
     99     \smitem{Participated in daily standups, bi-weekly sprint reviews, and code review}
    100   \end{bullets}
    101 
    102   % \cvprojectgroup{Pretius sp.\ z o.o.}{Warsaw, Poland}
    103   % \cvproject{Work Experience}{C\#}{Aug. 2019}{Aug. 2019}
    104   % \begin{bullets}
    105   %   \smitem{Migrated a web app between platforms and wrote technical documentation}
    106   %   \smitem{Learnt Agile methodology, experiencing Kanban-style organisation and bi-weekly sprint reviews}
    107   %   \smitem{Learnt Jira for task management, task-estimation, and to decompose large tasks into smaller chunks}
    108   % \end{bullets}
    109 \end{cvsection}
    110 
    111 \begin{cvsection}{P}{ROJECTS}
    112   \cvproject{A Generic Framework for Distributed Computing}{C, Compilers, Networking, Make}{Sept. 2022}{July 2023}
    113   \begin{bullets}
    114     \smitem{Designed a custom compute kernel language influenced by C11 and OpenCL}
    115     \smitem{Implemented a bytecode compiler and interpreter for the aforementioned compute kernel language}
    116     \smitem{Implemented a custom network protocol, and various distributed algorithms (e.g. hash-table, memory, synchronisation)}
    117     \smitem{Implemented a mandelbrot set compute kernel as an example of the platform}
    118   \end{bullets}
    119 
    120   \cvproject{RoboSoc Orchestra Team}{C, C++, Embedded, ARM}{Sept. 2022}{July 2023}
    121   \begin{bullets}
    122     \smitem{Served on the Conductor team, architecting and implementing the control system for the orchestra}
    123     \smitem{Planned the protocol and interfaces for communicating between the conductor and different musicians}
    124     \smitem{Implemented a MIDI parser, the conductor user interface, and the conductor backend}
    125   \end{bullets}
    126 
    127   \cvproject{Hyperloop Manchester}{C, C++, Embedded, ARM}{Nov. 2020}{Jan. 2022}
    128   \begin{bullets}
    129     \smitem{Served as the Software Team Head, architecting the software aspect of the pod}
    130     \smitem{Researched and implemented standards and algorithms for driving a Hyperloop pod safely}
    131     \smitem{Implemented beginnings of RTOS, including startup code for Teensy 4.1 and beginnings of USB driver}
    132     \smitem{Organised work using Jira and Kanban, used Git as source control, and had weekly standups to track progress}
    133   \end{bullets}
    134 
    135   % \cvproject{UniCS GameDev}{C\#, Unity, Typescript, Next.js}{Nov. 2020}{Nov. 2021}
    136   % \begin{bullets}
    137   %   \smitem{Served as Co-Head of the UniCS GameDev society, leading the development team}
    138   %   \smitem{Collaborated with team members in an Agile environment with weekly standups}
    139   %   \smitem{Planned tasks and estimating their requirements (time-wise and content-wise)}
    140   %   \smitem{Planned, researching, writing, and delivering tutorials on C\# and Unity}
    141   %   \smitem{Designed and implemented the UniCS GameDev website in next.js using Typescript}
    142   % \end{bullets}
    143 
    144   % \cvproject{StarSim}{C\#, Avalonia UI, SQLite, Git}{Apr. 2019}{Oct. 2019}
    145   % \begin{bullets}
    146   %   \smitem{Created a graphical solar-system simulator, with initial solar-system editor and database functionality}
    147   %   \smitem{Researched and implemented efficient algorithms for solving n-body problems (oct-tree, multipole)}
    148   %   \smitem{Documented research and implementation using \LaTeX}
    149   %   \smitem{Checked all work into Git for source version control}
    150   % \end{bullets}
    151 
    152   % For more projects that I have completed in my spare time, please see my GitHub.
    153 \end{cvsection}
    154 
    155 \begin{cvsection}{S}{KILLS}
    156   \indent \textbf{Languages}: \small{C++ (C++14, C++17, C++20), C, System Verilog, C\#, CMake, Make, Bash, Python, Java} \\
    157   \indent \textbf{Frameworks}: \small{ASP.Net, Unity, PlatformIO} \\
    158   \indent \textbf{Developer Tools}: \small{LKML, Git, Gerrit, Jira, Visual Studio, VS Code}
    159 \end{cvsection}
    160 
    161 %% \newpage
    162 
    163 %% page 2
    164 %% \cvheader
    165 
    166 \begin{cvsection}{I}{NTERESTS}
    167   Outside of computer science and software engineering, I enjoy going to the
    168   gym, bouldering, swimming, and am a 2nd Dan black belt in DART Karate (where
    169   I am an instructor to younger students). I have quite a few ongoing personal
    170   projects, including a 3D open-world sandbox game built from scratch, as
    171   well as creating my own web server and linux distribution for my raspberry
    172   pi. Additionally I have written a simple raytracer in C and a very simple
    173   aarch64 kernel in assembly. In the past I have also taken part in Micromouse
    174   competitions, building and programming robots in FORTH to complete various
    175   courses (including line following, wall  following, and maze solving).
    176 \end{cvsection}
    177 
    178 \end{document}