Compare commits
10 commits
60db08240d
...
67ea61ab22
| Author | SHA1 | Date | |
|---|---|---|---|
| 67ea61ab22 | |||
| b7d3ef233c | |||
| aa44063a6d | |||
| ce7231edc5 | |||
| 0730ae8838 | |||
| f6860135db | |||
| 03e4913c7b | |||
| e2e7288cf8 | |||
| de5490aed0 | |||
| 7896f1610d |
2 changed files with 68 additions and 55 deletions
|
|
@ -1,10 +1,11 @@
|
||||||
steps:
|
steps:
|
||||||
- name: build-resume
|
- name: build-resume
|
||||||
image: git.jacobpa.com/jacob/resume-xelatex
|
image: git.jacobpa.com/jacob/resume-xelatex
|
||||||
|
pull: true
|
||||||
commands:
|
commands:
|
||||||
- xelatex resume.tex
|
- xelatex resume.tex
|
||||||
- name: scp-to-website
|
- name: scp-to-website
|
||||||
image: git.jacobpa.com/jacob/wp-scp:lates
|
image: git.jacobpa.com/jacob/wp-scp:latest
|
||||||
pull: true
|
pull: true
|
||||||
settings:
|
settings:
|
||||||
remote_host:
|
remote_host:
|
||||||
|
|
@ -13,11 +14,13 @@ steps:
|
||||||
from_secret: scp-path
|
from_secret: scp-path
|
||||||
remote_user:
|
remote_user:
|
||||||
from_secret: scp-user
|
from_secret: scp-user
|
||||||
|
remote_port:
|
||||||
|
from_secret: scp-port
|
||||||
ssh_private_key:
|
ssh_private_key:
|
||||||
from_secret: scp-pk
|
from_secret: scp-pk
|
||||||
file: resume.pdf
|
file: resume.pdf
|
||||||
when:
|
when:
|
||||||
branch: master
|
branch: master
|
||||||
event:
|
event:
|
||||||
- tag
|
- push
|
||||||
- manual
|
- manual
|
||||||
|
|
|
||||||
114
resume.tex
114
resume.tex
|
|
@ -1,11 +1,13 @@
|
||||||
\documentclass{article}
|
\documentclass{article}
|
||||||
\usepackage[letterpaper, portrait, margin=0.75in]{geometry}
|
\usepackage{enumitem}
|
||||||
|
\usepackage[letterpaper, portrait, margin=0.5in]{geometry}
|
||||||
\usepackage{amsmath}
|
\usepackage{amsmath}
|
||||||
\usepackage{amssymb}
|
\usepackage{amssymb}
|
||||||
\usepackage{textcomp}
|
\usepackage{textcomp}
|
||||||
\usepackage{hyperref}
|
\usepackage{hyperref}
|
||||||
\usepackage{fontspec}
|
\usepackage{fontspec}
|
||||||
|
|
||||||
|
\setlist[itemize]{left=8pt}
|
||||||
\setmainfont{SourceSans3}[
|
\setmainfont{SourceSans3}[
|
||||||
Extension = .otf ,
|
Extension = .otf ,
|
||||||
Path = ./fonts/ ,
|
Path = ./fonts/ ,
|
||||||
|
|
@ -42,6 +44,11 @@
|
||||||
\vspace*{-6pt} \lineunder
|
\vspace*{-6pt} \lineunder
|
||||||
}
|
}
|
||||||
|
|
||||||
|
\newcommand{\company} [2] {
|
||||||
|
\textbf{#1} \hfill \textit{#2} \\
|
||||||
|
\vspace*{-8pt} {\leavevmode\leaders\hrule height 0.2pt\hfill\kern0pt }
|
||||||
|
}
|
||||||
|
|
||||||
\newcommand{\textsb} [1] {
|
\newcommand{\textsb} [1] {
|
||||||
{\sssb{#1}}
|
{\sssb{#1}}
|
||||||
}
|
}
|
||||||
|
|
@ -50,7 +57,6 @@
|
||||||
\begin{document}
|
\begin{document}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
%==== Profile ====%
|
%==== Profile ====%
|
||||||
\begin{center}
|
\begin{center}
|
||||||
{\Huge \textsc{Jacob Patterson}}\\
|
{\Huge \textsc{Jacob Patterson}}\\
|
||||||
|
|
@ -58,54 +64,63 @@
|
||||||
https://jacobpa.com $\cdot$ https://github.com/jacobpa\\
|
https://jacobpa.com $\cdot$ https://github.com/jacobpa\\
|
||||||
\end{center}
|
\end{center}
|
||||||
|
|
||||||
%==== Education ====%
|
\header{Skills}
|
||||||
\header{Education}
|
\vspace{1mm}
|
||||||
\textbf{The Ohio State University}\hfill Columbus, OH\\
|
\begin{tabular}{ l l }
|
||||||
BS Computer and Information Science \hfill May 2015 -- Dec 2019\\
|
Programming Languages & Java, Javascript, Go, Python, Ruby, Bash \\
|
||||||
Russian Minor \\
|
Frameworks & Spring Boot, React, Vue.js, Svelte, Ruby on Rails \\
|
||||||
|
Devops and Monitoring & Datadog, Splunk, Elasticsearch/Kibana, Jenkins, TravisCI, Github Actions \\
|
||||||
|
Systems and Utilities & Git, Docker, Linux
|
||||||
|
\end{tabular}
|
||||||
\vspace{2mm}
|
\vspace{2mm}
|
||||||
|
|
||||||
%==== Experience ====%
|
%==== Experience ====%
|
||||||
\header{Experience}
|
\header{Experience}
|
||||||
\vspace{1mm}
|
\vspace{1mm}
|
||||||
|
|
||||||
\textbf{L Brands}, \textit{Columbus, OH} \\
|
\company{J.P. Morgan Chase}{Columbus, OH} \\
|
||||||
\vspace{1mm}
|
\textsb{Lead Software Developer} \hfill Jan 2021 -- Present \\
|
||||||
\textsb{Junior Software Developer} {\textbar} {\sl Bash, Python, Linux} \hfill Aug 2020 -- Present \\
|
\vspace{-1mm}
|
||||||
\vspace{-2mm}
|
|
||||||
\begin{itemize} \itemsep -1mm
|
\begin{itemize} \itemsep -1mm
|
||||||
\item Supported and maintained existing code for data transfer and validation around MapR
|
\item Created a CLI utility in Bash and Go to distill a manual 10-step build process for local environments to a single command
|
||||||
\item Facilitated data export from MapR with Apache Hive to Adobe Analytics
|
\item Partnered with data provider teams to redesign a data ingest process, reducing a batch process of hundreds of web requests to two, and ingest time by 80\%
|
||||||
\item Performed administration and support duties for licensed and open-sourced web applications, including SAS, HCL Unica, and Jupyter Notebook
|
\item Refactored content storage in accordance with our CMS' best practices, reducing processing time by 75\%
|
||||||
\end{itemize}
|
\item Contributed to a Spring Boot microservice, serving as MQ consumer to integrate data from external partners with high resiliency, handling hundreds of messages daily
|
||||||
\textsb{Junior Test Automation Developer} {\textbar} {\sl Ruby, RSpec, Cucumber, Selenium, Jenkins, Elasticsearch} \hfill Jan 2020 -- July 2020\\
|
\item Maintained a React frontend to enable highly customized interface for custom data storage of tens of thousands of keys in our CMS
|
||||||
\vspace{-2mm}
|
\item Conducted regular code reviews for a team of five engineers, and broader on a monthly cadence with stakeholder teams
|
||||||
\begin{itemize} \itemsep -1mm
|
\item Collaborated with business to digest requirements into specific and completable tasks for developers
|
||||||
\item Authored behavior-driven UI and REST API test automation scripts utilizing Selenium webdriver and Ruby HTTP libraries
|
|
||||||
\item Assisted in administration of Jenkins instance to execute and display results of test suites
|
|
||||||
\item Extended test framework to send suite execution results to Elasticsearch
|
|
||||||
\end{itemize}
|
|
||||||
\textsb{Test Automation Intern} {\textbar} {\sl Java, JUnit, Cucumber, Selenium, Appium, Elasticsearch}\hfill May 2019 -- Dec 2019\\
|
|
||||||
\vspace{-2mm}
|
|
||||||
\begin{itemize} \itemsep -1mm
|
|
||||||
\item Authored behavior-driven test automation scripts utilizing Selenium, Appium, and Java HTTP libraries
|
|
||||||
\item Refactored test automation framework to load Selenium element locators via centralized YAML configuration files
|
|
||||||
\item Enhanced automatic reporting to Elasticsearch, with reporting dashboards in Kibana for both mobile and web testing efforts
|
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
|
|
||||||
|
\company{L Brands}{Columbus, OH} \\
|
||||||
|
\textsb{Junior Software Developer} \hfill Jan 2020 -- Jan 2021 \\
|
||||||
|
\vspace{-1mm}
|
||||||
|
\begin{itemize} \itemsep -1mm
|
||||||
|
\item Integrated big data sources from MapR using Apache Hive with Adobe Analytics
|
||||||
|
\item Administered and supported software suites hosted on-premises, including SAS, HCL Unica, and Jupyter Notebook
|
||||||
|
\item Authored behavior-driven UI and REST API test automation scripts utilizing Selenium webdriver and Ruby HTTP libraries
|
||||||
|
\item Extended test framework to send suite execution results for hundreds of tests to Elasticsearch for realtime analysis
|
||||||
|
\end{itemize}
|
||||||
|
\textsb{Software Developer in Test Intern} \hfill May 2019 -- Dec 2019\\
|
||||||
|
\vspace{-1mm}
|
||||||
|
\begin{itemize} \itemsep -1mm
|
||||||
|
\item Authored behavior-driven Java test suites for web and mobile utilizing Cucumber, Selenium, and Appium
|
||||||
|
\item Refactored in-house automation framework to deduplicate and centrally store hundreds of element selectors for use with Selenium
|
||||||
|
\item Utilizing the ELK stack, maintained observability and monitoring dashboards providing realtime insight into test suite execution for hundreds of tests across Web and Mobile
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
\header{Projects}
|
\header{Projects}
|
||||||
\vspace{1mm}
|
\vspace{1mm}
|
||||||
|
|
||||||
{\textbf{FCICT}} {\textbar} {\sl Javascript, Svelte, Chart.js, SQLite, Docker} \hfill \url{https://fcict.jacobpa.com}\\
|
{\textbf{FCICT}} {\textbar} {\sl Javascript, Svelte, Chart.js, SQLite, Docker} \hfill \url{https://fcict.jacobpa.com}\\
|
||||||
\vspace{1mm}
|
\vspace{1mm}
|
||||||
Or \textit{Franklin County Inmate Population and COVID-19 Case Tracker}, a lightweight PWA to compare historical inmate population and total COVID-19 cases.\\
|
\textit{Franklin County Inmate Population and COVID-19 Case Tracker}, a lightweight PWA to compare Franklin County Jail population against total COVID-19 cases.\\
|
||||||
\vspace{-2mm}
|
\vspace{-2mm}
|
||||||
\begin{itemize} \itemsep -1mm
|
\begin{itemize} \itemsep -1mm
|
||||||
|
\item Containerized application for ease of deployment and distribution with Docker
|
||||||
|
\item Created Node.js library to scrape and parse data from official data sources
|
||||||
|
\item Authored lightweight REST API using Polka to serve and scrape data
|
||||||
\item Utilized Google Lighthouse to optimize page performance and accessibility
|
\item Utilized Google Lighthouse to optimize page performance and accessibility
|
||||||
\item Created Docker container for easy deployment and distribution
|
|
||||||
\item Wrote custom library to scrape and parse data from relevant sources
|
|
||||||
\item Wrote lightweight REST API using Polka to serve and scrape data
|
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
{\textbf{Speaq-AI}} {\textbar} {\sl Javascript, React, Kepler.gl, Python, Django, IBM Watson API} \hfill \url{https://github.com/speaq-ai/react-ui}\\
|
{\textbf{Speaq-AI}} {\textbar} {\sl Javascript, React, Kepler.gl, Python, Django, IBM Watson API} \hfill \url{https://github.com/speaq-ai/react-ui}\\
|
||||||
|
|
@ -113,21 +128,21 @@ Or \textit{Franklin County Inmate Population and COVID-19 Case Tracker}, a light
|
||||||
University Capstone project, an interactive, personal-assistant based spatiotemporal analysis tool.\\
|
University Capstone project, an interactive, personal-assistant based spatiotemporal analysis tool.\\
|
||||||
\vspace{-2mm}
|
\vspace{-2mm}
|
||||||
\begin{itemize} \itemsep -1mm
|
\begin{itemize} \itemsep -1mm
|
||||||
\item With teammates, wrote Single Page Application wrapper around Kepler.gl using on React and Redux
|
\item With teammates, wrote SPA wrapper around Kepler.gl using React and Redux
|
||||||
\item Wrote end-to-end frontend tests using Jest and Enzyme
|
\item Wrote end-to-end frontend tests using Jest and Enzyme
|
||||||
\item With teammates, wrote Django based RESTful API, serving as a middle layer between our frontend and IBM Watson
|
\item Contributed to Django based REST API, serving as a middle layer between our frontend and IBM Watson
|
||||||
\item Leveraged IBM Watson Assistant, Text-to-Speech, and Speech-to-Text for natural-language interactions
|
\item Leveraged IBM Watson Assistant, Text-to-Speech, and Speech-to-Text for natural-language interactions
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
{\textbf{Ladno Pass}} {\textbar} {\sl Javascript, Vue.js, Vuex, Docker} \hfill \url{https://lp.jacobpa.com} \\
|
% {\textbf{Ladno Pass}} {\textbar} {\sl Javascript, Vue.js, Vuex, Docker} \hfill \url{https://lp.jacobpa.com} \\
|
||||||
\vspace{1mm}
|
% \vspace{1mm}
|
||||||
University information security course project, a Progressive Web Application to demonstrate inconsistencies with arbitrary password security requirements.\\
|
% University information security course project, a Progressive Web Application to demonstrate inconsistencies with arbitrary password security requirements.\\
|
||||||
\vspace{-2mm}
|
% \vspace{-2mm}
|
||||||
\begin{itemize} \itemsep -1mm
|
% \begin{itemize} \itemsep -1mm
|
||||||
\item Utilized Vuex for application state management
|
% \item Utilized Vuex for application state management
|
||||||
\item Wrote custom styles using SCSS, leveraging modern CSS modules such as CSS Grid and Flexbox
|
% \item Wrote custom styles using SCSS, leveraging modern CSS modules such as CSS Grid and Flexbox
|
||||||
\item Presented quick presentation and demo of Vue.js for unfamiliar groupmates
|
% \item Presented quick presentation and demo of Vue.js for unfamiliar groupmates
|
||||||
\end{itemize}
|
% \end{itemize}
|
||||||
|
|
||||||
% {\textbf{Bowl Buddy}} {\textbar} {\sl Java, Android, Ruby on Rails} \\
|
% {\textbf{Bowl Buddy}} {\textbar} {\sl Java, Android, Ruby on Rails} \\
|
||||||
% \vspace{1mm}
|
% \vspace{1mm}
|
||||||
|
|
@ -139,15 +154,10 @@ University information security course project, a Progressive Web Application to
|
||||||
% \item Scraped building location data using custom scripts
|
% \item Scraped building location data using custom scripts
|
||||||
% \end{itemize}
|
% \end{itemize}
|
||||||
|
|
||||||
\header{Skills}
|
%==== Education ====%
|
||||||
\vspace{1mm}
|
\header{Education}
|
||||||
\begin{tabular}{ l l }
|
\textbf{The Ohio State University} {\textbar} \textit{Columbus, OH} \hfill Dec 2019\\
|
||||||
Programming Languages & Java, Ruby, Javascript, Python, Bash \\
|
BS Computer and Information Science\\
|
||||||
Frameworks & Vue.js, Svelte, Ruby on Rails, Android \\
|
|
||||||
Devops & Elasticsearch/Kibana, Jenkins, TravisCI, Github Actions, Drone \\
|
|
||||||
Other & Git, Docker, Linux
|
|
||||||
\end{tabular}
|
|
||||||
\vspace{2mm}
|
|
||||||
|
|
||||||
\end{document}
|
\end{document}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue