1 % bandali-resume.tex --- bandali's résumé -*-latex-*-
3 % Copyright (C) 2016-2021 Amin Bandali <bandali@gnu.org>
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.
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.
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/>.
19 \documentclass[letterpaper
]{article
}
21 \def\name{Amin Bandali
}
22 \def\site{shemshak.org/
\string~bandali
}
23 \def\siteurl{https://
\site}
24 \def\pubs#1{\siteurl/publications\#
#1}
25 \def\mail{bandali@gnu.org
}
26 \def\nday{https://cs.uwaterloo.ca/~nday/
}
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 :-)
39 unicode,
% for "résumé"
40 pdfstartview=
{FitH
},
% (H for horizontal)
41 pdftitle=
{\name: Résumé
},
44 pdfkeywords=
{free software consultant, formal methods, formal logic,
45 model checking, verification, type systems, interactive theorem
46 provers, functional programming, haskell, lean prover
},
48 pdfcreator=
{GNU Emacs
28.0.50},
65 \fancyhf{} % clear existing header/footer
66 \renewcommand\headrulewidth{0pt
}
68 \textsc{\addfontfeature{Letters=UppercaseSmallCaps,LetterSpace=
6.0}%
69 \small{}Bandali Résumé
\textemdash{} page
\thepage{} of
\pageref*
{LastPage
}}}
72 %% \usepackage[lining, tabular]{ebgaramond}
73 \renewcommand{\familydefault}{\sfdefault}
74 \setmonofont[Scale=
0.87]{inconsolata
}
75 \setsansfont[Scale=
0.95]{Jost
}
78 \newcommand{\titlefont}[1]{{\bfseries\Large#1}}
80 %% section heading font
81 \sectionfont{\bfseries\normalsize\uppercase}
82 \subsectionfont{\bfseries\normalsize\itshape}
84 %% don't indent paragraphs
85 \setlength\parindent{0em
}
87 %% omit itemize bullets, set more compact spacing
88 \renewenvironment{itemize
}{
90 \setlength{\leftmargin}{1.5em
}
91 \setlength{\itemsep}{0.25em
}
92 \setlength{\parskip}{0em
}
93 \setlength{\parsep}{0.25em
}
98 \setlist[enumerate
]{itemsep=
0.25em
}
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%
106 %% various command definitions
107 \newcommand{\tla}{TLA$
{}^+$
}
118 \href{\siteurl}{\addfontfeature{LetterSpace=
2.0}\site}\\
119 \href{mailto:
\mail}{\mail}\\
121 \section*
{Summary of Qualifications
}
123 \begin{enumerate
}[label=
\raisebox{-
0.9ex
}{\LARGE\textbullet}]
124 \item Experience in building software for diverse areas and platforms
125 in various programming languages such as C, Python, and Haskell.
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
131 \item GNU/Linux system administration on both the client and the
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.
146 \item Master of Mathematics in Computer Science, University of
148 % completed July 14, 2020
149 \item Bachelor of Science with Honours in Computer Science, York
151 % completed December 2017
154 \section*
{Work Experience
}
156 \subsection*
{Savoir-faire Linux
}
159 \begin{description
}[font=
\mdseries]
160 \item[fall
2020--present
] Free Software Consultant
162 I am part of the Jami core development team at Savoir-faire Linux,
163 where I work on various parts of Jami as a Free Software
164 Consultant. These include working on and maintaining the
165 GTK+-based jami-gnome client application written in C++ and C, and
166 packaging Jami for various GNU/Linux distributions and other
167 platforms. I also serve as a community liaison between the Jami
168 core team and the wider free software community around Jami, with
169 the goal of helping facilitate the communications and relations
174 \subsection*
{Free Software Foundation (FSF)
}
177 \begin{description
}[font=
\mdseries]
178 \item[spring
2020] Tech team intern
180 Working in a sysadmin role on a variety of tasks including
181 installation of the Sourcehut free software forge on the FSF
182 infrastructure for evaluation for the FSF forge project, as well
183 as a series of enhancements for
184 \href{https://www.gnu.org
}{www.gnu.org
}.
188 \subsection*
{Cheriton School of Computer Science, University of Waterloo
}
190 \item \textit{TA
}: Teaching Assistant, marking exams and assignments.
191 \textit{IA
}: Instructional Apprentice, holding tutorials and marking
193 \begin{description
}[font=
\mdseries]
194 \item[SE
465 (Software Testing and Quality Assurance)
] \textit{TA
}
196 \item[SE
212 (Logic and Computation)
] \textit{IA
} in fall
2019,
197 \textit{TA
} in fall
2018.
198 \item[SE
463 (Software Requirements Specification and Analysis)
]
199 \textit{TA
} in spring
2019 and
2018.
200 \item[CS
136 (Elementary Algorithm Design and Data Abstraction)
]
201 \textit{TA
} in winter
2018.
205 \subsection*
{Dept. of Electrical Engineering \& Computer Science, York University
}
208 \begin{description
}[font=
\mdseries]
209 \item[EECS
1012 (Net-Centric Introduction to Computing)
] TA in fall
214 \subsection*
{Software Engineering Lab, York University
}
217 \begin{description
}[font=
\mdseries]
218 \item[summer
2017] Research Assistant
220 Worked on an implementation of
221 \href{https://bertrandmeyer.com/
2014/
12/
07/lampsort/
}{\textsf{Lampsort
}}
222 in Eiffel. Extended the
223 \href{https://svn.eecs.yorku.ca/repos/sel-open/mathmodels/
}{\textsf{mathmodels
}}
224 library, implementing a
\textsc{rational
} class for working with
225 arbitrarily large rational numbers.
226 \item[summer
2016] Research Student
228 Worked on
\textit{Literate Unit-B
}, the verifier for Unit-B, a new
229 formal method focused on formal verification of reactive,
230 concurrent and distributed systems. From the Literate Unit-B
231 codebase (written in Haskell), decoupled the logic module and used
232 it to build
\textit{Unit-B Web
}, a web interface using Literate
233 Unit-B to do predicate calculus proofs. Unit-B Web, also written
234 in Haskell, supports the
\LaTeX{} syntax of the Unit-B logic,
235 renders user input on the page, and calls the sequent prover of
236 the logic module, which uses the Z3 SMT solver to check the
237 validity of user input.
239 Separated Literate Unit-B's type checker from its parser in a
240 large refactoring, allowing easier substitution of other type
241 checking algorithms, and in preparation for implementing
246 \subsection*
{Lotek Wireless Inc.
}
249 \begin{description
}[font=
\mdseries]
250 \item[summer
2016] Software Developer
252 Designed and developed an Employee Portal web application in C\#
253 and the MVC framework, used by employees for accessing various
254 data catalogs and archives.
255 \item[summer
2015] Software Developer
257 Designed and implemented various applications in C\# and C for
258 analyzing and testing a satellite pass prediction algorithm for
259 predicting the pass windows of Argos satellites, for scheduling
260 send times of data collected by the company's wildlife tracking
265 \subsection*
{Athlete Builder
}
268 \begin{description
}[font=
\mdseries]
269 \item[2013--
2014] Software Developer
271 Developed the Backend of Athlete Builder platform in C\# and MVC.
273 Key role in development of the platform core.
275 Developed the alpha version of Athlete Builder Android application
283 \item \textit{Programming Languages:
} C, C++, Haskell, Emacs Lisp,
284 Guile Scheme, Python, Eiffel, Bash, C\#, Java, JavaScript.
285 \item \textit{Tools:
} GNU Emacs, Git, Alloy,
\tla, ProB,
\LaTeX,
286 continuous integration systems.
287 \item \textit{Platforms:
} GNU/Linux distributions, including Trisquel,
289 \item \textit{Languages:
} Persian (mother tongue), English (fluent), French
293 \section*
{Community Service
}
295 \subsection*
{EmacsConf Conference
}
299 \begin{description
}[font=
\mdseries]
300 \item[\href{https://emacsconf.org
}{2019--present
}] Chief organizer
301 and maintainer of conference infrastructure, including the
303 \item[\href{https://emacsconf.org/
2015/
}{2015}\phantom{--present
}]
304 One of the organizers and in charge of setting up and maintaining
305 vital pieces of infrastructure.
309 \subsection*
{Computer Science Club (CSC) of the University of Waterloo
}
312 \item Served as the CSC System Administrator in Winter and Spring
313 2020. Present member of the CSC Systems Committee, overseeing and
314 maintaining a large fleet of GNU/Linux servers for CSC members, as
315 well as running the CSC mirror for free software projects.
317 Notable projects include
318 \href{https://mailman.csclub.uwaterloo.ca/pipermail/csc-general/
2020-July/
000837.html
}{launching
319 the CSC web IRC client
} as part of an effort in bringing modern
320 user freedom- and privacy-respecting communication tools to club
324 \subsection*
{Free/Libre Software Contributions
}
327 \item Co-maintainer of
328 \href{https://www.gnu.org/software/gnuzilla/gnuzilla.html
}{GNUzilla
329 and IceCat
}, the GNU version of the Mozilla suite and the Firefox
330 browser respectively.
332 \href{https://www.gnu.org/software/emacs/erc.html
}{ERC
}, the
333 powerful, modular, and extensible IRC client distributed with
335 \item Committer and regular contributor to
336 \href{https://www.gnu.org/software/emacs/emacs.html
}{GNU~Emacs
} and
337 \href{https://guix.gnu.org
}{GNU~Guix
}.
339 \href{https://www.gnu.org/people/webmeisters.html#bandali
}{GNU~webmaster
}
341 \href{https://savannah.gnu.org/maintenance/SavannahHacker/
}{GNU~Savannah
345 \subsection*
{Volunteer Work
}
349 \begin{description
}[font=
\mdseries]
350 \item[spring
2013] Application Developer for VONICAL Inc.
352 Worked on development of the Employment Accessibility Resource
353 Network (EARN) portal using the Anahita social networking
354 platform, written in PHP and running on GNU/Linux.
357 \begin{description
}[font=
\mdseries]
358 \item[winter
2013] Mobile \& Web Developer for Hire Works Inc.
360 Worked on a variety of web and mobile development projects for
364 \begin{description
}[font=
\mdseries]
365 \item[summer
2012] Web Developer for St.~Brigid's Summer Camp
367 Redesigned and revamped the codebase for the photo gallery section
368 of the camp's website in PHP and JavaScript.
372 %% TODO? \section*{Recent Projects}
374 %% \section*{Achievements}
377 %% \item Was among the top 1\% incoming students in Carleton University's
378 %% undergraduate Computer Science program, and a top student in the
379 %% faculty of science.
380 %% \item Highest standing in Computer Science in grade 11 (92\%) and
381 %% grade 12 (100\%) at High school at Glebe~Collegiate~Institute.
382 %% \item Ranked in the top 25\% in the Canadian Senior Mathematics
383 %% Contest held by University of Waterloo, in 2013 (grade 11).
384 %% \item Graduated from high school with an average of 95\%; and
385 %% designated as an Ontario Scholar.
388 %% \section*{Research Interests}
391 %% \item Formal Logic, Model Checking, Theorem Proving, Verification