\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. \item x86-64 architecture. \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} Flightradar24 is an aircraft-tracking service. I worked on the backend part, which was responsible for receiving, processing and storing data from on-ground sources and satellites. \begin{itemize}[noitemsep] \item Native Linux development. \item {\CXX} programming (inc. {\CXX}17 \& Boost). \item Python programming. \item Cloud: Docker \& AWS services. \end{itemize} \end{CvWorkplaceDescription} \CvWorkplaceHeader{September 2014}{August 2017}{Software Engineer}{Netwrix Corp.}{www.netwrix.com} \begin{CvWorkplaceDescription} \href{https://www.netwrix.com/auditor.html}{Netwrix Auditor} is an IT infrastructure security product. It allows sysadmins to easily audit changes in AD domains, MS SQL Server databases, file shares, etc. I worked on the backend part, which collected and stored data; I was responsible for a number of subsystems, including implementing an efficient and modular RESTful API for our storage system. \begin{itemize}[noitemsep] \item Native Windows development (WinAPI, COM). \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 was a member of a internal performance team, responsible for revealing, analyzing and solving storage system performance issues, with the focus on process \& thread synchronization issues. This included developing specialized tools, using profilers, benchmarking, etc. \begin{itemize}[noitemsep] \item Windows \& Linux kernel module development. \item {\CXX} programming (inc. {\CXX}11 \& Boost). \item C \& x86(-64) assembly language programming. \item Performance profiling. \item x86(-64) architecture. \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}: Linux, Windows \item \textbf{IDEs}: Visual Studio, CLion \item \textbf{Cloud}: Docker, AWS \item \textbf{Build systems}: CMake, GNU Make \item \textbf{CI}: GitHub Actions, Jenkins, Travis \item \textbf{Scripting}: GNU Bash, PowerShell, CMD \item \textbf{Version Control}: Git, Apache Subversion, TFS \item \textbf{Debugging}: GDB, WinDbg \item \textbf{Performance}: perf, Xperf, Intel VTune Amplifier \end{itemize} \end{minipage} \end{document}