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