-
Notifications
You must be signed in to change notification settings - Fork 3
/
main.tex
267 lines (219 loc) · 10 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
%
% LaTeX source of my resume
% =========================
%
% Heavily commented to to fit even LaTeX beginners (hopefully).
%
% See the `README.md` file for more info.
%
% This file is licensed under the CC-NC-ND Creative Commons license.
%
% Start a document with the here given default font size and paper size.
\documentclass[10pt,a4paper]{article}
% Set the page margins.
\usepackage[a4paper,margin=0.75in]{geometry}
% Setup the language.
\usepackage[english]{babel}
\hyphenation{Some-long-word}
% Makes resume-specific commands available.
\usepackage{resume}
\usepackage{tipa}
\usepackage{upquote}
\usepackage{chronosys}
\usepackage{fontawesome5}
\usepackage{amssymb}
\usepackage{multicol}
\newcommand{\colorsquare}[1]{\textcolor{#1}{$\blacksquare$}}
\newcommand{\tbullet}{$\bullet$~}
% colors
\definecolor{amethyst}{rgb}{0.6, 0.4, 0.8} % sut
\definecolor{bazaar}{rgb}{0.6, 0.47, 0.48} % bazaar
\definecolor{brickred}{rgb}{0.8, 0.25, 0.33} % sbu
\definecolor{camouflagegreen}{rgb}{0.47, 0.53, 0.42} % mitrc
\definecolor{carolinablue}{rgb}{0.6, 0.73, 0.89} % uni freiburg
\definecolor{frenchblue}{rgb}{0.0, 0.45, 0.73} % apptec
\begin{document} % begin the content of the document
\sloppy % this to relax whitespacing in favour of straight margins
% title on top of the document
\maintitle{Mohammad-Ali ~A\textquotesingle{}R\^ABI%
% \footnote{Officially (and ambiguously):\ Mohammad Ali ~ARABI. Lastname:\ A'R\^ABI \textipa{[æPr6:bi]} means nomad.}
}{Software Engineer + SRE}{Last update on \today~(v2.5.0)}
\nobreakvspace{0.3em} % add some page break averse vertical spacing
% \noindent prevents paragraph's first lines from indenting
% \mbox is used to obfuscate the email address
% \sbull is a spaced bullet
% \href well..
% \\ breaks the line into a new paragraph
\noindent\href{mailto:aerabi.at.gmx.dot.de}{aerabi\mbox{}@\mbox{}gmx.de}\sbull
\textsmaller{+}49 176 3569 1988\sbull
% \textsmaller{+}31 6 301 59 402\sbull
% \href{http://aerabi.com}{aerabi.com}\sbull
\href{https://github.com/aerabi}{github.com/aerabi} \sbull
\href{http://www.linkedin.com/in/aerabi}{linkedin.com/in/aerabi} \sbull
\href{https://aerabi.medium.com}{aerabi.medium.com}
% \href{https://orcid.org/0000-0001-7088-417X}{\textsc{orc}i\textsc{d} 0000-0001-7088-417X} \\
% {\newnums angellandros} \emph{(Skype)}\sbull
% Schildackerweg 8 \sbull
% 79115\thinspace\ {\sc Freiburg im Breisgau}\sbull
% Baden-W\"urttemberg\sbull
% {\sc Germany}
\spacedhrule{0.9em}{-0.4em} % a horizontal line with some vertical spacing before and after
\roottitle{Timeline}
\startchronology[startyear=2013,startdate=false,stopdate=false,stopyear=2024]
\chronoperiode[color=camouflagegreen]{2013}{2015}{MITRC}
\chronoperiode[color=bazaar]{2015}{2016}{CafeBazaar}
\chronoperiode[color=carolinablue]{2016}{2018}{Uni Freiburg}
\chronoperiode[color=red]{2018}{2019}{Picnic}
\chronoperiode[color=frenchblue]{2019}{2022}{AppTec}
\chronoperiode[color=orange]{2022}{2024}{Jodel}
\stopchronology
% \startchronology[startyear=2009,startdate=false,stopdate=false,stopyear=2022]
% \chronoperiode[color=brickred]{2009}{2013}{BSc in Math}
% \chronoperiode[color=amethyst]{2013}{2015}{MSc in Logic}
% \chronoperiode[color=carolinablue]{2016}{2021}{MSc in CS}
% \stopchronology
\spacedhrule{-0.5em}{1em}
\roottitle{Summary}
\begin{itemize}
\item More than \textbf{10} years of professional experience:
\colorsquare{orange} 1.5y +
\colorsquare{frenchblue} 3y +
\colorsquare{red} 1y +
\colorsquare{carolinablue} 2y $\times \frac{1}{2}$ +
\colorsquare{bazaar} 1.5y +
\colorsquare{camouflagegreen} 2y \\
using various languages: Python (\colorsquare{orange}\colorsquare{frenchblue}\colorsquare{carolinablue}\colorsquare{bazaar}), TypeScript (\colorsquare{orange}\colorsquare{frenchblue}), Java (\colorsquare{red}\colorsquare{camouflagegreen}), Go, JavaScript, Coq, etc.
\item Docker Captain and Community Leader, Snyk Ambassador, conference speaker, and content creator.
% \item Life-long-learner. Automation-freak. Dockerizer. Challenge-hungry. Optimizer. Futurist.
\end{itemize}
\spacedhrule{-0.2em}{-0.4em}
\roottitle{Professional Experience}
\headedsection
{\href{https://jodel.com/}{\colorsquare{orange} Jodel}}
{\textsc{Berlin, Germany}} {%
\headedsubsection
{Senior Software Engineer $\otimes$ SRE}
{Jul \apo22 -- Feb \apo24}
{\bodytext{%
\begin{tabular}{p{0.45\textwidth}l}
\tbullet Develop features on the Node.js backend & \tbullet Migrate Kubernetes services to AWS \\
\tbullet Creat Helm charts \& GitHub Actions pipelines & \tbullet Take on-call duty once a month
\end{tabular} \\
\textbf{\#TypeScript \#Python \#Kubernetes \#Terraform \#AWS \#MongoDB \#Postgres \#Redis \#Elastic \#Helm}}}
}
\headedsection
{\href{https://www.apptec360.com/}{\colorsquare{frenchblue} AppTec Services GmbH}}
{\textsc{Freiburg, Germany}} {%
\headedsubsection
{Software Engineer $\mapsto$ Engineering Manager}
{Mar \apo18 -- Jun \apo18 and Aug \apo19 -- Jul \apo22}
{\bodytext{%
\begin{tabular}{p{0.45\textwidth}l}
\tbullet Introduce \href{https://en.wikipedia.org/wiki/MEAN_(solution_stack)}{MEAN stack} to replace PHP & \tbullet Introduce git, forge 40+ CI jobs across 5 projects \\
\tbullet Introduce TDD, DDD, CI, pair programming & \tbullet Improve the product's architecture \\
\tbullet Create +720 test cases to cover 94.14\% of code &
\tbullet Manage a small team of 3, lead a bigger one
\end{tabular} \\
\textbf{\#MongoDB \#Express.js \#Angular \#Node.js \#TypeScript \#Python \#Mongoose \#Docker \#MariaDB}}}
}
\headedsection
{\href{https://picnic.app/}{\colorsquare{red} Picnic International BV}}
{\textsc{Amsterdam, Netherlands}} {%
\headedsubsection
{Software Developer}
{Jun \apo18 -- Jul \apo19}
{\bodytext{%
\begin{tabular}{p{0.45\textwidth}l}
\tbullet Implement new features on the core code &
\tbullet Review all the candidates' assignments
\end{tabular} \\
\tbullet Reduced hiring process time by weeks by implementing an automated appointment notifier \\
\textbf{\#MongoDB \#RabbitMQ \#PostgreSQL \#jOOQ \#Docker \#Java \#SpringBoot \#RxJava \#Swagger \#Jira}}}
}
\headedsection % sets the header for a subsection and contains usually body text
{\href{https://en.wikipedia.org/wiki/Cafe_Bazaar}{\colorsquare{bazaar} Cafe Bazaar} (aka Hezârdastân)}
{\textsc{Tehran, Iran}} {%
\headedsubsection
{Software Developer}
{Aug \apo15 -- Sep \apo16}
{\bodytext{%
\begin{tabular}{p{0.45\textwidth}l}
\tbullet Develop features on \href{https://en.wikipedia.org/wiki/Divar_(website)}{Divar} (30m users) &
\tbullet Co-create Search Team:~setup CI, monitoring, etc. \\
\tbullet Organize Hackathons, Tech-Talks, P2P courses &
\tbullet Create technical educational onboarding videos
\end{tabular} \\
\tbullet Save HR team weeks of manual labor by automating the 360$^{\circ}$ feedback and contract generation \\
\textbf{\#Django \#PostgreSQL \#ElasticSearch \#Sentry \#Docker \#GitLab-CI \#Python \#Scala \#Trello \#Scrum} \\
}}
}
\vspace{-1em}
\headedsection
{\colorsquare{camouflagegreen} Mobin IT Research Center}
{\textsc{Tehran, Iran}} {%
\headedsubsection
{Java Developer (60\%)}
{Sep \apo13 -- Sep \apo15}
{\bodytext{Creat a distributed platform based on Apache Storm and Hadoop for real-time machine learning. Integrate the work of data scientists into the platform. \textbf{\#ZooKeeper \#PostgreSQL \#Lucene \#Java}}}
}
\vspace{-0.2em}
\begin{center}
\emph{\small Please refer to my \href{http://www.linkedin.com/in/aerabi}{LinkedIn profile} for a more complete list of work experiences along with recommendations and certificates.}
\end{center}
\spacedhrule{-0.2em}{-0.4em}
\roottitle{Education}
\headedsection
{\href{http://www.uni-freiburg.de/}{\colorsquare{carolinablue} Albert-Ludwigs-Universität Freiburg}}
{\textsc{Freiburg im Breisgau, Germany}} {%
\headedsubsection
{MSc in Computer Science (Informatik)}
{2016 -- 2021}
{%
% \bodytext{Thesis: A Basis for Event-Driven Programming.}
}
}
\headedsection
{\href{http://www.en.sharif.edu/}{\colorsquare{amethyst} Sharif University of Technology}}
{\textsc{Tehran, Iran}} {%
\headedsubsection
{MSc in Pure Mathematics / Logic \textnormal{\textit{~(discontinued)}}}
{2013 -- 2015}
{%
% \bodytext{Thesis: Categorial Grammar with Applications in Machine Translation.}
}
}
\headedsection
{\href{http://en.sbu.ac.ir/}{\colorsquare{brickred} Shahid Beheshti University}}
{\textsc{Tehran, Iran}} {%
\headedsubsection
{BSc in Pure Mathematics}
{2009 -- 2013}
{
% \bodytext{Thesis: Distance Transform with Applications (in the fields of Digital Geometry).\\
% Two medals (bronze and silver) in National Collegiate Mathematics Competition (2011 and 2013), 5th team rank, and admission to International Mathematics Competition for University Students 2013.}
}
}
% \headedsection
% {\href{https://en.wikipedia.org/wiki/National_Organization_for_Development_of_Exceptional_Talents}{National Organization for Development of Exceptional Talents}}
% {\textsc{Karaj, Iran}} {%
% \headedsubsection
% {High-School Diploma \& Pre-University Degree in Mathematics and Physics}
% {2002 -- 2009} {}
% }
\spacedhrule{0.5em}{-0.4em}
\roottitle{Languages}
% \inlineheadsection % special section that has an inline header with a 'hanging' paragraph
% {Programming languages:}
% {Python \emph{(mother tongue)}, TypeScript, Java, Go, Scala, Coq, C++, JavaScript.}
\vspace{0.5em}
\inlineheadsection
{Natural languages:}
{Persian \emph{(mother tongue)}, English \emph{(C1--C2)}, German \emph{(B1)}, Dutch \emph{(A1--A2)}.
% Lived in \textsc{Germany}, \textsc{Netherlands}, \textsc{Switzerland}, and \textsc{Iran}. Can read: Cyrillic, Hebrew, Greek, and Book Pahlavi.
}
% \vspace{0.5em}
% \inlineheadsection
% {Other skills:}
% {Create the most boring CV.~~Squash commits. Force push to master. Explain family relations between Mortal Kombat characters. Swear in Huttese. Watch Watchmen Ultimate Cut in one sitting.}
\end{document}