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