\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/selfie_face.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/} \\ & \href{https://github.com/egor-tensin}{https://github.com/egor-tensin} \\ Tel.: & +7\,(911)\,982-06-81 \\ Address: & 3 Ushakovskaya Naberezhnaya, bldg. 2, apt. 409 \\ & Saint Petersburg, Russia, 197342 \\ \end{tabularx}% \CvSmallSkip \CvRule \end{minipage}% } \CvSectionHeader{Experience} \CvWorkplaceHeader{December 2020}{present}{Senior {\CXX} Engineer}{CloudLinux, Inc.}{www.cloudlinux.com} \begin{CvWorkplaceDescription} \textit{Work in progress\ldots} \end{CvWorkplaceDescription} \CvWorkplaceHeader{January 2020}{October 2020}{Senior {\CXX} Engineer}{Bercut Ltd.}{www.bercut.com} \begin{CvWorkplaceDescription} I was a member of a backend team responsible for developing key parts of a billing system used by various telecom operators. \begin{itemize}[noitemsep] \item Cross-platform (Windows, Linux \& Solaris) development. \item {\CXX} programming. \item Python/{\CXX} interop using Boost.Python. \item Some containerization work using Docker. \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} \CvRule \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} \CvRule \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}