41a3b2a30ff1eb0bf5d9ff473a9167083a423632
[~bandali/cv] / bandali-resume.tex
1 % bandali-resume.tex --- bandali's résumé -*-latex-*-
2
3 % Copyright (C) 2016-2020 Amin Bandali <bandali@uwaterloo.ca>
4
5 % This résumé is free software: you can redistribute it and/or modify
6 % it under the terms of the GNU General Public License as published by
7 % the Free Software Foundation, either version 3 of the License, or
8 % (at your option) any later version.
9
10 % This résumé is distributed in the hope that it will be useful,
11 % but WITHOUT ANY WARRANTY; without even the implied warranty of
12 % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 % GNU General Public License for more details.
14
15 % You should have received a copy of the GNU General Public License
16 % along with this résumé. If not, see <https://www.gnu.org/licenses/>.
17
18
19 \documentclass[letterpaper]{article}
20
21 \def\name{Amin Bandali}
22 \def\site{bndl.org}
23 \def\siteurl{https://\site}
24 \def\pubs#1{\siteurl/publications\##1}
25 \def\mail{bandali@uwaterloo.ca}
26 \def\nday{https://cs.uwaterloo.ca/~nday/}
27
28 %% package imports
29 \usepackage{geometry} % setting page geometry
30 \usepackage{enumitem} % enumerate with [resume] option
31 \usepackage{fontspec} % needs LuaTeX
32 \usepackage{sectsty} % custom section fonts
33 \usepackage{hyperref} % for PDF metadata
34 \usepackage{fancyhdr} % fine control of headers/footers
35 \usepackage{lastpage} % as the name says :-)
36
37 %% PDF metadata
38 \hypersetup{
39 unicode, % for "résumé"
40 pdfstartview={FitH}, % (H for horizontal)
41 pdftitle={\name: Résumé},
42 pdfauthor={\name},
43 pdfsubject={Résumé},
44 pdfkeywords={formal methods, formal logic, model checking,
45 verification, type systems, interactive theorem provers,
46 functional programming, lean prover, haskell},
47 pdfpagemode=UseNone,
48 pdfcreator={GNU Emacs 28.0.50},
49 pdflang={English},
50 pdfnewwindow=true,
51 colorlinks=true,
52 urlcolor=black
53 }
54
55 %% page geometry
56 \geometry{
57 left=0.5in,
58 top=0.5in,
59 right=0.5in,
60 bottom=0.75in
61 }
62
63 %% footer setup
64 \pagestyle{fancy}
65 \fancyhf{} % clear existing header/footer
66 \renewcommand\headrulewidth{0pt}
67 \cfoot{%
68 \textsc{\addfontfeature{Letters=UppercaseSmallCaps,LetterSpace=6.0}%
69 Bandali Résumé \textemdash{} page \thepage{} of \pageref*{LastPage}}}
70
71 %% body text font
72 %% \usepackage[lining, tabular]{ebgaramond}
73 \renewcommand{\familydefault}{\sfdefault}
74 \setmonofont[Scale=0.87]{inconsolata}
75 \setsansfont[Scale=0.95]{Jost}
76
77 %% title font
78 \newcommand{\titlefont}[1]{{\bfseries\Large#1}}
79
80 %% section heading font
81 \sectionfont{\bfseries\normalsize\uppercase}
82 \subsectionfont{\bfseries\normalsize\itshape}
83
84 %% don't indent paragraphs
85 \setlength\parindent{0em}
86
87 %% omit itemize bullets, set more compact spacing
88 \renewenvironment{itemize}{
89 \begin{list}{}{
90 \setlength{\leftmargin}{1.5em}
91 \setlength{\itemsep}{0.25em}
92 \setlength{\parskip}{0em}
93 \setlength{\parsep}{0.25em}
94 }
95 }{
96 \end{list}
97 }
98 \setlist[enumerate]{itemsep=0.25em}
99
100 %% month and year only
101 \renewcommand{\today}{\ifcase \month \or January\or February\or March%
102 \or April\or May \or June\or July\or August\or September\or October%
103 \or November\or December\fi%
104 \space \number \year}
105
106 %% various command definitions
107 \newcommand{\tla}{TLA${}^+$}
108
109
110 \begin{document}
111
112 \titlefont{\name}
113
114 \bigskip
115 \today
116
117 \medskip
118 \href{\siteurl}{\addfontfeature{LetterSpace=2.0}\site}\\
119 \href{mailto:\mail}{\mail}\\
120
121 \section*{Summary of Qualifications}
122
123 \begin{enumerate}[label=\raisebox{-0.9ex}{\LARGE\textbullet}]
124 \item Experience with building software in diverse areas and for
125 various platforms, including GNU/Linux and Windows.
126 \item Passionate about applying scientific and engineering methods
127 while designing and building software systems.
128 \item Using formal specification techniques to find
129 specification-level bugs early in the design stage rather than
130 implementation.
131 \item GNU/Linux system administration on both the client and the
132 server side.
133 \item Problem-solving and communication skills, honed through research
134 and teaching roles held in graduate school, as well as holding
135 tutorials discussing complex concepts with fellow students and peers
136 throughout undergraduate studies and high school.
137 \item Organizational and teamwork skills, strengthened thanks to
138 community service in form of volunteer activities including
139 organizing the EmacsConf conference and volunteer work for charities
140 such as the Free Software Foundation and St.~Brigid's Summer Camp.
141 \end{enumerate}
142
143 \section*{Education}
144
145 \begin{itemize}
146 \item Master of Mathematics in Computer Science, University of
147 Waterloo, 2020.
148 % completed July 14, 2020
149 \item Bachelor of Science with Honours in Computer Science, York
150 University, 2017.
151 % completed December 2017
152 \end{itemize}
153
154 \section*{Work Experience}
155
156 \subsection*{Free Software Foundation (FSF)}
157 \begin{itemize}
158 \item
159 \begin{description}[font=\mdseries]
160 \item[spring 2020] Tech team intern
161
162 Working in a sysadmin role on a variety of tasks including
163 installation of the Sourcehut free software forge on the FSF
164 infrastructure for evaluation for the FSF forge project, as well
165 as a series of enhancements for
166 \href{https://www.gnu.org}{www.gnu.org}.
167 \end{description}
168 \end{itemize}
169
170 \subsection*{Cheriton School of Computer Science, University of Waterloo}
171 \begin{itemize}
172 \item \textit{TA}: Teaching Assistant, marking exams and assignments.
173 \textit{IA}: Instructional Apprentice, holding tutorials and marking
174 \item
175 \begin{description}[font=\mdseries]
176 \item[SE 465 (Software Testing and Quality Assurance)] \textit{TA}
177 in winter 2020.
178 \item[SE 212 (Logic and Computation)] \textit{IA} in fall 2019,
179 \textit{TA} in fall 2018.
180 \item[SE 463 (Software Requirements Specification and Analysis)]
181 \textit{TA} in spring 2019 and 2018.
182 \item[CS 136 (Elementary Algorithm Design and Data Abstraction)]
183 \textit{TA} in winter 2018.
184 \end{description}
185 \end{itemize}
186
187 \subsection*{Dept. of Electrical Engineering \& Computer Science, York University}
188 \begin{itemize}
189 \item
190 \begin{description}[font=\mdseries]
191 \item[EECS 1012 (Net-Centric Introduction to Computing)] TA in fall
192 2017.
193 \end{description}
194 \end{itemize}
195
196 \subsection*{Software Engineering Lab, York University}
197 \begin{itemize}
198 \item
199 \begin{description}[font=\mdseries]
200 \item[summer 2017] Research Assistant
201
202 Worked on an implementation of
203 \href{https://bertrandmeyer.com/2014/12/07/lampsort/}{\textsf{Lampsort}}
204 in Eiffel. Extended the
205 \href{https://svn.eecs.yorku.ca/repos/sel-open/mathmodels/}{\textsf{mathmodels}}
206 library, implementing a \textsc{rational} class for working with
207 arbitrarily large rational numbers.
208 \item[summer 2016] Research Student
209
210 Worked on \textit{Literate Unit-B}, the verifier for Unit-B, a new
211 formal method focused on formal verification of reactive,
212 concurrent and distributed systems. From the Literate Unit-B
213 codebase (written in Haskell), decoupled the logic module and used
214 it to build \textit{Unit-B Web}, a web interface using Literate
215 Unit-B to do predicate calculus proofs. Unit-B Web, also written
216 in Haskell, supports the \LaTeX{} syntax of the Unit-B logic,
217 renders user input on the page, and calls the sequent prover of
218 the logic module, which uses the Z3 SMT solver to check the
219 validity of user input.
220
221 Separated Literate Unit-B's type checker from its parser in a
222 large refactoring, allowing easier substitution of other type
223 checking algorithms, and in preparation for implementing
224 subtyping.
225 \end{description}
226 \end{itemize}
227
228 \subsection*{Lotek Wireless Inc.}
229 \begin{itemize}
230 \item
231 \begin{description}[font=\mdseries]
232 \item[summer 2016] Software Developer
233
234 Designed and developed an Employee Portal web application in C\#
235 and the MVC framework, used by employees for accessing various
236 data catalogs and archives.
237 \item[summer 2015] Software Developer
238
239 Designed and implemented various applications in C\# and C for
240 analyzing and testing a satellite pass prediction algorithm for
241 predicting the pass windows of Argos satellites, for scheduling
242 send times of data collected by the company's wildlife tracking
243 products.
244 \end{description}
245 \end{itemize}
246
247 \subsection*{Athlete Builder}
248 \begin{itemize}
249 \item
250 \begin{description}[font=\mdseries]
251 \item[2013--2014] Software Developer
252
253 Developed the Backend of Athlete Builder platform in C\# and MVC.
254
255 Key role in development of the platform core.
256
257 Developed the alpha version of Athlete Builder Android application
258 in Java.
259 \end{description}
260 \end{itemize}
261
262 \section*{Skills}
263
264 \begin{itemize}
265 \item \textit{Programming Languages:} Haskell, Python, C, Emacs Lisp,
266 Guile Scheme, Eiffel, Bash, C\#, Java, JavaScript.
267 \item \textit{Tools:} GNU Emacs, Git, Alloy, \tla, ProB, \LaTeX,
268 continuous integration systems.
269 \item \textit{Platforms:} GNU/Linux distributions, including Trisquel,
270 GNU Guix, Debian.
271 \item \textit{Languages:} Persian (mother tongue), English (fluent), French
272 (beginner).
273 \end{itemize}
274
275 \section*{Community Service}
276
277 \subsection*{EmacsConf Conference}
278
279 \begin{itemize}
280 \item
281 \begin{description}[font=\mdseries]
282 \item[\href{https://emacsconf.org}{2019--present}] Chief organizer
283 and maintainer of conference infrastructure, including the
284 streaming servers.
285 \item[\href{https://emacsconf.org/2015/}{2015}\phantom{--present}]
286 One of the organizers and in charge of setting up and maintaining
287 vital pieces of infrastructure.
288 \end{description}
289 \end{itemize}
290
291 \subsection*{Computer Science Club (CSC) of the University of Waterloo}
292
293 \begin{itemize}
294 \item Served as the CSC System Administrator in Winter and Spring
295 2020. Present member of the CSC Systems Committee, overseeing and
296 maintaining a large fleet of GNU/Linux servers for CSC members, as
297 well as running the CSC mirror for free software projects.
298
299 Notable projects include
300 \href{https://mailman.csclub.uwaterloo.ca/pipermail/csc-general/2020-July/000837.html}{launching
301 the CSC web IRC client} as part of an effort in bringing modern
302 user freedom- and privacy-respecting communication tools to club
303 members.
304 \end{itemize}
305
306 \subsection*{Free/Libre Software Contributions}
307
308 \begin{itemize}
309 \item Co-maintainer of
310 \href{https://www.gnu.org/software/gnuzilla/gnuzilla.html}{GNUzilla
311 and IceCat}, the GNU version of the Mozilla suite and the Firefox
312 browser respectively.
313 \item Maintainer of
314 \href{https://www.gnu.org/software/emacs/erc.html}{ERC}, the
315 powerful, modular, and extensible IRC client distributed with
316 GNU~Emacs.
317 \item Committer and regular contributor to
318 \href{https://www.gnu.org/software/emacs/emacs.html}{GNU~Emacs} and
319 \href{https://guix.gnu.org}{GNU~Guix}.
320 \item
321 \href{https://www.gnu.org/people/webmeisters.html#bandali}{GNU~webmaster}
322 and
323 \href{https://savannah.gnu.org/maintenance/SavannahHacker/}{GNU~Savannah
324 hacker}.
325 \end{itemize}
326
327 \subsection*{Volunteer Work}
328
329 \begin{itemize}
330 \item
331 \begin{description}[font=\mdseries]
332 \item[spring 2013] Application Developer for VONICAL Inc.
333
334 Worked on development of the Employment Accessibility Resource
335 Network (EARN) portal using the Anahita social networking
336 platform, written in PHP and running on GNU/Linux.
337 \end{description}
338 \item
339 \begin{description}[font=\mdseries]
340 \item[winter 2013] Mobile \& Web Developer for Hire Works Inc.
341
342 Worked on a variety of web and mobile development projects for
343 Hire Works.
344 \end{description}
345 \item
346 \begin{description}[font=\mdseries]
347 \item[summer 2012] Web Developer for St.~Brigid's Summer Camp
348
349 Redesigned and revamped the codebase for the photo gallery section
350 of the camp's website in PHP and JavaScript.
351 \end{description}
352 \end{itemize}
353
354 %% TODO? \section*{Recent Projects}
355
356 %% \section*{Achievements}
357
358 %% \begin{itemize}
359 %% \item Was among the top 1\% incoming students in Carleton University's
360 %% undergraduate Computer Science program, and a top student in the
361 %% faculty of science.
362 %% \item Highest standing in Computer Science in grade 11 (92\%) and
363 %% grade 12 (100\%) at High school at Glebe~Collegiate~Institute.
364 %% \item Ranked in the top 25\% in the Canadian Senior Mathematics
365 %% Contest held by University of Waterloo, in 2013 (grade 11).
366 %% \item Graduated from high school with an average of 95\%; and
367 %% designated as an Ontario Scholar.
368 %% \end{itemize}
369
370 %% \section*{Research Interests}
371
372 %% \begin{itemize}
373 %% \item Formal Logic, Model Checking, Theorem Proving, Verification
374 %% \end{itemize}
375
376 \end{document}