Commit | Line | Data |
---|---|---|
f73e4e5e AB |
1 | % bandali-resume.tex --- bandali's résumé -*-latex-*- |
2 | ||
e3d5bea9 | 3 | % Copyright (C) 2016-2021 Amin Bandali <bandali@gnu.org> |
f73e4e5e AB |
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} | |
e3d5bea9 | 22 | \def\site{shemshak.org/\string~bandali} |
f73e4e5e AB |
23 | \def\siteurl{https://\site} |
24 | \def\pubs#1{\siteurl/publications\##1} | |
e3d5bea9 | 25 | \def\mail{bandali@gnu.org} |
f73e4e5e AB |
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é}, | |
e3d5bea9 AB |
44 | pdfkeywords={free software consultant, formal methods, formal logic, |
45 | model checking, verification, type systems, interactive theorem | |
46 | provers, functional programming, haskell, lean prover}, | |
f73e4e5e AB |
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}% | |
8c620e76 | 69 | \small{}Bandali Résumé \textemdash{} page \thepage{} of \pageref*{LastPage}}} |
f73e4e5e AB |
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% | |
e3d5bea9 | 104 | \number \year} |
f73e4e5e AB |
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}] | |
e3d5bea9 AB |
124 | \item Experience in building software for diverse areas and platforms |
125 | in various programming languages such as C, Python, and Haskell. | |
f73e4e5e AB |
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 | ||
e3d5bea9 AB |
156 | \subsection*{Savoir-faire Linux} |
157 | \begin{itemize} | |
158 | \item | |
159 | \begin{description}[font=\mdseries] | |
160 | \item[fall 2020--present] Free Software Consultant | |
161 | ||
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 | |
170 | between the two. | |
171 | \end{description} | |
172 | \end{itemize} | |
173 | ||
f73e4e5e AB |
174 | \subsection*{Free Software Foundation (FSF)} |
175 | \begin{itemize} | |
176 | \item | |
177 | \begin{description}[font=\mdseries] | |
178 | \item[spring 2020] Tech team intern | |
179 | ||
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}. | |
185 | \end{description} | |
186 | \end{itemize} | |
187 | ||
188 | \subsection*{Cheriton School of Computer Science, University of Waterloo} | |
189 | \begin{itemize} | |
190 | \item \textit{TA}: Teaching Assistant, marking exams and assignments. | |
191 | \textit{IA}: Instructional Apprentice, holding tutorials and marking | |
192 | \item | |
193 | \begin{description}[font=\mdseries] | |
194 | \item[SE 465 (Software Testing and Quality Assurance)] \textit{TA} | |
195 | in winter 2020. | |
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. | |
202 | \end{description} | |
203 | \end{itemize} | |
204 | ||
205 | \subsection*{Dept. of Electrical Engineering \& Computer Science, York University} | |
206 | \begin{itemize} | |
207 | \item | |
208 | \begin{description}[font=\mdseries] | |
209 | \item[EECS 1012 (Net-Centric Introduction to Computing)] TA in fall | |
210 | 2017. | |
211 | \end{description} | |
212 | \end{itemize} | |
213 | ||
214 | \subsection*{Software Engineering Lab, York University} | |
215 | \begin{itemize} | |
216 | \item | |
217 | \begin{description}[font=\mdseries] | |
218 | \item[summer 2017] Research Assistant | |
219 | ||
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 | |
227 | ||
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. | |
238 | ||
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 | |
242 | subtyping. | |
243 | \end{description} | |
244 | \end{itemize} | |
245 | ||
246 | \subsection*{Lotek Wireless Inc.} | |
247 | \begin{itemize} | |
248 | \item | |
249 | \begin{description}[font=\mdseries] | |
250 | \item[summer 2016] Software Developer | |
251 | ||
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 | |
256 | ||
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 | |
261 | products. | |
262 | \end{description} | |
263 | \end{itemize} | |
264 | ||
265 | \subsection*{Athlete Builder} | |
266 | \begin{itemize} | |
267 | \item | |
268 | \begin{description}[font=\mdseries] | |
269 | \item[2013--2014] Software Developer | |
270 | ||
271 | Developed the Backend of Athlete Builder platform in C\# and MVC. | |
272 | ||
273 | Key role in development of the platform core. | |
274 | ||
275 | Developed the alpha version of Athlete Builder Android application | |
276 | in Java. | |
277 | \end{description} | |
278 | \end{itemize} | |
279 | ||
280 | \section*{Skills} | |
281 | ||
282 | \begin{itemize} | |
e3d5bea9 AB |
283 | \item \textit{Programming Languages:} C, C++, Haskell, Emacs Lisp, |
284 | Guile Scheme, Python, Eiffel, Bash, C\#, Java, JavaScript. | |
f73e4e5e AB |
285 | \item \textit{Tools:} GNU Emacs, Git, Alloy, \tla, ProB, \LaTeX, |
286 | continuous integration systems. | |
287 | \item \textit{Platforms:} GNU/Linux distributions, including Trisquel, | |
288 | GNU Guix, Debian. | |
289 | \item \textit{Languages:} Persian (mother tongue), English (fluent), French | |
290 | (beginner). | |
291 | \end{itemize} | |
292 | ||
293 | \section*{Community Service} | |
294 | ||
295 | \subsection*{EmacsConf Conference} | |
296 | ||
297 | \begin{itemize} | |
298 | \item | |
299 | \begin{description}[font=\mdseries] | |
300 | \item[\href{https://emacsconf.org}{2019--present}] Chief organizer | |
301 | and maintainer of conference infrastructure, including the | |
302 | streaming servers. | |
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. | |
306 | \end{description} | |
307 | \end{itemize} | |
308 | ||
309 | \subsection*{Computer Science Club (CSC) of the University of Waterloo} | |
310 | ||
311 | \begin{itemize} | |
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. | |
316 | ||
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 | |
321 | members. | |
322 | \end{itemize} | |
323 | ||
324 | \subsection*{Free/Libre Software Contributions} | |
325 | ||
326 | \begin{itemize} | |
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. | |
331 | \item Maintainer of | |
332 | \href{https://www.gnu.org/software/emacs/erc.html}{ERC}, the | |
333 | powerful, modular, and extensible IRC client distributed with | |
334 | GNU~Emacs. | |
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}. | |
338 | \item | |
339 | \href{https://www.gnu.org/people/webmeisters.html#bandali}{GNU~webmaster} | |
340 | and | |
341 | \href{https://savannah.gnu.org/maintenance/SavannahHacker/}{GNU~Savannah | |
342 | hacker}. | |
343 | \end{itemize} | |
344 | ||
345 | \subsection*{Volunteer Work} | |
346 | ||
347 | \begin{itemize} | |
348 | \item | |
349 | \begin{description}[font=\mdseries] | |
350 | \item[spring 2013] Application Developer for VONICAL Inc. | |
351 | ||
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. | |
355 | \end{description} | |
356 | \item | |
357 | \begin{description}[font=\mdseries] | |
358 | \item[winter 2013] Mobile \& Web Developer for Hire Works Inc. | |
359 | ||
360 | Worked on a variety of web and mobile development projects for | |
361 | Hire Works. | |
362 | \end{description} | |
363 | \item | |
364 | \begin{description}[font=\mdseries] | |
365 | \item[summer 2012] Web Developer for St.~Brigid's Summer Camp | |
366 | ||
367 | Redesigned and revamped the codebase for the photo gallery section | |
368 | of the camp's website in PHP and JavaScript. | |
369 | \end{description} | |
370 | \end{itemize} | |
371 | ||
372 | %% TODO? \section*{Recent Projects} | |
373 | ||
374 | %% \section*{Achievements} | |
375 | ||
376 | %% \begin{itemize} | |
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. | |
386 | %% \end{itemize} | |
387 | ||
388 | %% \section*{Research Interests} | |
389 | ||
390 | %% \begin{itemize} | |
391 | %% \item Formal Logic, Model Checking, Theorem Proving, Verification | |
392 | %% \end{itemize} | |
393 | ||
394 | \end{document} |