-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.tex
291 lines (228 loc) · 12.1 KB
/
main.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% LaTeX Template: Curriculum Vitae
%
% Source: http://www.howtotex.com/
% Feel free to distribute this template, but please keep the
% referral to HowToTeX.com.
% Date: July 2011
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% How to use writeLaTeX:
%
% You edit the source code here on the left, and the preview on the
% right shows you the result within a few seconds.
%
% Bookmark this page and share the URL with your co-authors. They can
% edit at the same time!
%
% You can upload figures, bibliographies, custom classes and
% styles using the files menu.
%
% If you're new to LaTeX, the wikibook is a great place to start:
% http://en.wikibooks.org/wiki/LaTeX
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[paper=a4,fontsize=11pt,norsk]{scrartcl} % KOMA-article class
\usepackage[english]{babel}
\usepackage[utf8x]{inputenc}
\usepackage[protrusion=true,expansion=true]{microtype}
\usepackage{amsmath,amsfonts,amsthm} % Math packages
\usepackage{graphicx} % Enable pdflatex
\usepackage[svgnames]{xcolor} % Colors by their 'svgnames'
\usepackage{geometry}
\textheight=700px % Saving trees ;-)
\usepackage{url}
\usepackage{hyperref}
\hypersetup{
colorlinks=true,
linkcolor=blue,
filecolor=magenta,
urlcolor=cyan,
}
\urlstyle{same}
\frenchspacing % Better looking spacings after periods
\pagestyle{empty} % No pagenumbers/headers/footers
%%% Custom sectioning (sectsty package)
%%% ------------------------------------------------------------
\usepackage{sectsty}
\sectionfont{% % Change font of \section command
\usefont{OT1}{phv}{b}{n}% % bch-b-n: CharterBT-Bold font
\sectionrule{0pt}{0pt}{-5pt}{3pt}}
%%% Macros
%%% ------------------------------------------------------------
\newlength{\spacebox}
\settowidth{\spacebox}{8888888888} % Box to align text
\newcommand{\sepspace}{\vspace*{1em}} % Vertical space macro
\newcommand{\MyName}[1]{ % Name
\Huge \usefont{OT1}{phv}{b}{n} \hfill #1
\par \normalsize \normalfont}
\newcommand{\MySlogan}[1]{ % Slogan (optional)
\large \usefont{OT1}{phv}{m}{n}\hfill \textit{#1}
\par \normalsize \normalfont}
\newcommand{\NewPart}[1]{\section*{\uppercase{#1}}}
\newcommand{\PersonalEntry}[2]{
\noindent\hangindent=2em\hangafter=0 % Indentation
\parbox{\spacebox}{ % Box to align text
\textit{#1}} % Entry name (birth, address, etc.)
\hspace{1.5em} #2 \par} % Entry value
\newcommand{\SkillsEntry}[2]{ % Same as \PersonalEntry
\noindent\hangindent=2em\hangafter=0 % Indentation
\parbox{\spacebox}{ % Box to align text
\textit{#1}} % Entry name (birth, address, etc.)
\hspace{1.5em} #2 \par} % Entry value
\newcommand{\EducationEntry}[4]{
\noindent \textbf{#1} \hfill % Study
\colorbox{Black}{%
\parbox{6em}{%
\hfill\color{White}#2}} \par % Duration
\noindent \textit{#3} \par % School
\noindent\hangindent=2em\hangafter=0 \small #4 % Description
\normalsize \par}
\newcommand{\WorkEntry}[4]{ % Same as \EducationEntry
\noindent \textbf{#1} \hfill % Jobname
\colorbox{Black}{\color{White}#2} \par % Duration
\noindent \textit{#3} \par % Company
\noindent\hangindent=2em\hangafter=0 \small #4 % Description
\normalsize \par}
%%% Begin Document
%%% ------------------------------------------------------------
\begin{document}
% You can upload a photo and include it here...
%\begin{wrapfigure}{l}{0.5\textwidth}
% \vspace*{-2em}
% \includegraphics[width=0.15\textwidth]{photo}
%\end{wrapfigure}
\MyName{Jørn Bøni Hofstad}
\MySlogan{Curriculum Vitae}
\sepspace
%%% Personal details
%%% ------------------------------------------------------------
\NewPart{Personal details}{}
\PersonalEntry{Birth}{June 7, 1996}
%\PersonalEntry{Address}{Hans Hagerups gate 6 7012 Trondheim}
\PersonalEntry{Phone}{+47 94121127}
\PersonalEntry{Mail}{\url{[email protected]}}
\PersonalEntry{Citizenship}{Norwegian, Swiss}
\PersonalEntry{LinkedIn}{\url{www.linkedin.com/in/joern-boeni-hofstad}}
%%% Skills
%%% ------------------------------------------------------------
\NewPart{Skills}{}
\SkillsEntry{Languages}{Norwegian (native), English (fluent)}
% \SkillsEntry{}{}
\SkillsEntry{}{Swiss German (fluent orally, A1-A2 written), French (A2)}
% \SkillsEntry{}{}
\SkillsEntry{Software}{Rust, C++, Python, Git, Docker, Jenkins}
% \SkillsEntry{Other}{Driver's license}
%%% Work experience
%%% ------------------------------------------------------------
\NewPart{Work experience}{}
\WorkEntry{Software tester}{2023-present}{Nordic Semiconductor}{
I helped increase our and our customer's confidence in the tools we made for doing DFUs and resetting nRF devices using Nordic's Python testing framework.
The tests were done both on FPGAs and directly on hardware. I also worked on the CI/CD system using Jenkins/Bash for building and testing. Additionally, I made the Docker images we that ran the nodes controlling to the FPGAs.
% Tested tools used for firmware updates controlling nRF devices.
% - Verified that the changes worked as expected according to the product specification.
% - Testing on FPGA and on hardware.
% - Testing using a Bash/Python framework.
% - Created a build and a test system in Jenkins.
% - Creating Docker image to be used by Jenkins
}
\WorkEntry{Software developer}{2020-2023}{Nordic Semiconductor}{
I developed tooling for Windows, MacOS and Ubuntu, used internally and by customers, written in Rust.
One of the tools was a bundler for making an isolated toolchain used for working with the nRF SDK. The tool greatly simplified the initial installation for our first-time users and increasing reproducibility for customer support.
Additionally, I made our our dynamic completion system more usable, taking execution time from 1 second to 0.3 seconds, profiling using ProcMon and Visual Studio.
I also helped on updating one of our legacy C++ projects.
% Finally. I worked on a multi-team project to make a Rust/Python program that used a built-in Python installation, while also limiting the scope of the project.
% The tools were written in .
% Also helped maintain legacy C++ project.
% - Helped maintain nrfjprog (Multiprocess C++ project)
% - Made and maintained Azure/Jenkins pipelines.
% - Cross-team project, integrating Python code to be integrated with Rust
% - Profiling and optimizing build tools and autocompletion systems.
}
% \WorkEntry{Developed and maintained tooling for working with Nordic devices}{2020-present}{Nordic Semiconductor}{
% % Short
% % I developed cross-platform tooling used internally and by customers for developing our devices.
% % This included testing, profiling and parallelizing Rust, Python and Bash programs.
% I developed tooling for Windows, MacOS and Ubuntu, used internally and by customers for developing our devices. This includes tooling for collecting and bundling a portable toolchain for developing with Nordic's SDK, used by most users of Nordic's newer chips. The role also involved CI/CD systems in Azure Pipelines and Jenkins, as well as managed the releases of the aforementioned toolchains. The role also involved debugging and fixing multiprocess legacy applications in C++ and Python, as well as creating Docker images for building our tools.
% I also worked on a cross-team project, which involved making a portable Python program that integrated with our Rust tool suite and package manager. I also worked with profiling and optimizing our build tools and our autocompletion system.
% % low
% % This included creating and migrating Continuous Integration systems, as well as migrating them to Azure Pipelines and Jenkins
% % I was responsible for maintaining and deprecating our Python/C++ libraries and tools.
% % ##Things I have done in Nordic
% % - testing device-lib
% % - toolchain-bundler
% % - Building and releasing the toolchain bundles until another team was able to take the job in CI
% % - Parallelizing and simplifying for performance gains
% % - pc-ble-driver-py
% % - nrfutil
% % - azure pipelines
% % - nrfutil completion
% % - nrfutil device guessing
% % - Profiling nrfutil device and completion
% % - Linux and Windows
% % - Debug Linux and Microsoft processes
% % - NoVel
% % - Make docker images for building
% % - nrfutil npm
% % - Making Python project portable, and make it work with nrfutil
% % - Profiling size usage, file access and how to reduce it
% % - Contributed to the python project
% % - Testing util and probe lib
% % - setting up Jenkins
% }
% Terse version of SINTEF
% \WorkEntry{Software developer, Summer student}{Summer 2019}{SINTEF Energy}{
% I made a Python tool for translating outputs from a short-term and a long-term hydropower-production optimization program, making them comparable.
% }
% More detailed version of SINTEF
%\WorkEntry{Making a tool for comparing hydropower-production}{SINTEF Energy}{Summer 2019}{
%SINTEF Energy has two programs for planning how to most efficiently drain water reservoirs to get %the most out of the fluctuating water prices. Since one was a long-term model, while the other one was %more detailed, the job consisted of learning the models well enough, so that an automated program could be %made for translating the results from SHOP into the same format as the one for Prodrisk.
%}
% %Short version of Nordic summer job
% \WorkEntry{Developing a simple BLE-mesh simulator}{Summer 2018}{Nordic Semiconductor Summer-job}{
% Developed simulator and presentation of results of a simple simulator used to estimate packet loss and throughput of a BLE mesh.
% }
% More detailed version of the Nordic summer job
%\WorkEntry{Developing a simple BLE-mesh simulator}{Summer 2018}{Nordic Semiconductor Summer-job}{
%Developing a simple simulator with GUI for package transmission for Bluetooth Low energy mesh so that % customers could get an idea of the performance of a star topology of BLE nodes. The job %included setting up experiments with NRF51 boards to gather data on the number of received %packets, and some of their properties. As well as setting up a simulator in Python able to give %distributions and percentiles for discovery time and throughput, given a given set of parameters given by %the user (Jitter, number of nodes, packet-length, etc.)
%}
% %Sanntids-studass
% \WorkEntry{Participated in Nordic Semiconductors's social committe}{2022-present}{Nordic Semiconductor}
% {I organized and hosted social events like salary beers and social board game nights}
%Sanntids-studass
\WorkEntry{Teaching assistant (TTK4145, Real-time programming)}{Spring 2020}{NTNU Part-time}
{I aided students in designing a robust distributed system of model elevators on an unreliable network, using unreliable hardware.}
%%Indel-studass
%Indel-studass
\WorkEntry{Student assistant (TTK4240, Industrial Electronics)}{Fall 2017}{NTNU Part-time}
{
I assisted students in controlling an inverted pendulum using a discrete encoders and a controller using a non-linear controller they made in LabView.
}
\WorkEntry{Teaching assistant (TTK4115, Linear System Theory )}{Fall 2018}{NTNU Part-time}
{
I aided students in controlling a model helicopter using a linear multivariable regulator and a Kalman filter, both made in Matlab/Simulink.
}
%%% Education
%%% ------------------------------------------------------------
\NewPart{Education}{}
\EducationEntry{M.Sc. Cybernetics and Robotics}{2015-2020}{Norwegian University of Science and Technology (NTNU), 3.8/5 GPA}{}
\EducationEntry{Exchange semester}{Spring 2019}{École Polytechnique Fédérale de Lausanne (EPFL)}{}
%%% Hobbies
%%% ------------------------------------------------------------
%%% References
%%% ------------------------------------------------------------
\NewPart{References}{}
Can be provided on request
%\PersonalEntry{Name}{Hans Olav}
%\PersonalEntry{Company}{Energisystemer, SINTEF Energi}
%\PersonalEntry{Mail}{\url{[email protected]}}
%\PersonalEntry{Mobile}{48004524}
% %%% Links
% \NewPart{Linkedin}{
% \url{www.linkedin.com/in/joern-boeni-hofstad}
% }
\NewPart{GitHub}{}
\url{https://github.com/jornbh/}
\NewPart{Other}{}
Driver's License
\end{document}