196 lines
5.0 KiB
TeX
196 lines
5.0 KiB
TeX
% Copyright 2018 Kevin Cotugno
|
|
\vsize=10.25in
|
|
\voffset-.65in
|
|
\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
|
|
|
|
\sidewidth=1.9in
|
|
|
|
\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}
|
|
|
|
\setbox\side=\vtop\bgroup
|
|
\hsize=\sidewidth\raggedright\pretolerance10000
|
|
|
|
\heading Contact
|
|
|
|
Orange County, CA
|
|
|
|
(949) 212-4747
|
|
|
|
kmcotugno@gmail.com
|
|
|
|
github.com/kcotugno
|
|
|
|
linkedin.com/in/kevincotugno
|
|
|
|
\sidehrule
|
|
|
|
\heading{Education}
|
|
|
|
\subhead{Thomas Aquinas College}
|
|
|
|
2012-2016
|
|
\medskip
|
|
Bachelor of Arts, Liberal Arts
|
|
|
|
Course work heavily emphasizes philosophy, mathematics, and science.
|
|
|
|
\sidehrule
|
|
|
|
\heading Skills
|
|
|
|
\subhead Languages
|
|
|
|
\item Ruby
|
|
\item Go
|
|
\item C\raise1.5pt\hbox{$\sharp$}
|
|
\item C
|
|
\item C\raise1pt\hbox{++}
|
|
\item Bash
|
|
\item Python
|
|
\item JavaScript
|
|
|
|
\bigskip
|
|
\subhead Technologies
|
|
|
|
\item Ruby on Rails
|
|
\item .NET
|
|
\item Docker
|
|
\item Nginx
|
|
\item PostgreSQL
|
|
\item Redis
|
|
\item Sidekiq
|
|
\item Resque
|
|
\item AWS S3
|
|
\item Vue.js
|
|
\item Windows API
|
|
\egroup
|
|
|
|
\setbox\main=\vtop\bgroup
|
|
\hsize=\mainwidth\baselineskip1em\parskip.5em
|
|
|
|
\heading Experience
|
|
|
|
\subhead{Integrations Engineer}
|
|
|
|
\company Mavenlink \hfill September 2016--Present\medskip
|
|
\vskip-1em\hfill (Intern)\ \ \ July 2016--August 2016
|
|
|
|
\item Maintain a large Ruby on Rails platform for integrating the core
|
|
\textit{Mavenlink} product with other products
|
|
including \textit{Netsuite}, \textit{Xero}, \textit{Jira},
|
|
and \textit{Intacct}, as well as flat files over \textit{FTP}, \textit{SFTP},
|
|
and \textit{S3}. Help maintain the queue and worker system which has processed
|
|
over one billion events.
|
|
\item Develop in a strong test driven development and pair-programming environment.
|
|
\item Extend the core Mavenlink public API platform focusing on consistent
|
|
non-breaking user experience and clean maintainable code.
|
|
\item Develop a new Ruby on Rails application from the ground up which
|
|
requires a front end (\textit{Vue.js}), background workers and queing system
|
|
(\textit{Sidekiq}), and database (\textit{PostgreSQL}).
|
|
|
|
\bigskip
|
|
|
|
\subhead{Junior Technical Analyst}
|
|
\company{LVCG, Inc.} \hfill June 2015--December 2015
|
|
|
|
\item Build and maintain a testing suite for an assembly line
|
|
management program.
|
|
\item Maintain an on-site relationship with the customer and perform
|
|
user acceptance testing with them.
|
|
|
|
\bigskip
|
|
|
|
\subhead{Grounds Supervisor}
|
|
\company{Thomas Aquinas College} \hfill January 2014--May 2015
|
|
|
|
\item Lead a small team maintaining aspects of the college's 50-acre
|
|
property.
|
|
|
|
\bigskip
|
|
\mainhrule
|
|
|
|
\heading Projects
|
|
|
|
\subhead Spectator
|
|
\vskip-1.5em https://git.kevincotugno.com/kcotugno/spectator
|
|
|
|
\textit{Open Source} \hfill December 2017--Present
|
|
|
|
A real-time console based GDAX market visualizer. It is written in \Go. It
|
|
utilizes Websockets for receiving the streaming data, and \ANSI\ escape codes
|
|
for the UI. The architecture heavily utilizes \Go's
|
|
\textit{goroutines} and \textit{channels} for message passing, allowing the
|
|
program to perform fast and efficiently.
|
|
|
|
The challenge for this project was in understanding the finer points
|
|
of \textit{Linux} console manipulation.
|
|
|
|
\bigskip
|
|
|
|
\subhead{Tacitus}
|
|
\company{Closed Source} \hfill September 2017--Present
|
|
|
|
A utility for replicating GDAX's cryptocurrency trading history for offline
|
|
analysis. It is written in \Go. The data is stored in \PostgreSQL\ allowing for
|
|
easy access through relational queries and dumping to CSV for analysis
|
|
in \Python. The data is acquired in real-time through the provided Websocket
|
|
interface.
|
|
|
|
The challenges of this project were in utilizing \textit{goroutines} to execute
|
|
the different operations in parallel. Also, due to the size of the market, the
|
|
database has over fifty million rows and therefore the schema requires careful
|
|
design so that indexes are properly utilized to provide fast queries.
|
|
\egroup
|
|
|
|
\setbox\divider=\vbox\bgroup
|
|
\hskip\sectionspace\raise24pt\hbox{\vrule depth9.46in}\hskip\sectionspace
|
|
\egroup
|
|
|
|
\wd\main=\mainwidth
|
|
\wd\divider=\dividerwidth
|
|
\wd\side=\sidewidth
|
|
|
|
\name{Kevin Cotugno}
|
|
\medskip
|
|
\hrule
|
|
\hbox{\box\side\box\divider\box\main}
|
|
|
|
\bye
|