From 971251664ac9ee07358781ceebd5cc4cb14420cd Mon Sep 17 00:00:00 2001 From: Naman Sood Date: Mon, 11 Jul 2022 14:57:00 -0500 Subject: [PATCH] resume: reformat latex --- resume.pdf | Bin 102909 -> 102903 bytes resume.sty | 118 +++++++++++++++------------------ resume.tex | 190 +++++++++++++++++++++++++++-------------------------- 3 files changed, 150 insertions(+), 158 deletions(-) diff --git a/resume.pdf b/resume.pdf index 355b892d8084ab04406e8e98940991350e59cbff..4ce0759c38cf2c31eabb32fe0268267705ff1585 100644 GIT binary patch delta 6131 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 FMhZIy$fW=P delta 6160 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 diff --git a/resume.sty b/resume.sty index f548186..430b520 100644 --- a/resume.sty +++ b/resume.sty @@ -37,80 +37,70 @@ \input{glyphtounicode} \pdfgentounicode=1 +% remove paragraph indents +\setlength\parindent{0pt} + \newcommand{\linkIcon}{{\footnotesize \faExternalLink}} -\newcommand{\MyName}[1]{ % Name -\Huge -\usefont{OT1}{phv}{b}{n} -\begin{center} #1 \end{center} -\par \normalsize \normalfont} +\newcommand{\MyName}[1]{ + \begin{center} + \Huge\usefont{OT1}{phv}{b}{n} #1 + \end{center} + \par +} -\newcommand{\NewPart}[1]{\vspace{-5mm}\section*{\large \uppercase{#1}}\vspace{-1mm}} +\newcommand{\NewPart}[1]{ + \vspace{-5mm} + \section*{\large \uppercase{#1}} + \vspace{-1mm} + \normalsize +} \newcommand{\SkillsEntry}[2]{ -\noindent\baselineskip=14pt\hangindent=0em\hangafter=0 % Indentation -\makebox[1.75cm][l]{ % Box to align text -\bf{#1}} % Entry name (birth, address, etc.) -\hspace{2em} #2 \par} % Entry value + \baselineskip=14pt\hangindent=0em\hangafter=0 + \makebox[1.75cm][l]{ + \textbf{#1} + } + \hspace{2em} #2 + \par +} + +\newcommand{\WorkEntry}[4]{ + \textbf{\large #1} \hfill #2 \par + \vspace{0.5mm} + \textit{#3} \par + \hangindent=2em\hangafter=0 #4 + \par +} \newcommand{\EducationEntry}[4]{ -\noindent \textbf{\large #1} \hfill % School -%\smash{\colorbox{Black}{% -% {% -% \hfill\color{White}\strut ~#2~}}} \par % Duration -#2 \par - \vspace{0.5mm} -\noindent \textit{#3} \par % Degree -\noindent\hangindent=0em\hangafter=0 #4 % Description -\par} - -\newcommand{\WorkEntry}[4]{ % Same as \EducationEntry -\noindent \textbf{\large#1} \hfill % Company -%\smash{\colorbox{Black}{% -% {% -% \hfill\color{White}\strut ~#2~}}} \par % Duration -#2 \par -\vspace{0.5mm} - \noindent \textit{#3} \par % Job title -\vspace{-0.5mm} -\noindent\hangindent=2em\hangafter=0 #4 % Description -\par -\vspace{0.5mm}} - -\newcommand{\ProjectEntry}[4]{ % Similar to \EducationEntry -\noindent \href{#2}{{\large \textbf{#1}} \linkIcon} \noindent \textit{#3} \par -\vspace{0.5mm} -\noindent #4 % Description -\par} - -%% Define a new 'modern' style for the url package that will use a smaller font. -\makeatletter -\def\url@modernstyle{ - \@ifundefined{selectfont}{\def\UrlFont{\sf}}{\def\UrlFont{}}} - \renewcommand\large{\@setfontsize\Large{11pt}{18}} -\makeatother -%\urlstyle{modern} %% And use the newly defined style. - -\frenchspacing % Better looking spacings after periods -\pagestyle{empty} % No pagenumbers/headers/footers - -\hypersetup{ - pdfborder=0 0 0 + \WorkEntry{#1}{#2}{#3}{#4} } +\newcommand{\ProjectEntry}[4]{ + \href{#2}{{\large \textbf{#1}} \linkIcon} + \textit{#3} + \par + \vspace{0.5mm} + #4 + \par +} + +% reduce large font size a bit +\renewcommand\large{\@setfontsize\Large{11pt}{18}} + +% remove page numbers/headers/footers +\pagestyle{empty} + +% remove link borders +\hypersetup{pdfborder=0 0 0} + \renewcommand{\familydefault}{\sfdefault} \setlist[itemize]{leftmargin=*} -%%% Custom sectioning (sectsty package) -%%% ------------------------------------------------------------ - -\sectionfont{ % Change font of \section command +% Custom sectioning (sectsty package) +\sectionfont{ \vspace{-1mm} - \usefont{OT1}{phv}{b}{n}% % bch-b-n: CharterBT-Bold font - \sectionrule{0pt}{0pt}{-5pt}{1pt}} - -%%% Macros -%%% ------------------------------------------------------------ -\newlength{\spacebox} -\settowidth{\spacebox}{developer} % Box to align text -\newcommand{\sepspace}{\vspace*{1em}} % Vertical space macro + \usefont{OT1}{phv}{b}{n} + \sectionrule{0pt}{0pt}{-5pt}{1pt} +} diff --git a/resume.tex b/resume.tex index 9981db5..92cc0f3 100644 --- a/resume.tex +++ b/resume.tex @@ -12,37 +12,41 @@ % https://www.overleaf.com/latex/templates/your-new-cv/xqzhcmqkqrtw %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \documentclass{article} -\usepackage[margin=0.65in,top=0.3in,bottom=0.5in]{geometry} +\usepackage[margin=0.65in,top=0.3in,bottom=0.4in]{geometry} \usepackage{resume} \begin{document} \MyName{Naman Sood} \vspace{1mm} -{\hfill \href{mailto:mail@nsood.in}{mail@nsood.in} | - \href{https://www.nsood.in}{www.nsood.in} | - \href{https://linkedin.com/in/namansood}{linkedin.com/in/namansood} | - \href{https://github.com/tendstofortytwo}{github.com/tendstofortytwo} -\hfill} +{ + \hfill + \href{mailto:mail@nsood.in}{mail@nsood.in} | + \href{https://www.nsood.in}{www.nsood.in} | + \href{https://linkedin.com/in/namansood}{linkedin.com/in/namansood} | + \href{https://github.com/tendstofortytwo}{github.com/tendstofortytwo} + \hfill +} %%% Education %%% ------------------------------------------------------------ \NewPart{Education}{} \EducationEntry -{University of Waterloo} -{Sep 2019 -- Apr 2024} -{Bachelor of Computer Science -- 3.92 GPA} -{\begin{itemize} \itemsep -1pt - % \item {\bf Awards and Honors:} \$15,000 Computer Science Upper Year Scholarship, Dean's Honors List - % \item {\bf Mentor, StarterHacks 2020:} Provided technical and design advice in Canada's largest beginner-focused hackathon. - % \item {\bf Editor, mathNEWS:} Provide news and recreation to student body via student publication of the Faculty of Mathematics. - \item {\bf Relevant Coursework:} Operating Systems, Applied Cryptography, Data Structures \& Algorithms - \end{itemize}} + {University of Waterloo} + {Sep 2019 -- Apr 2024} + {Bachelor of Computer Science -- 3.92 GPA} + { + \begin{itemize} \itemsep -1pt + % \item \textbf{Awards and Honors:} \$15,000 Computer Science Upper Year Scholarship, Dean's Honors List + % \item \textbf{Mentor, StarterHacks 2020:} Provided technical and design advice in Canada's largest beginner-focused hackathon. + % \item \textbf{Editor, mathNEWS:} Provide news and recreation to student body via student publication of the Faculty of Mathematics. + \item \textbf{Relevant Coursework:} Operating Systems, Applied Cryptography, Data Structures \& Algorithms + \end{itemize} + } %%% Skills %%% ------------------------------------------------------------ \NewPart{Skills}{} -\normalsize \SkillsEntry{Languages}{JavaScript, Go, Rust, C++, C, Python, Scala, HTML/CSS, Shell, Haskell} \SkillsEntry{Technologies}{Git, Docker, Kubernetes, AWS EC2/S3, gRPC/Protobuf, React, SQL, MongoDB} \vspace{1mm} % other sections end in list items, which have their own padding -- compensate for that here @@ -50,96 +54,94 @@ %%% Work experience %%% ------------------------------------------------------------ \NewPart{Experience}{} -\normalsize \WorkEntry -{data.world} -{May 2022 -- Present} -{Software Engineering Intern \hfill Austin, TX} -{\vspace{0.1mm}} + {data.world} + {May 2022 -- Present} + {Software Engineering Intern \hfill Austin, TX} + {\vspace{2.5mm}} \WorkEntry -{Carta} -{Sep 2021 -- Dec 2021} -{Software Engineering Intern, Infrastructure \hfill Kitchener, ON} -{ -\begin{itemize} \itemsep -1pt - \item Designed distributed gRPC logging system using Apache Fluent for \textbf{scalable auditing and compliance} across organization. - \item Created proof-of-concept for logging system using Kubernetes DaemonSets, with ConfigMaps to deploy custom configurations. - \item Enforced standardization of Protobuf definitions for \textbf{over 300 microservices} by designing static analysis tool in Go. - \item \textbf{Optimized build times by 10x} for Docker images by simplifying package requirements to allow precompiled dependencies. - \item Improved system availability by identifying and removing bottlenecks in Redis server connections in Python library. -\end{itemize}} -\iffalse -% long form description for job applications -Made Tailscale ready for the cloud, by creating features that allowed it to run in lightweight, unprivileged container environments. This included a virtual networking stack for connecting to the Tailscale network without kernel privileges to create a network driver, a SOCKS5 proxy to allow applications to communicate over this virtual networking stack, and ephemeral authentication keys for stateless access to the Tailscale network. Also published long-form technical content on company blog (https://tailscale.com/blog/2021-05-github-actions-and-tailscale/) and contributed to product knowledge base. -\fi + {Carta} + {Sep 2021 -- Dec 2021} + {Software Engineering Intern, Infrastructure \hfill Kitchener, ON} + { + \begin{itemize} \itemsep -1pt + \item Designed distributed gRPC logging system using Apache Fluent for \textbf{scalable auditing and compliance} across organization. + \item Created proof-of-concept for logging system using Kubernetes DaemonSets, with ConfigMaps to deploy custom configurations. + \item Enforced standardization of Protobuf definitions for \textbf{over 300 microservices} by designing static analysis tool in Go. + \item \textbf{Optimized build times by 10x} for Docker images by simplifying package requirements to allow precompiled dependencies. + \item Improved system availability by identifying and removing bottlenecks in Redis server connections in Python library. + \end{itemize} + } \WorkEntry -{Tailscale} -{Jan 2021 -- Apr 2021} -{Software Engineering Intern \hfill Toronto, ON} -{\begin{itemize} \itemsep -1pt - \item \textbf{Introduced cloud/serverless support} by emulating TCP/IP stack in userspace for Docker containers, using Google gVisor. - \item Enabled standardized communication using SOCKS5 protocol over Tailscale VPN by implementing proxy server in Go. - \item \textbf{Simplified deployments in cloud environments} by creating single-session authentication keys with auto-cleanup. - \item Developed a \href{https://github.com/tailscale/github-action}{GitHub Action \linkIcon} for end-users that allows \textbf{plug-and-play security} for CI/CD pipelines. - \item Expanded outreach within the technical community by writing \href{https://tailscale.com/blog/2021-05-github-actions-and-tailscale/}{long-form content for corporate blog \linkIcon}. - \end{itemize}} -\iffalse -% long form description for job applications -Accelerated research in the field of Byzantine fault tolerant distributed computing, by implementing security features (like BLS signature verification), streamlining build and deployment of project using Docker, and reducing technical debt by standardizing use of external dependencies. Conducted performance benchmarks on AWS and analyzed performance data using gnuplot and Python. -\fi + {Tailscale} + {Jan 2021 -- Apr 2021} + {Software Engineering Intern \hfill Toronto, ON} + { + \begin{itemize} \itemsep -1pt + \item \textbf{Introduced cloud/serverless support} by emulating TCP/IP stack in userspace for Docker containers, using Google gVisor. + \item Enabled standardized communication using SOCKS5 protocol over Tailscale VPN by implementing proxy server in Go. + \item \textbf{Simplified deployments in cloud environments} by creating single-session authentication keys with auto-cleanup. + \item Developed a \href{https://github.com/tailscale/github-action}{GitHub Action \linkIcon} for end-users that allows \textbf{plug-and-play security} for CI/CD pipelines. + \item Expanded outreach within the technical community by writing \href{https://tailscale.com/blog/2021-05-github-actions-and-tailscale/}{long-form content for corporate blog \linkIcon}. + \end{itemize} + } \WorkEntry -{University of Waterloo} -{May 2020 -- Aug 2020} -{Research Associate \hfill Waterloo, ON} -{\begin{itemize} \itemsep -1pt - \item Optimized Go consensus system to \textbf{3x throughput} by increasing maximum transaction count sent in each message. - \item Streamlined deployment of project by using Docker images to generate repeatable builds across diverse environments. - \item Unified similar codebases by migrating duplicate components to a single C++ project. - \item Assisted distributed systems research by conducting experiments on AWS EC2 and analyzing performance data in gnuplot. - \end{itemize}} -\iffalse -% long form description for job applications -Designed and build native apps for professional photographers to deliver photos to clients, using Electron and React Native, and created API to preview uploaded photos in low-bandwidth situations, using NodeJS and AWS S3. Reduced technical debt in React Native project by combining similar functionality into reusable components. -\fi + {University of Waterloo} + {May 2020 -- Aug 2020} + {Research Associate \hfill Waterloo, ON} + { + \begin{itemize} \itemsep -1pt + \item Optimized Go consensus system to \textbf{3x throughput} by increasing maximum transaction count sent in each message. + \item Streamlined deployment of project by using Docker images to generate repeatable builds across diverse environments. + \item Unified similar codebases by migrating duplicate components to a single C++ project. + \item Assisted distributed systems research by conducting experiments on AWS EC2 and analyzing performance data in gnuplot. + \end{itemize} + } \WorkEntry -{Creesync Software} -{May 2019 -- Aug 2019} -{Software Engineering Intern \hfill New Delhi, India} -{\begin{itemize} \itemsep -1pt - \item Simplified distribution of professionally clicked photos by building Electron and React Native apps. - \item Designed and deployed API to upload and preview photos in low-bandwidth situations using NodeJS and AWS S3. - \end{itemize}} + {Creesync Software} + {May 2019 -- Aug 2019} + {Software Engineering Intern \hfill New Delhi, India} + { + \begin{itemize} \itemsep -1pt + \item Simplified distribution of professionally clicked photos by building Electron and React Native apps. + \item Designed and deployed API to upload and preview photos in low-bandwidth situations using NodeJS and AWS S3. + \end{itemize} + } \WorkEntry -{The Girl Code} -{Mar 2018 -- Apr 2020} -{Volunteer Full Stack Developer \hfill New Delhi, India} -{\begin{itemize} \itemsep -1pt - \item Developed online platform to interactively teach programming in \textbf{10+ workshops across 3 countries} using NodeJS. - \end{itemize}} + {The Girl Code} + {Mar 2018 -- Apr 2020} + {Volunteer Full Stack Developer \hfill New Delhi, India} + { + \begin{itemize} \itemsep -1pt + \item Developed online platform to interactively teach programming in \textbf{10+ workshops across 3 countries} using NodeJS. + \end{itemize} + } %%% Projects %%% ------------------------------------------------------------ \NewPart{Projects}{} -\normalsize -\ProjectEntry{CHIP8-rust}{https://github.com/tendstofortytwo/chip8-rust} -{Rust} -{Emulator for CHIP-8 microprocessor. Simulated behavior of machine instructions with -Rust, created graphics in framebuffer.} +\ProjectEntry + {CHIP8-rust} + {https://github.com/tendstofortytwo/chip8-rust} + {Rust} + {Emulator for CHIP-8 microprocessor. Simulated behavior of machine instructions with Rust, created graphics in framebuffer.} \vspace{1.5mm} -\ProjectEntry{Clay}{https://github.com/tendstofortytwo/clay} -{C, x86 Assembly} -{A minimal x86 operating system. Handled tasks like interrupts, timers, -paging, while balancing performance and maintainability.} +\ProjectEntry + {Clay} + {https://github.com/tendstofortytwo/clay} + {C, x86 Assembly} + {A minimal x86 operating system. Handled tasks like interrupts, timers, paging, while balancing performance and maintainability.} % \vspace{1.5mm} -% \ProjectEntry{Turtle Shell}{https://github.com/tendstofortytwo/tsh} -% {C, POSIX APIs} -% {Shell for Unix operating systems in C. Learned memory management, process management, -% and usage of POSIX interfaces. } +% \ProjectEntry +% {Turtle Shell} +% {https://github.com/tendstofortytwo/tsh} +% {C, POSIX APIs} +% {Shell for Unix operating systems in C. Learned memory management, process management, and usage of POSIX interfaces. } \vspace{1.5mm} -\ProjectEntry{cmdmap}{https://github.com/tendstofortytwo/cmdmap} -{NodeJS} -{Node module to map CLI programs to a JSON API. Designed abstraction over standard -library features for improved security.} -\vspace{-2mm} +\ProjectEntry + {cmdmap} + {https://github.com/tendstofortytwo/cmdmap} + {NodeJS} + {Node module to map CLI programs to a JSON API. Designed abstraction over standard library features for improved security.} \end{document}