resume/resume.tex

196 lines
4.9 KiB
TeX
Raw Permalink Normal View History

2020-07-27 16:32:34 -07:00
% Copyright 2018-2020 Kevin Cotugno
2020-07-27 17:57:48 -07:00
2020-08-24 18:14:11 -07:00
\vsize=9.5in
2020-07-27 20:45:37 -07:00
\voffset-.15in
2018-06-12 20:58:54 -07:00
\font\namefont=cmssdc10 at 30pt
\font\headingfont=cmr10 at 22pt
\font\subfont=cmr10 at 16pt
\parindent=0pt
\nopagenumbers
\newbox\main
\newbox\side
\newbox\divider
\newdimen\mainwidth
\newdimen\sidewidth
\newdimen\dividerwidth
\newdimen\sectionspace
\newdimen\sidehrulewidth
\newdimen\mainhrulewidth
2020-07-27 17:57:48 -07:00
\sidewidth=1.85in
2018-06-12 20:58:54 -07:00
\sectionspace=.75em
\dividerwidth=.4pt
\advance\dividerwidth by\sectionspace\advance\dividerwidth by\sectionspace
\sidehrulewidth=\sidewidth\advance\sidehrulewidth by\sectionspace
\mainwidth=6.5in
\advance\mainwidth by -\sidewidth\advance\mainwidth by -\dividerwidth
\mainhrulewidth=\mainwidth\advance\mainhrulewidth by\sectionspace
\def\item{\par\hangindent1em$\bullet$\enspace}
\def\sidehrule{\medskip\hrule width\sidehrulewidth\medskip}
\def\mainhrule{\smallskip\moveleft\sectionspace\vbox{\hrule width\mainhrulewidth}}
\def\name#1{\namefont #1\tenrm}
\def\heading#1 {\headingfont #1\tenrm\medskip}
\def\subhead#1 {\subfont #1\tenrm\bigskip}
\def\company#1 {\vskip-1.5em\tenit #1\tenrm}
\def\project#1 {\tenit #1\tenrm}
\def\textit#1{\tenit #1\tenrm}
\def\Go{\tenit Go\tenrm}
\def\Python{\tenit Python\tenrm}
\def\PostgreSQL{\tenit PostgreSQL\tenrm}
\def\ANSI{\tenit ANSI\tenrm}
2020-07-27 17:57:48 -07:00
\def\vsmallskip{\vskip0.05in}
2018-06-12 20:58:54 -07:00
\setbox\side=\vtop\bgroup
\hsize=\sidewidth\raggedright\pretolerance10000
\heading Contact
2019-03-21 20:47:55 -07:00
Phoenix, AZ
2018-06-12 20:58:54 -07:00
(949) 212-4747
2020-07-27 16:41:11 -07:00
kevin@kevincotugno.com
2018-06-12 20:58:54 -07:00
github.com/kcotugno
linkedin.com/in/kevincotugno
\sidehrule
2020-07-27 17:57:48 -07:00
\vsmallskip
2018-06-12 20:58:54 -07:00
\heading{Education}
\subhead{Thomas Aquinas College}
2012-2016
\medskip
Bachelor of Arts, Liberal Arts
Course work heavily emphasizes philosophy, mathematics, and science.
\sidehrule
2020-07-27 17:57:48 -07:00
\vsmallskip
2018-06-12 20:58:54 -07:00
\heading Skills
2020-07-27 17:57:48 -07:00
\vsmallskip
2018-06-12 20:58:54 -07:00
\subhead Languages
\item Ruby
\item Go
\item C\raise1.5pt\hbox{$\sharp$}
\item C
2019-03-21 20:21:49 -07:00
\item Rust
2018-06-12 20:58:54 -07:00
\item Bash
\item Python
\item JavaScript
\bigskip
\subhead Technologies
\item Ruby on Rails
\item .NET
\item PostgreSQL
2020-07-27 16:44:10 -07:00
\item SQLite
2018-06-12 20:58:54 -07:00
\item Redis
\item Sidekiq
2020-07-27 19:22:19 -07:00
\item gRPC
2020-08-18 21:46:13 -07:00
\item Docker
\item Nginx
2018-06-12 20:58:54 -07:00
\egroup
\setbox\main=\vtop\bgroup
\hsize=\mainwidth\baselineskip1em\parskip.5em
\heading Experience
2021-06-15 20:31:25 -07:00
\subhead{Senior Software Engineer}
2018-06-12 20:58:54 -07:00
2021-06-15 20:31:25 -07:00
\company Mavenlink \hfill February 2021--Present\medskip
\vskip-1em\hfill (Software Engineer)\ July 2016--February 2021
2020-08-16 13:08:51 -07:00
2020-09-28 22:22:18 -07:00
\item Maintain, along with my team, the Ruby on Rails platform for integrating
the core \textit{Mavenlink} product with other products and tools. This system
2020-09-28 22:26:42 -07:00
is responsible for moving critical data between a customer's various business
2021-04-08 08:56:55 -07:00
systems where reliability and data integrity are non-negotiable. It has
processed over 3 billion events. I spend about 95\% of my time on the backend
and about 5\% of it on the frontend.
2020-08-24 18:11:08 -07:00
\item Extend and maintain the core \textit{Mavenlink} public API focusing on a
consistent non-breaking user experience and clean maintainable code. I have
touched nearly all endpoints of the API as both a maintainer and a user of it.
http://developer.mavenlink.com/beta
2019-03-21 20:46:53 -07:00
\item Co-lead development on a new \textit{Ruby On Rails} application for bulk
2020-08-24 18:11:08 -07:00
legacy data importing to \textit{Mavenlink}. This platform sees an average of
five hundred thousand objects to process by a single account in a given
import session. The platform must also resolve inter-objects dependencies.
2020-07-27 17:01:39 -07:00
\item Scale existing services through algorithmic and \textit{SQL} design
2020-08-24 18:11:08 -07:00
optimizations; in one case, reducing a query involving over six million rows
from ten minutes to under one second.
2020-07-27 17:01:39 -07:00
\item Develop maintainable code in a strong test-driven development
environment.
2018-06-12 20:58:54 -07:00
\bigskip
\subhead{Junior Technical Analyst}
\company{LVCG, Inc.} \hfill June 2015--December 2015
2018-06-12 22:13:30 -07:00
\item Build and maintain a test suite for an assembly line management system.
2018-06-12 20:58:54 -07:00
\item Maintain an on-site relationship with the customer and perform
user acceptance testing with them.
\bigskip
\mainhrule
2020-07-27 17:57:48 -07:00
\vsmallskip
2018-06-12 20:58:54 -07:00
\heading Projects
2020-07-27 16:40:32 -07:00
\subhead Wingman
\company{Closed Source In Development} \hfill 2019-Present
An efficient and feature-rich \Go\ language background job scheduler.
\bigskip
2018-06-12 20:58:54 -07:00
\subhead Spectator
2020-09-28 22:22:18 -07:00
\vskip-1.5em http://github.com/kcotugno/spectator
2018-06-12 20:58:54 -07:00
2020-07-27 16:40:32 -07:00
\textit{Open Source} \hfill December 2017
2018-06-12 20:58:54 -07:00
2020-08-16 13:08:51 -07:00
A real-time console based \textit{Coinbase Pro} market visualizer. It is
2020-09-28 22:22:18 -07:00
written in \Go. It utilizes Websockets for receiving the streaming market data,
\ANSI\ escape codes, and \textit{IOCTL} calls for the UI. The architecture
heavily utilizes \Go's \textit{goroutines} to allow, for example, the UI to
update without being blocked by network code, and \textit{channels} for passing
messages between each independent module.
2018-06-12 20:58:54 -07:00
2020-09-28 22:22:18 -07:00
The challenge for this project was to gain practical experience with a
concurrent code base, and to understand the finer points of terminal
manipulation.
2018-06-12 20:58:54 -07:00
\egroup
\setbox\divider=\vbox\bgroup
2020-09-28 22:22:18 -07:00
\hskip\sectionspace\raise24pt\hbox{\vrule depth8.95in}\hskip\sectionspace
2018-06-12 20:58:54 -07:00
\egroup
\wd\main=\mainwidth
\wd\divider=\dividerwidth
\wd\side=\sidewidth
\name{Kevin Cotugno}
\medskip
\hrule
\hbox{\box\side\box\divider\box\main}
\bye