commit 5b3812092850a8654fd15808d6e22fb2eb48bf3a
Author: Mikołaj Lenczewski <mblenczewski@gmail.com>
Date: Mon, 16 Jun 2025 18:45:51 +0100
Import cv
Diffstat:
7 files changed, 231 insertions(+), 0 deletions(-)
diff --git a/.editorconfig b/.editorconfig
@@ -0,0 +1,15 @@
+root = true
+
+[*]
+charset = utf-8
+end_of_line = lf
+insert_final_newline = true
+
+[*.sh]
+indent_style = tab
+indent_size = 8
+
+[*.tex]
+indent_style = space
+indent_size = 2
+
diff --git a/.gitignore b/.gitignore
@@ -0,0 +1 @@
+out/
diff --git a/LICENSE b/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2020 Mikolaj Lenczewski
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/README.md b/README.md
@@ -0,0 +1,2 @@
+## Curriculum Vitae
+My private CV repo
diff --git a/build b/build
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+. ./common.sh
+
+pdflatex "${OPTS}" "${SRC}"
+
diff --git a/common.sh b/common.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+export OUT="./out"
+export OPTS="-output-directory=${OUT}"
+export SRC="cv.tex"
+
+[ ! -d ${OUT} ] && mkdir ${OUT}
+
diff --git a/cv.tex b/cv.tex
@@ -0,0 +1,178 @@
+\documentclass{article}
+
+\usepackage[top=0.2in,bottom=0.2in,left=0.5in,right=0.5in]{geometry}
+\usepackage{xcolor}
+\usepackage{hyperref} % should be last package imported for some reason
+
+%% this package allows us to customise the format of our \begin{itemize} blocks
+\usepackage{enumitem}
+
+%% header for each CV page
+\newcommand{\cvheader}{
+\begingroup
+ \begin{center}
+ \hsplit{\large \textbf{Mikołaj Bartosz Lenczewski}}{\href{https://lenczewski.org}{https://lenczewski.org}} \\
+ Email: \href{mailto:mikolaj@lenczewski.org}{mikolaj@lenczewski.org} \hfill
+ Mobile: +44 7512 734 132 \hfill
+ \href{https://git.lenczewski.org}{https://git.lenczewski.org} \\ \hrulefill
+ \end{center}
+\endgroup
+}
+
+%% custom environment for consistent formatting of each CV section
+%% takes as parameters the first letter of the header text (making it big) and
+%% the remainder of the header text (making it smaller)
+\newenvironment{cvsection}[2]{\noindent \textbf{\underline{{#1}\footnotesize{{#2}}}} \smallskip \\}{\medskip}
+
+%% alias for styled bulletpoints
+\newenvironment{bullets}{\begin{itemize}[left=\parindent,nosep]}{\end{itemize} \medskip}
+
+%% applies a consistent format for date ranges
+%% #1 : The start date
+%% #2 : The end date
+\newcommand{\cvdate}[2]{\small{\textit{#1 -- #2}}}
+
+%% applies a consistent format to a project name
+%% #1 : The name of the project
+%% #2 : Dependencies of the project, i.e. the languages and frameworks used
+\newcommand{\cvprojectname}[2]{\textbf{#1} $\mid$ \footnotesize{#2}}
+
+%% splits a line into 2 horizontal sections, filling in the gap with whitespace
+\newcommand{\hsplit}[2]{{#1} \hfill {#2}}
+
+%% splits a line and performs a line break afterwards
+\newcommand{\hsplitline}[2]{\hsplit{#1}{#2} \break}
+
+%% just an \item with smaller text for better packing and consistency
+\newcommand{\smitem}[1]{\item {\small{#1}}}
+
+%% formats a name and location for a group of projects
+%% #1 : The name of the group of projects (e.g. company name)
+%% #2 : The location of the group of projects
+\newcommand{\cvprojectgroup}[2]{\noindent \hsplitline{\textbf{#1}}{#2}}
+
+%% formats a job or personal project
+%% #1 : The name of the project
+%% #2 : The skills learnt as part of the project
+%% #3 : The start date of the project
+%% #4 : The end date of the project
+\newcommand{\cvproject}[4]{\noindent \hsplit{\cvprojectname{#1}{#2}}{\cvdate{#3}{#4}}}
+
+\begin{document}
+
+%% page 1
+\cvheader
+
+%% Content
+\begin{cvsection}{E}{DUCATION}
+ \cvprojectgroup{University of Manchester}{Manchester, UK}
+ \cvproject{Computer Science, B.Sc. (Hons.)}{Achieved 1st Class with Honours}{Oct. 2020}{July 2023}
+ \begin{bullets}
+ \smitem{Modules included: System Architecture, Advanced Distributed Systems, Algorithms and Data Structures, and Microcontrollers}
+ \smitem{Dissertation: ``A Generic Framework for Distributed Computing'', covering compilers and distributed systems}
+ \end{bullets}
+\end{cvsection}
+
+\begin{cvsection}{E}{XPERIENCE}
+ \cvprojectgroup{Arm Ltd.}{Cambridge, UK}
+ \cvproject{Engineer}{C, Spec, ACPI, Linux Kernel}{Jan. 2025}{Current}
+ \begin{bullets}
+ \smitem{Researched and helped design improvements to the armv9 architecture}
+ \smitem{Prototyped extensions to ACPI firmware to support new architectural features}
+ \smitem{Upstreaming patch series for utilising contiguous page hints to the Linux kernel}
+ \end{bullets}
+
+ \cvproject{Graduate Engineer}{C, C++, DynamoRIO, SystemVerilog}{Sept. 2023}{Jan. 2025}
+ \begin{bullets}
+ \smitem{Implemented cache performance modeling and analysis using DynamoRIO and C++}
+ \smitem{Presented cache performance modeling results at internal company conference}
+ \smitem{Designed, implemented, verified, and synthesized functional hardware prototypes using SystemVerilog}
+ \smitem{Implemented patch series to improve Linux memory management performance and correctness}
+ \end{bullets}
+
+ \cvproject{Part-Time Undergraduate}{C++, Make, Batch, CMake, LLVM, Zephyr}{July 2021}{Mar. 2023}
+ \begin{bullets}
+ \smitem{Part of the PTUG Social Committee, organising in-person, online, and hybrid events for other PTUGs}
+ \smitem{Ported the Zephyr build system to support the LLVM and Armclang toolchains}
+ \smitem{Ported existing Make and Batch build scripts to use CMake}
+ \smitem{Participated in daily standups, bi-weekly sprint reviews, and code review}
+ \end{bullets}
+
+ % \cvprojectgroup{Pretius sp.\ z o.o.}{Warsaw, Poland}
+ % \cvproject{Work Experience}{C\#}{Aug. 2019}{Aug. 2019}
+ % \begin{bullets}
+ % \smitem{Migrated a web app between platforms and wrote technical documentation}
+ % \smitem{Learnt Agile methodology, experiencing Kanban-style organisation and bi-weekly sprint reviews}
+ % \smitem{Learnt Jira for task management, task-estimation, and to decompose large tasks into smaller chunks}
+ % \end{bullets}
+\end{cvsection}
+
+\begin{cvsection}{P}{ROJECTS}
+ \cvproject{A Generic Framework for Distributed Computing}{C, Compilers, Networking, Make}{Sept. 2022}{July 2023}
+ \begin{bullets}
+ \smitem{Designed a custom compute kernel language influenced by C11 and OpenCL}
+ \smitem{Implemented a bytecode compiler and interpreter for the aforementioned compute kernel language}
+ \smitem{Implemented a custom network protocol, and various distributed algorithms (e.g. hash-table, memory, synchronisation)}
+ \smitem{Implemented a mandelbrot set compute kernel as an example of the platform}
+ \end{bullets}
+
+ \cvproject{RoboSoc Orchestra Team}{C, C++, Embedded, ARM}{Sept. 2022}{July 2023}
+ \begin{bullets}
+ \smitem{Served on the Conductor team, architecting and implementing the control system for the orchestra}
+ \smitem{Planned the protocol and interfaces for communicating between the conductor and different musicians}
+ \smitem{Implemented a MIDI parser, the conductor user interface, and the conductor backend}
+ \end{bullets}
+
+ \cvproject{Hyperloop Manchester}{C, C++, Embedded, ARM}{Nov. 2020}{Jan. 2022}
+ \begin{bullets}
+ \smitem{Served as the Software Team Head, architecting the software aspect of the pod}
+ \smitem{Researched and implemented standards and algorithms for driving a Hyperloop pod safely}
+ \smitem{Implemented beginnings of RTOS, including startup code for Teensy 4.1 and beginnings of USB driver}
+ \smitem{Organised work using Jira and Kanban, used Git as source control, and had weekly standups to track progress}
+ \end{bullets}
+
+ % \cvproject{UniCS GameDev}{C\#, Unity, Typescript, Next.js}{Nov. 2020}{Nov. 2021}
+ % \begin{bullets}
+ % \smitem{Served as Co-Head of the UniCS GameDev society, leading the development team}
+ % \smitem{Collaborated with team members in an Agile environment with weekly standups}
+ % \smitem{Planned tasks and estimating their requirements (time-wise and content-wise)}
+ % \smitem{Planned, researching, writing, and delivering tutorials on C\# and Unity}
+ % \smitem{Designed and implemented the UniCS GameDev website in next.js using Typescript}
+ % \end{bullets}
+
+ % \cvproject{StarSim}{C\#, Avalonia UI, SQLite, Git}{Apr. 2019}{Oct. 2019}
+ % \begin{bullets}
+ % \smitem{Created a graphical solar-system simulator, with initial solar-system editor and database functionality}
+ % \smitem{Researched and implemented efficient algorithms for solving n-body problems (oct-tree, multipole)}
+ % \smitem{Documented research and implementation using \LaTeX}
+ % \smitem{Checked all work into Git for source version control}
+ % \end{bullets}
+
+ % For more projects that I have completed in my spare time, please see my GitHub.
+\end{cvsection}
+
+\begin{cvsection}{S}{KILLS}
+ \indent \textbf{Soft Skills}: \small{Communication, Teamwork, Leadership, Project planning, Organisation, Time management} \\
+ \indent \textbf{Languages}: \small{System Verilog, C, C++, C\#, CMake, Make, Bash, Python, Java} \\
+ \indent \textbf{Frameworks}: \small{ASP.Net, Unity, PlatformIO} \\
+ \indent \textbf{Developer Tools}: \small{Git, Jira, Visual Studio, VSCode}
+\end{cvsection}
+
+%% \newpage
+
+%% page 2
+%% \cvheader
+
+\begin{cvsection}{I}{NTERESTS}
+ Outside of computer science and software engineering, I enjoy going to the
+ gym, bouldering, swimming, and am a 2nd Dan black belt in DART Karate (where
+ I am an instructor to younger students). I have quite a few ongoing personal
+ projects, including a 3D open-world sandbox game built from scratch, as
+ well as creating my own web server and linux distribution for my raspberry
+ pi. Additionally I have written a simple raytracer in C and a very simple
+ aarch64 kernel in assembly. In the past I have also taken part in Micromouse
+ competitions, building and programming robots in FORTH to complete various
+ courses (including line following, wall following, and maze solving).
+\end{cvsection}
+
+\end{document}