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