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