-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcv-bs.tex
228 lines (197 loc) · 11.6 KB
/
cv-bs.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
\documentclass[a4paper]{article}
\usepackage{fullpage}
\usepackage{amsmath}
\usepackage{varwidth}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\textheight=10in
\pagestyle{empty}
\raggedright
\usepackage[left=0.8in,right=0.8in,bottom=0.8in,top=0.8in]{geometry}
\usepackage[hidelinks]{hyperref}
\usepackage{scrextend}
\usepackage{enumitem}
\usepackage{tabularx}
\hypersetup{
colorlinks=false,
}
\urlstyle{same}
\def\bull{\vrule height 0.8ex width .7ex depth -.1ex }
% DEFINITIONS FOR RESUME %%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\area} [2] {
\vspace*{-9pt}
\begin{verse}
\textbf{#1} #2
\end{verse}
}
\newcommand{\lineunder} {
\vspace*{-8pt} \\
\hspace*{-18pt} \hrulefill \\
}
\newcommand{\header} [1] {
{\hspace*{-18pt}\vspace*{6pt} \textsc{#1}}
\vspace*{-6pt} \lineunder
}
\newcommand{\employer} [4] {
\textbf{#1} \hfill {#3} \\
\textit{#2} \hfill {#4} \\
\vspace{0mm}
}
\newcommand{\education} [5] {
\textbf{#1} \hfill {#4} \\ {#5} \\ \vspace{1mm}
\begin{tabularx}{\textwidth}{@{}p{3cm} X@{}}
\textbf{Degree:} & {#2} \\
\textbf{Qualification:} & {#3} \\
\end{tabularx}
\vspace{2mm}
}
\newcommand{\project} [4] {
\textbf{#1} \hfill {#4} \\ \vspace{1mm}
\begin{addmargin}[0em]{1em}
\begin{tabularx}{\textwidth}{@{}p{3cm} X@{}}
\textbf{Tools:} & {#2} \\
\textbf{Description:} & {#3} \\
\end{tabularx}
\end{addmargin}
\vspace{2mm}
}
\def\email{[email protected]}
\def\phone{555-55-55}
% END RESUME DEFINITIONS %%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\vspace*{-40pt}
%==== Profile ====%
\vspace*{-10pt}
\begin{center}
\Huge \scshape {Denis O. Vodopianov} \\ \vspace{1mm}
\end{center}
\begin{center}
Berlin, Germany $\cdot$
\href{mailto:\email}{\email} $\cdot$
% \href{tel:\phone}{\phone} $\cdot$
\url{https://github.com/grambbledook}\\
\end{center}
\header{About}
\begin{raggedright}
Software engineer with a decade of experience specializing in distributed systems, with a focus on scalability, reliability, and performance.
I have experience moving from monoliths to microservices to scale a business and back to microliths
to optimize cost and performance. \break
I enjoy solving various system problems as well as low-level algorithmic challenges.
My key strengths include analytical thinking, empathy, a strong bias for action, ownership, and a focus on customer needs. \\
\end{raggedright}
\vspace{2mm}
\header{Skills}
\begin{tabularx}{\textwidth}{p{5cm} X}
Programming Languages: & Kotlin, Java, Scala, Python, Go, Typescript \\
Web Frameworks: & Spring Boot, Vert.x, Netty, Play, Express.js \\
DevOps: & Docker, Kubernetes, Terraform, Ansible, Jenkins, Gitlab CI/CD, Argo CD, Datadog, ELK stack, Grafana, Prometheus \\
Databases: & Postgres, Mongo, DynamoDB, Cassandra, Redis \\
Networking: & TCP/IP, HTTPS, WebSockets \\
Big Data: & Hadoop, Hive, Pig, Hbase, Clickhouse, Storm, Spark, Airflow \\
\end{tabularx}
\vspace{2mm}
%==== Experience ====%
\header{Work Experience}
\vspace{1mm}
\employer{Trade Republic Bank}{Senior Software Engineer}{October 2023 - April 2024}{Berlin, Germany}
\begin{itemize}[itemsep=-1mm]
\item Was in charge of the system responsible for user accounts and balances, focusing on correctness, low latency, and high availability.
\item Joined the task force team, resolved several integration issues, and delivered a system required to launch the Cards product within the projected timeframe.
\item Identified hotspots and reduced the 95th percentile response latency from 20 ms to 5 ms.
\item Delivered a reconciliation system processing 150 million transactions daily to ensure data consistency across different banking systems.
\end{itemize}
\employer{Picsart}{Senior Software Engineer II (Lead developer)}{January 2022 - March 2023}{Berlin, Germany}
\begin{itemize}[itemsep=-1mm]
\item The team had full ownership of the user tracking component in the analytics platform, processing billions
of events per day and reaching 200k eps at peak load.
\item Optimized the event ingestion component, reducing fleet size by 40\% and freeing up resources for new projects.
\item Implemented an edge component with pluggable authentication and back-pressure mechanisms for the analytics platform
using an Envoy-based API gateway; implemented HMAC-based authentication for SDK clients.
\item Reduced mean deployment time by 10x and halved change failure rates
by moving backend services to trunk-based development and implementing common, reusable CI/CD pipelines with
continuous or on-demand live deployment.
\item Implemented various safety nets, including quality gates, comprehensive automated tests,
feature flags, and alerts on SLOs to effectively identify and resolve deployment issues while moving fast.
\item Mentored software engineers, fostering their growth and creating strong commitment to ownership,
improved code quality, and reduced technical debt.
\item Conducted several trials to replace costly third-party customer engagement services
and worked with the ML team to demonstrate that the company could achieve the same results with its own components,
saving hundreds of thousands of dollars per year.
\end{itemize}
\employer{N26 GmbH}{Senior Software Engineer, Acting Tech Lead}{March 2020 - January 2022}{Berlin, Germany}
\begin{itemize}[itemsep=-1mm]
\item The team had full ownership of the identity platform with a strong focus on security, scalability, reliability, and compliance.
\item Implemented strong customer authentication to achieve full compliance with PSD2.
\item Designed and implemented several foundational authentication mechanisms for product teams to use across various N26 products.
\item Automated access recovery processes for non-German customers, improving overall user experience and reducing operational costs.
\item Actively participated in on-call rotations and incident response, addressing critical issues and minimizing downtime.
\item Worked closely with product and ML teams on in-house R\&D projects, creating a roadmap that
incorporated valuable insights to enhance the security of the identity platform.
\end{itemize}
\employer{Freelance, Contractor}{Lead Software Engineer at Plutus.ai}{November 2018 - February 2020}{Saint–Petersburg, Russia}
\begin{itemize}[itemsep=-1mm]
\item Led a team of 5 engineers to deliver a casual crypto portfolio with near real-time market data, daily challenges, and social elements.
\item Quickly identified and resolved system scalability issues to meet the demands of a growing client base, ensuring the system could handle increased workloads and support future growth.
\item Delivered a strategic initiative to enhance internal gamification mechanics by providing near real-time dashboards, leaderboards,
and daily challenges.
\item Successfully developed a framework for fast and hassle-free integration with exchanges and news feed partners.
Reduced integration time and effort and enabling the organization to rapidly expand its network of partners and market coverage.
\end{itemize}
% \employer{Nexign Systems}{Lead Software Engineer}{August 2017 - September 2018}{Saint–Petersburg, Russia}
% \begin{itemize}[itemsep=-1mm]
% \item Led the development and testing processes in a team of 7 engineers, ensured seamless execution
% and delivery of software updates, minimising downtime and service disruptions.
% \item Worked closely with the product team to execute a successful legacy PRM system refresh aiming cloud deployment and
% improving its efficiency and protecting it against evolving industry demands.
% \item Design a standard load testing framework that provided crucial insights for optimising system
% performance and ensuring its ability to handle increasing loads at peak usage periods.
% \end{itemize}
%
% \employer{Contractor, multiple clients}{Senior Software/Data Engineer}{June 2014 - August 2017}{Saint–Petersburg, Russia}
% \begin{itemize}[itemsep=-1mm]
% \item Developed a trusted relationship with senior leadership at a client specialising in the analysis of digital advertising
% placements, fostered a strong partnership that resulted in improved collaboration, alignment of goals, and enhanced client
% satisfaction
% \item Designed and delivered a system for controlled testing and release of statistical and ML models. The system significantly
% reduced mean deployment time and risks associated with model deployment and provided valuable insights for enhancing
% models performance and accuracy.
% \end{itemize}
%
% \employer{Oracle}{Software Developer in Test, Java JDK}{November 2012 - June 2014}{Saint-Petersburg, Russia}
% \begin{itemize}[itemsep=-1mm]
% \item Designing comprehensive tests for multiple features including potential and real security vulnerabilities.
% \item Improved stability and performance of the testing framework, enhancing overall productivity and reliability
% in the testing process.
% \item Led Nightly build report analysis, implemented a number of system enhancements, that helped to automate report
% generation, resulting in improved efficiency and accuracy in bug triaging and resolution
% \end{itemize}
\employer{Multiple companies}{(Senior) Software Engineer}{May 2012 - November 2018}{Saint-Petersburg, Russia}
\begin{itemize}[itemsep=-1mm]
\item Started career at a small ad startup, implemented several statistical models to improve CTR for ad campaigns.
\item Joined the Java Test division at Oracle and helped release Java 8 and multiple Java 6/7 versions.
\item Successfully delivered product features in various projects in ad tech, telecom, and fintech fields.
\end{itemize}
%==== Education ====%
\header{Education}
\education{ITMO University}
{Master’s degree in Optical Electronic Devices and Systems with specialisation in Optical-Electronic Devices and Systems for Video Information Processing}
{Engineer}
{Saint–Petersburg, Russia}
{September 2004 - February 2010}
%==== Notable Projects ====%
\header{Projects}
\project{\textbf Indoor cycling HUD}
{C++, Bluetooth Low Energy, QT, sqlite, CMake, vcpkg}
{An overlay app that aggregates data coming from BLE devices and renders workout statistics on the heads up display}
{https://github.com/grambbledook/indoor-cycling-hud}
%
% \project{Identity platform for a challenger bank}
% {Kotlin, Java, AWS, Terraform, Kubernetes, Redis, Kafka, Go.}
% {Highly scalable and resilient system capable of handling millions of authentication and authorization requests per day}
% {2020-2022}
%
% \project{ML deployment platform}
% {Python, Scala, Java, Airflow, Hive, Spark, Hbase, Kafka, Parquet, Avro and a dozen of glue tools}
% {Platform for statistical and ML models production deployment with support of AB testing and model versioning}
% {2015-2017}
\end{document}