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}