-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdusan-haustein-cv-eng.tex
More file actions
380 lines (313 loc) · 14.4 KB
/
Copy pathdusan-haustein-cv-eng.tex
File metadata and controls
380 lines (313 loc) · 14.4 KB
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
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
\documentclass[10pt, a4paper]{article}
% Packages:
\usepackage[
ignoreheadfoot, % set margins without considering header and footer
top=2 cm, % seperation between body and page edge from the top
bottom=2 cm, % seperation between body and page edge from the bottom
left=2 cm, % seperation between body and page edge from the left
right=2 cm, % seperation between body and page edge from the right
footskip=1.0 cm, % seperation between body and footer
% showframe % for debugging
]{geometry} % for adjusting page geometry
\usepackage{titlesec} % for customizing section titles
\usepackage{tabularx} % for making tables with fixed width columns
\usepackage{array} % tabularx requires this
\usepackage[dvipsnames]{xcolor} % for coloring text
\definecolor{primaryColor}{RGB}{0, 0, 0} % define primary color
\definecolor{linkColor}{RGB}{0, 51, 180} % define dark blue color for links
\usepackage{enumitem} % for customizing lists
\usepackage{fontawesome5} % for using icons
\usepackage{amsmath} % for math
\usepackage[
pdftitle={Dusan Haustein's CV},
pdfauthor={Dusan Haustein},
pdfcreator={LaTeX},
colorlinks=true,
urlcolor=linkColor
]{hyperref} % for links, metadata and bookmarks
\usepackage[pscoord]{eso-pic} % for floating text on the page
\usepackage{calc} % for calculating lengths
\usepackage{bookmark} % for bookmarks
\usepackage{lastpage} % for getting the total number of pages
\usepackage{changepage} % for one column entries (adjustwidth environment)
\usepackage{paracol} % for two and three column entries
\usepackage{ifthen} % for conditional statements
\usepackage{needspace} % for avoiding page brake right after the section title
\usepackage{iftex} % check if engine is pdflatex, xetex or luatex
\usepackage{ragged2e} % for justifying text
% Ensure that generate pdf is machine readable/ATS parsable:
\ifPDFTeX
\input{glyphtounicode}
\pdfgentounicode=1
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\fi
\usepackage{charter}
% Some settings:
\raggedright
\AtBeginEnvironment{adjustwidth}{\partopsep0pt} % remove space before adjustwidth environment
\pagestyle{empty} % no header or footer
\setcounter{secnumdepth}{0} % no section numbering
\setlength{\parindent}{0pt} % no indentation
\setlength{\topskip}{0pt} % no top skip
\setlength{\columnsep}{0.15cm} % set column seperation
\pagenumbering{gobble} % no page numbering
\titleformat{\section}{\needspace{4\baselineskip}\bfseries\large}{}{0pt}{}[\vspace{1pt}\titlerule]
\titlespacing{\section}{
% left space:
-1pt
}{
% top space:
0.3 cm
}{
% bottom space:
0.2 cm
} % section title spacing
\renewcommand\labelitemi{$\vcenter{\hbox{\small$\bullet$}}$} % custom bullet points
\newenvironment{highlights}{
\begin{itemize}[
topsep=0.05 cm,
parsep=0.05 cm,
partopsep=0pt,
itemsep=0pt,
leftmargin=0 cm + 10pt
]
}{
\end{itemize}
} % new environment for highlights
\newenvironment{highlightsforbulletentries}{
\begin{itemize}[
topsep=0.10 cm,
parsep=0.10 cm,
partopsep=0pt,
itemsep=0pt,
leftmargin=10pt
]
}{
\end{itemize}
} % new environment for highlights for bullet entries
\newenvironment{onecolentry}{
\begin{adjustwidth}{
0 cm + 0.00001 cm
}{
0 cm + 0.00001 cm
}
}{
\end{adjustwidth}
} % new environment for one column entries
\newenvironment{twocolentry}[2][]{
\onecolentry
\def\secondColumn{#2}
\setcolumnwidth{\fill, 4.5 cm}
\begin{paracol}{2}
}{
\switchcolumn \raggedleft \secondColumn
\end{paracol}
\endonecolentry
} % new environment for two column entries
\newenvironment{threecolentry}[3][]{
\onecolentry
\def\thirdColumn{#3}
\setcolumnwidth{, \fill, 4.5 cm}
\begin{paracol}{3}
{\raggedright #2} \switchcolumn
}{
\switchcolumn \raggedleft \thirdColumn
\end{paracol}
\endonecolentry
} % new environment for three column entries
\newenvironment{header}{
\setlength{\topsep}{0pt}\par\kern\topsep\centering\linespread{1.5}
}{
\par\kern\topsep
} % new environment for the header
\newcommand{\placelastupdatedtext}{% \placetextbox{<horizontal pos>}{<vertical pos>}{<stuff>}
\AddToShipoutPictureFG*{% Add <stuff> to current page foreground
\put(
\LenToUnit{\paperwidth-2 cm-0 cm+0.05cm},
\LenToUnit{\paperheight-1.0 cm}
){\vtop{{\null}\makebox[0pt][c]{
\small\color{gray}\textit{Last updated in January 2026}\hspace{\widthof{Last updated in January 2026}}
}}}%
}%
}%
% save the original href command in a new command:
\let\hrefWithoutArrow\href
% new command for external links:
\newcommand{\AND}{$|$}
\newsavebox\ANDbox
\sbox\ANDbox{$|$}
\begin{document}
\begin{header}
\fontsize{25 pt}{25 pt}\selectfont Dusan Haustein
\vspace{5 pt}
\normalsize
\mbox{Czech Republic}%
\kern 5.0 pt%
% \AND%
% \kern 5.0 pt%
\mbox{\hrefWithoutArrow{https://www.linkedin.com/in/dusanhaustein/}{linkedin.com/in/dusanhaustein/}}
\hspace{35.0 pt}%
\mbox{\hrefWithoutArrow{https://github.com/dhaustein}{github.com/dhaustein}}%
\kern 5.0 pt%
\end{header}
\vspace{5 pt - 0.3 cm}
\section{Summary}
\begin{onecolentry}
\justifying\hyphenpenalty=10\parindent=0pt
Software QA lead with 10 years of experience designing and delivering scalable, future-proof QA automation and testing processes.
I specialize in QA team mentoring and leadership, test automation framework design, CI/CD implementation, and test strategy development.
I have led distributed agile teams and worked on everything from greenfield startup projects to large enterprise platforms.
\par\vspace{\baselineskip}
I bring expertise in cloud technologies, proficiency with containerization and Kubernetes, and hands-on experience leading remote teams of engineers.
I've contributed automated testing suites for data intelligence systems, Red Hat Ansible, or embedded systems.
\par\vspace{\baselineskip}
For more details and references, please see my LinkedIn profile (linked above).
\end{onecolentry}
\vspace{0.2 cm}
%There are 7 unique entry types: \textit{BulletEntry}, \textit{TextEntry}, \textit{EducationEntry}, \textit{ExperienceEntry}, \textit{NormalEntry}, \textit{PublicationEntry}, and \textit{OneLineEntry}.
\section{Experience}
% Latest
\begin{twocolentry}{
\small\mbox{June 2025 - September 2025}
}
\textbf{Principal QA Engineer}, Northern.tech, Contract, Remote\end{twocolentry}
\vspace{0.10 cm}
\begin{onecolentry}
\begin{highlights}
\item Develop and maintain automated test strategies for a client's IoT device management platform using Python.
\item Create comprehensive test cases ensuring functionality, performance, scalability, and security of embedded software and SaaS components.
\item Build and maintain CI/CD pipelines using GitHub/GitLab CI, Docker, and Kubernetes.
\item Work with containerized environments and orchestration tools to support testing of distributed IoT systems.
\item Contribute to continuous improvement of testing processes, methodologies, and software release workflows.
\item Enable developers to run tests more efficiently through improved tooling and well-documented testing infrastructure.
\item Tech stack: Python, pytest, Docker, Kubernetes, GitHub CI, GitLab CI, Linux, Go, C/C++
\end{highlights}
\end{onecolentry}
\vspace{0.5 cm}
% Red Hat
\begin{twocolentry}{
\small\mbox{November 2023 - May 2025}
}
\textbf{Senior Software Quality Engineer}, Red Hat, Full-time, Remote\end{twocolentry}
\vspace{0.10 cm}
\begin{onecolentry}
\begin{highlights}
\item Worked on the test automation suite and CI/CD pipeline for the Event-driven component of Ansible Automation Platform.
\item Helped implement a platform-wide test suite for use by other engineers.
\item Collaborated with the development team and business unit on expanding test coverage for new features.
\item Led the testing effort for various features released as part of the Ansible platform, such as RBAC.
\item Tech stack: Python, Ansible, OpenShift/Kubernetes, Linux, Jenkins, Podman
\end{highlights}
\end{onecolentry}
\vspace{0.5 cm}
% Manta
\begin{twocolentry}{
\small\mbox{January 2023 - October 2023}
}
\textbf{Test Automation Lead}, MANTA, Full-time, Hybrid\end{twocolentry}
\vspace{0.10 cm}
\begin{onecolentry}
\begin{highlights}
\item Led a distributed agile team of test automation engineers responsible for implementing and maintaining an in-house automated testing framework built on top of Robot Framework and Python \& pytest.
\item Collaborated with other members of the engineering department to define and implement testing best practices and standards.
\item Worked with stakeholders to define and prioritize testing requirements for new features and releases, ensuring adequate testing and quality standards.
\item Assessed the automation needs of other development teams and identified areas where automation could be most beneficial.
\item Owned and maintained the testing Jenkins and Azure CI/CD pipelines.
\item Monitored the testing environment, analyzed test data, and reported on test results.
\end{highlights}
\end{onecolentry}
\vspace{0.5 cm}
% Manta
\begin{twocolentry}{
\small\mbox{October 2021 - January 2023}
}
\textbf{Senior Test Automation Engineer}, MANTA, Full-time, Hybrid\end{twocolentry}
\vspace{0.10 cm}
\begin{onecolentry}
\begin{highlights}
\item Created a greenfield test automation pipeline for the product using Robot Framework.
\item Analyzed and developed test automation strategy for a complex, multi-component enterprise product consisting of a React-based web application, Java back-end, REST APIs, and CLI components.
\item Designed automated test cases using Robot Framework and Python.
\item Executed functional, regression, performance, and acceptance automated tests as part of the CI cycle.
\item Automated security tests with OWASP ZAP.
\item Designed and maintained the testing component of the CI/CD pipeline.
\item Assisted in the migration of the application to the cloud.
\item Coordinated with the development and customer success teams, and other stakeholders to deliver the best possible test automation strategy.
\item Tech stack: Robot Framework, Jenkins CI, Python, Ansible, AWS EC2, Vagrant, Docker, jMeter, ZAP, k6
\end{highlights}
\end{onecolentry}
\vspace{0.5 cm}
% PeoplePath
\begin{twocolentry}{
\small\mbox{October 2020 - September 2021}
}
\textbf{Business Analyst}, PeoplePath, Full-time, Hybrid\end{twocolentry}
\vspace{0.10 cm}
\begin{onecolentry}
\begin{highlights}
\item Translated new business requirements into clearly defined, achievable tasks for the development team.
\item Managed and prioritized the project backlog and processed feedback from stakeholders.
\item Maintained the product's technical documentation and assisted the customer success team with configuration.
\item Drove future product development initiatives.
\end{highlights}
\end{onecolentry}
\vspace{0.5 cm}
% PeoplePath
\begin{twocolentry}{
\small\mbox{September 2016 - September 2020}
}
\textbf{QA Engineer}, PeoplePath, Full-time, On-site\end{twocolentry}
\vspace{0.10 cm}
\begin{onecolentry}
\begin{highlights}
\item Worked closely with product management and software analysts to understand business requirements and technical specifications.
\item Enhanced product quality by automating functional and regression tests.
\item Collaborated with the support team on production defects and provided root cause analysis.
\item Supported the development team with knowledge of the product's business logic.
\item Tech stack: Jenkins CI, Docker, PHP, Behat, Cucumber/Gherkin, Selenium, Python
\end{highlights}
\end{onecolentry}
\vspace{0.2 cm}
\section{Education}
% Master
\begin{twocolentry}{
\small2013 - 2015
}
\textbf{University of West Bohemia}, Master's degree, Cognitive sciences\end{twocolentry}
\vspace{0.10 cm}
% Bachelor
\begin{twocolentry}{
\small2009 - 2013
}
\textbf{University of West Bohemia}, Bachelor's degree, Linguistics\end{twocolentry}
\vspace{0.2 cm}
\section{Courses \& Certifications}
\begin{twocolentry}{
\small Jan 2025
}
\textbf{Various Django and Python development courses}, see \hrefWithoutArrow{https://www.linkedin.com/in/dusanhaustein/details/certifications/}{LinkedIn profile for details}
\end{twocolentry}
\vspace{0.10 cm}
\begin{twocolentry}{
\small 2019
}
\textbf{AST - Black Box Software Testing Foundations Certificate}
\end{twocolentry}
\vspace{0.10 cm}
\begin{twocolentry}{
\small2015
}
\textbf{Cambridge - Certificate of Proficiency in English (CPE) Level C2}
\end{twocolentry}
\vspace{0.2 cm}
\section{Technologies}
\begin{onecolentry}
\textbf{Languages:} Python, Bash, Groovy, PHP, TypeScript
\end{onecolentry}
\vspace{0.2 cm}
\begin{onecolentry}
\textbf{Technologies:} Ansible, Robot Framework, Selenium, Jenkins, Gitlab CI, Kubernetes, Docker, AWS, QEMU, Linux, jMeter, ZAP, k6
\end{onecolentry}
\end{document}