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