1 <div class="resume-author-sect">
2 <div class="resume-author-name">
3 <p>Aaron</p>
4 <p>Ball</p>
5 </div>
6 <div class="resume-author-contact">
7
8 * **email**: aaronb@oper.io
9 * **phone**: +1 720-319-7799
10 * **www**: [https://oper.io](https://oper.io)
11 * **code**: [https://oper.io/src/nullspoon](https://oper.io/src/nullspoon)
12
13 </div>
14 </div>
15
16 # PROFILE
17
18 * **Languages**: Bash (12 years), Python (3 years), C (3 years), Perl (4 years),
19 CSS and XHTML (8 years), PHP (versions 4 and 5 - 7 years), JavaScript (2
20 years)
21
22 * **Tools**: Git (9 years), Jenkins (7 years), Ansible (7 years), Kubernetes (3
23 years), Terraform (3 years)
24
25 * **Linux**: 12 years - Crux, Ubuntu, CentOS, RedHat, Arch, Gentoo, and Debian
26
27 * Proficient in Linux infrastructure automation, security, troubleshooting,
28 design, and management; networking design, security, analysis, and
29 troubleshooting; and service design and abstraction.
30
31 * Knowledgeable in object oriented theory and its application in
32 infrastructure, security, and code design
33
34
35 # EMPLOYMENT
36
37 ## DataRobot
38
39 <div class="jobmeta">
40 December 2018 - present
41 <br />
42 Senior Software Engineer
43 </div>
44 <!--<span class="location">Denver, Colorado</span>-->
45
46 * **Primary operating systems**: Ubuntu Server (versions 16.04, 18.04, and
47 20.04)
48
49 * Worked on Development Infrastructure team automating processes and
50 infrastructure to support development, testing, engineering productivity,
51 security, and cloud operations teams.
52
53 * Scripting in Python, Bash, and Makefile to automate processes
54
55 * Worked with Jenkins, Ansible, Packer, and Terraform to automate system build
56 processes (AWS AMIs, KVM backing disks, laptop provisioning)
57
58 * Automated cost metrics gathering and analysis of GitHub traffic to determine
59 causes of increased costs and worked with developers to reduce those costs
60 through on-system caching, sparse clones, and on-premise LFS hosting.
61
62 * Fully migrated a three node Artifactory cluster from EC2 to Kubernetes using
63 Kustomize to manage and automate multiple environments for testing and
64 release. Upgrades and maintenance now occur at any time during the day with
65 no downtime for end users.
66
67 * Migrated all Terraform Kubernetes code away from Terraform and into
68 Kubernetes native to improve reliability and state management.
69
70 * Version controlled thousands of Jenkins job configurations and enforced peer
71 review by storing all job configs in git repos as JJB (Jenkins Job Builder)
72 templates and deploying with automation on merge request review and approval.
73
74 * Built on-premises virtualization platform of over 230 KVM guest nodes to
75 lower costs in AWS. Clusters were completely autonomous and self-maintaining.
76 Automation registered nodes with their configured Jenkins masters on boot,
77 and deregistered, refreshed to a clean disk state, and reregistered after a
78 Jenkins job finished running, automatically maintaining a clean system state
79 for all jobs with no plugins required and 4 simple scripts.
80
81 * Defined upgrade process and worked with all concerned teams to upgrade
82 automation infrastructure from Ubuntu 16.04 to 18.04. Updated all automation
83 and testing code to be compatible with both versions. Performed the same task
84 to migrate from Ubuntu 18.04 to 20.04 one year later.
85
86 * Automated Jenkins credential store management and synchronization across
87 thirteen Jenkins masters using Jenkins Groovy API and Python.
88
89 * Used Terraform to create and ensure state of necessary underlying
90 infrastructure such as EC2, ELB/ALB, EKS, Route 53, RDS, and S3.
91
92
93 ## Jeppesen, A Boeing Company
94
95 <div class="jobmeta">
96 <i>(Contract)</i> August 2017 - October 2018
97 <br />
98 Software Integration Engineer
99 </div>
100
101 <!--<span class="location">Denver, Colorado</span>-->
102
103 * **Primary operating systems**: Centos 6.9 - 7.7, RHEL 6 - 7
104
105 * Worked on the environments team supporting about 80 developers
106
107 * Developed portable self-extracting installer to integrate and automate the
108 deployment process. The installer reduced a 40 page install document to a
109 single command using a bash header with a multi-stage binary payload footer.
110
111 * Automated Linux environment setup and management with Ansible 2.6. Wrote
112 roles for deploying and configuring Apache tomcat, Apache httpd, Apache
113 Artemis, Oracle JRE, program-developed software, etc.
114
115 * Automated software version inventory process to ensure the versions of all
116 pertinent external endpoints in every environment matched as the product
117 advanced through the phases of testing.
118
119 * Automated deployments to sixteen environments using Jenkins. Deployment
120 criteria were based on schedules, git repo tag creation, and commit pushes
121 (each environment with different criteria).
122
123 * Automated server configurations with Ansible. Wrote scripts to generate
124 dynamic playbooks and dynamic inventories. Roles were separated into two
125 tiers: the vendor tier and proprietary tier for separation of concerns.
126
127 * Built and administered Okta authentication backend (users, groups, signon
128 policies, service accounts, etc.), for twenty different application
129 instances.
130
131 * Assisted in planning and automation of migration from on-site datacenter to
132 Microsoft Azure.
133
134
135 ## Truven Health Analytics
136
137 <!--<span class="location">Denver, Colorado</span>-->
138
139 <div class="jobmeta">
140 January 2016 - August 2017
141 <br />
142 Senior Development Operations Engineer
143 </div>
144
145 * **Primary operating systems**: Centos 5.9 - 6.7, RHEL 5 - 6
146
147 * Worked as a liason between devops, configuration management, development,
148 production operations, and application operations teams
149
150 * Created documented bash scripting framework to consistently automate builds,
151 deployments, and cluster switches. This reduced feature development time and
152 bug fix time. It also increased process scalability, visibility, and
153 stability.
154
155 * Implemented a configurable self-extracting package container [in bash] which
156 enabled complex scripts, frameworks, and resources to be reduced to a single
157 file and subsequently easily deployed.
158
159 * Wrote a configurable server validation scripting framework for ensuring any
160 given server met the team's deployment requirements for the specified server
161 role (eg: frontend, database, storage, tomcat, etc).
162
163 * Automated developer machine build process so developers would have consistent
164 environments in which to write, build, test, and deploy their code. This
165 reduced a 2 week per-employee setup time to about 15 minutes.
166
167 * Created a command line Artifactory api wrapper for managing artifacts using
168 Perl. Wrapper could download, upload, and copy artifacts to alternate repos
169 (eg: for a promotion process).
170
171 * Wrote Ansible roles to deploy and configure software such as MongoDB, Zabbix,
172 Graylog, Elasticsearch, Rsyslog, Tomcat, JDK, and others.
173
174 * Automated migration of more than 3200 SVN repos to Git.
175
176 * Established Git development processes for the team. This included release,
177 branching, tagging, and peer-review processes.
178
179 * Managed deployments using a combination of Ansible, Bash, Perl, and Jenkins.
180
181 * Reduced Jenkins-triggered infrastructure deployment process from
182 over 300 jobs down to five jobs.
183
184
185
186 ## Time Warner Cable
187 <!-- <span class="location">Denver, Colorado</span>-->
188
189 <div class="jobmeta">
190 March 2015 - January 2016
191 <br />
192 Senior DevOps Engineer
193 </div>
194
195 * **Primary operating systems**: Centos 6.5 and 6.6
196
197 * Wrote a bash script to automatically upgrade the GitHub Enterprise cluster
198 with minimal human interraction. This also handled several workarounds to
199 unfixed bugs in the appliance software.
200
201 * Wrote parallel processing C program to benchmark legacy VMWare network
202 against new OpenStack network
203
204 * Wrote C program to parse 8 million firewall rules and nginx access logs to
205 determine how many were actually needed
206
207 * Managed configurations with Puppet Enterprise 3.2, r10k for dynamic
208 environment deployments, and Hieradata to support separation of data and
209 modules
210
211 * Assisted automating legacy VMWare infrastructure (54 hypervisors) to keep it
212 running smoothly until migration to OpenStack had been completed
213
214
215 ## CenturyLink, Inc.
216
217 <!-- <span class="location">Denver, Colorado</span>-->
218 <div class="jobmeta">
219 <i>(Contract)</i> August 2014 - February 2015
220 <br />
221 Linux Engineer
222 </div>
223
224 * **Primary operating systems**: Centos 6.5, 6.6, 7, Ubuntu Server
225
226 * Deployed and managed Mapr (Hadoop distribution) for development and test
227 clusters
228
229 * Wrote bash script to manage and synchronize users and their home directories,
230 detect and allocate unique uid/gid pairs, and perform various user-related
231 checks across a cluster of any size
232
233 * Set up HAProxy for TCP forwarding of LDAPS traffic from corporate into the
234 lab (dev/test) network for authentication
235
236 * Performed various MediaWiki administrative tasks (backups, page management,
237 writing templates, etc).
238
239 * Established team version control best practices within git
240
241 * Wrote Ansible playbooks to deploy and configure various types of servers
242
243
244 ## Intelligent Software Solutions, Inc.
245 <!-- <span class="location">Denver, Co (_* Contract_)</span>-->
246
247 <div class="jobmeta">
248 <i>(Contract)</i> March 2014 - August 2014
249 <br />
250 DevOps Engineer
251 </div>
252
253 * Wrote chef (version 10) cookbooks (recipes, documentation, templates,
254 providers, resources, etc.) to deploy base tomcat instances and overlay any
255 combination of wars across any number of systems
256
257 * Wrote chef cookbook compatibility layer for Windows-specific deployments
258 using cookbooks designed for Linux
259
260 * Built a local virtual chef development environment running on KVM VMs could
261 be created from a template in about two to five seconds each.
262
263
264 ## DaVita
265 <!--<span class="location">Denver, Co</span>-->
266
267 <div class="jobmeta">
268 October 2012 - March 2014
269 <br />
270 Linux/Unix Systems Engineer
271 </div>
272
273 * **Primary operating systems**: AIX (versions 5.3 and 6.1) and RedHat Linux
274 (versions 4 - 6)
275
276 * Standardized, consolidated, and converted team documentation from
277 Sharepoint Shared Documents to MediaWiki
278
279 * Audited and remediated security holes to harden Linux and AIX servers
280
281 * Wrote and documented a Perl script to gather data and generate a report
282 detailing all of the local and Active Directory users with access to the
283 company-wide FTP site.
284
285 * Wrote and documented a Perl script to generate sudoers SOX compliance
286 reports. The script parsed the global sudoers file and queried Active
287 Directory to determine granular extent of all permissions.
288
289 * Wrote a bash script to perform automated SSH key rotation every three months
290 and when an employee left
291
292
293
294 ## Dish Network
295
296 <!--* Englewood, Co-->
297 <div class="jobmeta">
298 January 2011 - October 2012
299 <br />
300 Tier II Analyst / Developer II
301 </div>
302
303 * Managed over 1,000 JVM application instances (WebMethods, Weblogic, and
304 Apache Tomcat) running on Solaris and Linux
305
306 * Wrote Perl scripts to process log files, gather statistics, perform software
307 upgrades, manage rolling restarts, etc.
308
309
310
311 ## USDA
312
313 <!--* Fort Collins, CO -->
314 <div class="jobmeta">
315 <i>(Contract)</i> August 2010 - December 2010
316 <br />
317 Windows Systems Administrator
318 </div>
319
320 * Built and configured Red Hat Enterprise Linux (version 5) web servers
321 tailored for each project
322
323 * Analyzed test environment needs to designed scaled down test environments
324 based upon network architecture diagrams of the proposed production
325 environment
326
327 * Constructed test clusters (one controller and two test agents each) for load
328 testing with Visual Studio
329
330
331 ## AMG Creative, Inc.
332
333 <!--* Fort Collins, CO-->
334 <div class="jobmeta">
335 August 2009 - August 2010
336 <br />
337 Web Developer / Systems Administrator
338 </div>
339
340 * Programmed websites on Joomla and Wordpress using PHP, JavaScript, HTML, and
341 CSS.
342
343 * Built and managed five servers (one virtual [Domain controller, file server,
344 terminal server, backup server], another virtual [OpenVPN], one host [VMWare
345 Server], one print server [Ubuntu 10.04], one backup server [Ubuntu 10.04])
346
347
348 ## CSU College of Business
349
350 <!--* Fort Collins, Co-->
351 <div class="jobmeta">
352 August 2007 - October 2009
353 <br />
354 Web Developer / Systems Administrator
355 </div>
356
357
358 # EDUCATION
359
360 ## Colorado State University
361
362 <!--Fort Collins, CO-->
363 <div class="jobmeta">
364 Bachelors in Business Administration
365 <br />
366 2007-2010
367 </div>
368
369 _Concentration_: Computer information Systems
370
371 Courses included Windows and Linux administration, Networking, SQL database
372 design and implementation, web application development (creating ASP.Net/C# and
373 Cold Fusion applications that accessed a database and used sessions), client
374 side application development (Visual Basic.Net), business math, marketing,
375 finance, accounting, and business communication.
376
377 <div class="witty-remark">
378 /* This resume was proudly generated with commonmark markdown, some clever css,
379 and a Makefile */
380 </div>
|