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