aboutsummaryrefslogblamecommitdiffstatshomepage
path: root/cv.tex
blob: 1284abf7af119eb69c398840b20b55d26f5b98f5 (plain) (tree)
1
2
3
4
5
6
7
8




                             
                        

                           


                     
                       

                                       

                                   
 

                                                   
 
       

                      
                     
 
        



                                                
      

                                                    
            



                         
       

                                   
                                                                     
                    
                                                                                          
 
            










                                                               
                           



                                                                 
                      


                                           


                                                          

                   
          

          












                                                      
                          
                                                        

                 

                      

                                                      
                                             



                                       
                                                                       
                                                                                                                                                                                         
                               
                                       




                   


                            
                                                                                                        

                              










                                                                                                      

                            
                                                                                               

                              




                                                                            



                                                               
                              


                            
                                                                                                              

                              




                                                                              
                          



                                                        

                                        


                                                                                                  

                              

                                                                              
                                                                             
                            

                                                                         
                                             
               
 
                          


                                                                
                                                                         
      
                                                      





                                                                                         
                                                                              

                                                                         

                                                                          
 
                          





                                                             





                                                                                                        

                                                                              
                                                                           
                                        
 
                          





                                                    
                                                

                            
 



                                        
 










                                                                                
 
             
 




                                         
                                        


                
                             
 

                                    
                                    
               
 
                                               
 




                                       







                                                              
                                     
                                                 
                              
                                                       
                                                                        


                                                                  


              
\documentclass[11pt]{article}

% Basic setup
\usepackage{cmap}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}

% \begin{comment}
\usepackage{verbatim}

% Sans serif by default
\renewcommand\familydefault{\sfdefault}

% Document margins
\usepackage[margin=2.5cm]{geometry}

% \includegraphics, used to include a picture of me
\usepackage{graphicx}

% Boxes
\usepackage{adjustbox}
\usepackage{calc}
\usepackage{tabularx}

% Colors
\usepackage[usenames,dvipsnames]{color}
\definecolor{CvRuleColor}{gray}{0.5}
\definecolor{CvWorkplaceHeaderColor}{gray}{0.97}

% URLs
\usepackage[colorlinks=true,urlcolor=blue]{hyperref}

% Paragraphs
\usepackage{parskip}
\setlength\parindent{0cm}
\setlength\parskip{0cm}

% Lists
\usepackage{enumitem} % [noitemsep]

% "C++", thanks to this guy: http://tex.stackexchange.com/a/4304/9088
\usepackage{relsize}
\newcommand\CXX{C\nolinebreak[4]\hspace{-.05em}\raisebox{.4ex}{\relsize{-3}{\textbf{++}}}}

% Whitespace
\newcommand\CvSmallSkipLength{0.5em}
\newcommand\CvBigSkipLength{1em}

\newcommand\CvSkip[1]{\vspace{#1}}

\newcommand\CvSmallSkip{\CvSkip{\CvSmallSkipLength}}
\newcommand\CvBigSkip{\CvSkip{\CvBigSkipLength}}

% Section headers ("Experience", "Education", etc.)
\newcommand\CvSectionHeader[1]{\CvBigSkip\textbf{#1}\CvBigSkip}

% Horizontal line/separator
\newcommand\CvRule{\begingroup\color{CvRuleColor}\hrule\endgroup}

% Workplace header
\newcommand\CvWorkplaceHeader[5]{\begingroup%
  \CvRule\nopagebreak%
  \fboxsep0pt%
  \colorbox{CvWorkplaceHeaderColor}{%
    \begin{minipage}{\linewidth-2\fboxsep}%
\CvSmallSkip%
#1 -- #2 \hfill \textit{#3} at #4 (\href{http://#5/}{#5})%
\CvSmallSkip%
    \end{minipage}%
  }%
  \CvRule%
\endgroup%
}

% Workplace description
\newenvironment{CvWorkplaceDescription}{%
    \begingroup\setlength\parskip{\CvSmallSkipLength}%
  }{%
    \CvSmallSkip\endgroup%
  }

\pagestyle{empty}

\begin{document}

\adjustbox{valign=t}{%
  \begin{minipage}{3.5cm}%
    \includegraphics[width=3.5cm]{img/face2020_warm.jpg}
  \end{minipage}%
}%
\hfill%
\adjustbox{valign=t}{%
  \begin{minipage}{\linewidth-3.5cm-\CvBigSkipLength}%
{\bfseries\large Egor Tensin}\\*
{\color{CvRuleColor} Last updated on: \today}
    \CvBigSkip
    \CvRule
    \CvSmallSkip
    \begin{tabularx}{\textwidth}{@{}lX}
E-mail: & \href{mailto:Egor.Tensin@gmail.com}{Egor.Tensin@gmail.com} \\
Web: & \href{https://egor-tensin.github.io/}{https://egor-tensin.github.io/}\enspace{}\textopenbullet{}\enspace{}\href{https://github.com/egor-tensin}{https://github.com/egor-tensin} \\
Tel.: & +7\,(911)\,982-06-81 \\
Location: & Saint Petersburg, Russia \\
    \end{tabularx}%
    \CvSmallSkip
    \CvRule
  \end{minipage}%
}

\CvSectionHeader{Experience}

\CvWorkplaceHeader{December 2020}{present}{Senior {\CXX} Engineer}{CloudLinux, Inc.}{www.cloudlinux.com}

\begin{CvWorkplaceDescription}
I am a member of the \href{https://tuxcare.com/}{TuxCare} team.
It's a technology that allows live-patching userspace Linux processes without
restarting them (mainly to get rid of security vulnerabilities).
I am a key developer of \href{https://tuxcare.com/live-patching-services/databasecare/}{DataBaseCare},
which extends the technology to cover mainstream database solutions.

\begin{itemize}[noitemsep]
  \item C programming.
  \item ELF file format.
  \item Intricate Linux APIs.
\end{itemize}
\end{CvWorkplaceDescription}

\CvWorkplaceHeader{January 2020}{October 2020}{Senior {\CXX} Engineer}{Bercut Ltd.}{bercut.com}

\begin{CvWorkplaceDescription}
I was a member of the \href{https://bercut.com/products/in-voice/}{IN@Voice}
team.
IN@Voice is a billing system for telecom operators.
I was responsible for developing and maintaining key parts of the billing
logic.

\begin{itemize}[noitemsep]
  \item Cross-platform (Windows, Linux \& Solaris) development.
  \item {\CXX} programming.
  \item Python/{\CXX} interop.
\end{itemize}
\end{CvWorkplaceDescription}

\CvWorkplaceHeader{September 2017}{July 2019}{Senior {\CXX} Engineer}{Flightradar24 AB}{www.flightradar24.com}

\begin{CvWorkplaceDescription}
I took part in the development and support of the backend part of the
Flightradar24 project.
I was responsible for how various parts of the backend received, processed and
stored third-party data in an efficient \& robust manner.

\begin{itemize}[noitemsep]
  \item Native Linux development.
  \item {\CXX} programming (inc. {\CXX}17 \& Boost).
  \item Python programming.
  \item Containerization and orchestration using Docker.
  \item AWS (EC2, Lambda, DynamoDB, S3).
\end{itemize}
\end{CvWorkplaceDescription}

\CvWorkplaceHeader{September 2014}{August 2017}{Software Engineer}{Netwrix Corp.}{www.netwrix.com}

\begin{CvWorkplaceDescription}
I took part in the development of an enterprise-scale product as a member of a
core R\&D team.
I was responsible for developing various low-level components (among others):
\begin{enumerate}[noitemsep]
  \item a "task scheduler" to provide means of asynchronous execution for
other components,
  \item a modular RESTful API implementation.
\end{enumerate}

\begin{itemize}[noitemsep]
  \item Native Microsoft Windows development (WinAPI, COM, ATL).
  \item {\CXX} programming.
  \item .NET programming using C\#.
  \item Microsoft SQL Server \& related technologies (Reporting Services,
etc.).
  \item XML \& related technologies (XSLT, XSD, etc.).
\end{itemize}
\end{CvWorkplaceDescription}

\CvWorkplaceHeader{April 2012}{May 2014}{Performance Engineer}{EMC Corp.}{russia.emc.com}

\begin{CvWorkplaceDescription}
I developed and maintained a tool for revealing, analyzing and solving storage
system performance issues, specifically process \& thread synchronization
issues.
I also troubleshooted general performance issues within enterprise storage
systems, including profiling, benchmarking, etc.

\begin{itemize}[noitemsep]
  \item Native Microsoft Windows \& Linux development.
  \item Microsoft Windows \& Linux kernel module development.
  \item {\CXX} programming (inc. {\CXX}11 \& Boost).
  \item C \& x86(-64) assembly language programming.
  \item Microsoft Windows kernel debugging.
  \item Performance profiling.
\end{itemize}
\end{CvWorkplaceDescription}

\CvWorkplaceHeader{May 2012}{September 2013}{Software Engineer}{Lanit-Tercom, Inc.}{www.lanit-tercom.ru}

\begin{CvWorkplaceDescription}
I took part in a R\&D on the impact introduced to the performance of a storage
system by process \& thread synchronization issues.
A prototype of a tool for revealing, analyzing and solving specific storage
system performance issues was developed.

\begin{itemize}[noitemsep]
  \item Native Microsoft Windows development.
  \item Microsoft Windows kernel module development.
  \item C \& x86(-64) assembly language programming.
  \item Python programming.
  \item Microsoft Windows kernel debugging.
  \item x86(-64) architecture.
  \item Undocumented Microsoft Windows features.
\end{itemize}
\end{CvWorkplaceDescription}

\begin{comment}
% Wish I was a properly educated man :-(

\CvSectionHeader{Education}

\CvWorkplaceHeader{2009}{2013}{Bachelor of Computer Science}{SPbSU}{eng.spbu.ru}

\begin{CvWorkplaceDescription}
During my education, I've been focusing on the following topics:
\begin{itemize}[noitemsep]
  \item x86(-64) architecture (including writing a term paper "Verification of
a x86-64 disassembler"),
  \item x86(-64) microarchitecture (including working on my bachelor thesis
"Attacking AES in a cloud using CPU caches").
\end{itemize}
\end{CvWorkplaceDescription}

\end{comment}

\begin{minipage}[t]{.5\linewidth}
  \CvSectionHeader{Programming Languages}

  \begin{itemize}
    \item C, x86(-64) assembly
    \item \CXX\ (inc. {\CXX}17 \& Boost)
    \item Python
  \end{itemize}

  \CvSectionHeader{Languages}

  \begin{itemize}
    \item Russian --- mother tongue.
    \item English --- C1 (advanced).
  \end{itemize}

  \CvSectionHeader{Other Tools \& Technologies}

  \begin{itemize}
    \item LibreOffice, Microsoft Office
    \item CygWin
    \item \LaTeX
  \end{itemize}

\end{minipage}
\begin{minipage}[t]{.5\linewidth}
  \CvSectionHeader{Development Tools \& Technologies}

  \begin{itemize}
    \item \textbf{Operating systems}: Microsoft Windows, Linux
    \item \textbf{IDEs}: Microsoft Visual Studio, CLion
    \item \textbf{Cloud}: Docker, AWS
    \item \textbf{Build systems}: CMake, GNU Make
    \item \textbf{CI}: Jenkins
    \item \textbf{Scripting}: CMD, GNU Bash, PowerShell
    \item \textbf{Version Control}: Git, Apache Subversion, TFS, AccuRev
    \item \textbf{Debugging}: GDB, WinDbg
    \item \textbf{Performance}: perf, Xperf, Intel VTune Amplifier
  \end{itemize}
\end{minipage}

\end{document}