1 Resume
2 ======
3 :author: Aaron Ball
4 :email: aaronb@oper.io
5 :website: https://oper.io
6 :sourcecode: https://oper.io/src
7 :mobile: +1 720-319-7799
8 :no title:
9
10 [role="resume-author-sect"]
11 --
12 [role="resume-author-name"]
13 Aaron +
14 Ball
15
16 [role="resume-author-contact"]
17 * {email}
18 * {mobile}
19 * {website}
20 * {sourcecode}
21 --
22
23
24
25 PROFILE
26 -------
27
28 * **Languages**: Bash (10 years), Python (3 years), C (3 years), Perl (4 years),
29 CSS and XHTML (8 years), PHP (versions 4 and 5 - 7 years), JavaScript (2
30 years)
31
32 * **Tools**: Git (9 years), Jenkins (6 years), Ansible (4 years), Terraform (2
33 years)
34
35 * **Linux**: 10 years - Crux, Ubuntu, CentOS, RedHat, Arch, Gentoo, and Debian
36
37 * Proficient in Linux infrastructure automation, security, troubleshooting,
38 design, and management; networking design, security, analysis, and
39 troubleshooting; and service design and abstraction.
40
41 * Knowledgeable in object oriented theory and its application in
42 infrastructure, security, and code design
43
44
45 EMPLOYMENT
46 ----------
47
48 [role="job"]
49 --
50
51 |====
52 | DataRobot, Denver, Colorado | December 2018 - present
53 | Software Engineer |
54 |====
55
56 * Worked on Development Infrastructure team automating processes and
57 infrastructure to support development, testing, monitoring, and analytics
58
59 * Scripting in Python, Bash, and Makefile to automate processes
60
61 * Worked with Ansible, Packer, and Terraform to automate system build processes
62 (AWS AMIs, KVM backing disks, laptops)
63
64 * Built on-premises virtualization platform of over 200 KVM guest nodes to
65 lower costs in AWS. Clusters were completely autonomous. Automation
66 registered nodes with their configured Jenkins masters on boot, and
67 deregistered, refreshed to a clean disk state, and reregistered after a
68 Jenkins job finished running.
69
70 * Defined upgrade process and worked with all concerned teams to upgrade
71 automation infrastructure from Ubuntu 16.04 to 18.04. Updated all automation
72 and testing code to be compatible with both versions.
73
74 * Automated Jenkins credential store management and synchronization across nine
75 Jenkins masters.
76
77 * Used Terraform combined with Jenkins, GitHub webhooks, and proprietary code
78 to intelligently programatically deploy and configure various AWS resources
79 (EC2, ELB/ALB, EKS, Route 53, S3) and underlying software to solve day-to-day
80 problems and handle varying loads
81
82 * Developed automated Docker image building and testing process for several
83 internal application services and migrated existing infrastructure to
84 containerized infrastructure where useful to increase scalability and speed
85 and decrease cost.
86 --
87
88
89
90 [role="job"]
91 --
92
93 |====
94 | Jeppesen, A Boeing Company, Denver, Colorado | August 2017 - October 2018
95 | Software Integration Engineer | * Contract
96 |====
97
98 * Worked on the environments team supporting about 80 developers
99
100 * Developed portable self-extracting installer to integrate and automate the
101 deployment process. The installer reduced a 40 page install document to a
102 single command using a bash header with a multi-stage binary payload footer.
103
104 * Automated Linux environment setup and management with Ansible 2.6. Wrote
105 roles for deploying and configuring Apache tomcat, Apache httpd, Apache
106 Artemis, Oracle JRE, program-developed software, etc.
107
108 * Automated software version inventory process to ensure the versions of all
109 pertinent external endpoints in every environment matched as the product
110 advanced through the phases of testing.
111
112 * Automated deployments to sixteen environments using Jenkins. Deployment
113 criteria were based on schedules, git repo tag creation, and commit pushes
114 (each environment with different criteria).
115
116 * Automated server configurations with Ansible. Wrote scripts to generate
117 dynamic playbooks and dynamic inventories. Roles were separated into two
118 tiers: the vendor tier and proprietary tier for separation of concerns.
119
120 * Built and administered Okta authentication backend (users, groups, signon
121 policies, service accounts, etc.), for twenty different application
122 instances.
123
124 * Assisted in planning and automation of migration from on-site datacenter to
125 Microsoft Azure.
126
127 * Primary operating systems: Centos 6.9 - 7.7, RHEL 6 - 7
128 --
129
130
131 [role="job"]
132 --
133
134 |====
135 | Truven Health Analytics, Denver, Colorado | January 2016 - August 2017
136 | Senior Development Operations Engineer |
137 |====
138
139 * Worked as a liason between devops, configuration management, development,
140 production operations, and application operations teams
141
142 * Created documented bash scripting framework to consistently automate builds,
143 deployments, and cluster switches. This reduced feature development time and
144 bug fix time. It also increased process scalability, visibility, and
145 stability.
146
147 * Implemented a configurable self-extracting package container [in bash] which
148 enabled complex scripts, frameworks, and resources to be reduced to a single
149 file and subsequently easily deployed.
150
151 * Wrote a configurable server validation scripting framework for ensuring any
152 given server met the team's deployment requirements for the specified server
153 role (eg: frontend, database, storage, tomcat, etc).
154
155 * Automated developer machine build process so developers would have consistent
156 environments in which to write, build, test, and deploy their code. This
157 reduced a 2 week per-employee setup time to about 15 minutes.
158
159 * Created a command line Artifactory api wrapper for managing artifacts using
160 Perl. Wrapper could download, upload, and copy artifacts to alternate repos
161 (eg: for a promotion process).
162
163 * Wrote Ansible roles to deploy and configure software such as MongoDB, Zabbix,
164 Graylog, Elasticsearch, Rsyslog, Tomcat, JDK, and others.
165
166 * Automated migration of more than 3200 SVN repos to Git.
167
168 * Established and documented Git development processes for the team. This
169 included release, branching, tagging, and peer-review processes.
170
171 * Managed deployments using a combination of Ansible, Bash, Perl, and Jenkins.
172
173 * Reduced Jenkins-triggered infrastructure deployment process from
174 over 300 jobs down to five jobs.
175
176 * Primary operating systems: Centos 5.9 - 6.7, RHEL 5 - 6
177 --
178
179
180
181 [role="job"]
182 --
183
184 |====
185 | Time Warner Cable, Denver, Colorado | March 2015 - January 2016
186 | Senior DevOps Engineer |
187 |====
188
189 * Wrote a bash script to automatically upgrade the GitHub Enterprise cluster
190 with minimal human interraction. This also handled several workarounds to
191 unfixed bugs in the appliance software.
192
193 * Wrote parallel processing C program to benchmark legacy VMWare network
194 against new OpenStack network
195
196 * Wrote C program to parse 7.9 million firewall rules to determine how many
197 were actually needed by also parsing nginx access logs
198
199 * Managed configurations with Puppet Enterprise 3.2, r10k for dynamic
200 environment deployments, and Hieradata to support separation of data and
201 modules
202
203 * Assisted automating legacy VMWare infrastructure (54 hypervisors) to keep it
204 running smoothly until migration to OpenStack had been completed
205
206 * Used Github Enterprise and Git for code versioning, with wiki functionality
207 for documentation, and pull request system for code review
208
209 * Primary operating systems: Centos 6.5 and 6.6
210 --
211
212
213 [role="job"]
214 --
215
216 |====
217 | CenturyLink, Inc., Denver, Colorado | August 2014 - February 2015
218 | Linux Engineer | * Contract
219 |====
220
221 * Deployed and managed Mapr (Hadoop distribution) for development and test
222 clusters
223
224 * Wrote bash script to manage and synchronize users and their home directories,
225 detect and allocate unique uid/gid pairs, and perform various user-related
226 checks across a cluster of any size
227
228 * Set up HAProxy for TCP forwarding of LDAPS traffic from corporate into the
229 lab (dev/test) network for authentication
230
231 * Performed various MediaWiki administrative tasks (backups, page management,
232 writing templates, etc).
233
234 * Built a team Gitlab server and organized and established team version control
235 processes
236
237 * Wrote Ansible playbooks to deploy and configure various types of servers
238
239 * Worked primarily with CentOS 6.5, 6.6, 7 (a few hundred), as well a few
240 one-off Ubuntu servers
241 --
242
243
244 [role="job"]
245 --
246
247 |====
248 | Intelligent Software Solutions, Inc., Denver, Co | March 2014 - August 2014
249 | DevOps Engineer | * Contract
250 |====
251
252 * Wrote chef (version 10) cookbooks (recipes, documentation, templates,
253 providers, resources, etc.) to deploy base tomcat instances and overlay any
254 combination of wars across any number of systems
255
256 * Designed and built chef cookbook compatibnility layer for Windows-specific
257 deployments using cookbooks designed for Linux
258
259 * Built a local virtual chef development environment running on kvm, managed
260 with libvirt apis. VMs could be created from a template in about two to five
261 seconds each.
262 --
263
264
265 [role="job"]
266 --
267
268 |====
269 | DaVita, Denver, Co | October 2012 - March 2014
270 | Linux/Unix Systems Engineer |
271 |====
272
273 * Administered AIX (5.3 and 6.1) and Linux (RedHat 4 - 6)
274
275 * Standardized, consolidated, and converted team documentation from
276 Sharepoint Shared Documents to MediaWiki
277
278 * Audited and remediated security holes to harden Linux and AIX servers
279
280 * Wrote and documented a Perl script to gather data and generate a report
281 detailing all of the local and Active Directory users with access to the
282 company-wide FTP site.
283
284 * Wrote and documented a Perl script to generate sudoers SOX compliance
285 reports. The script parsed the global sudoers file and queried Active
286 Directory for all users to determine exactly who had permissions to sudo run
287 what commands and on which systems across the environment
288
289 * Wrote a bash script to perform automated SSH key rotation every three months
290 and when an employee left
291 --
292
293
294 [role="job"]
295 --
296
297 |====
298 | Dish Network, Englewood, Co | January 2011 - October 2012
299 | Tier II Analyst / Developer II |
300 |====
301
302 * Managed about 1,100 middleware application instances (WebMethods, Weblogic,
303 and Apache Tomcat) running on Unix/Solaris systems
304
305 * Wrote Perl scripts/one-liners with Regular Expressions to process log files,
306 gather statistics, perform Wily agent upgrades, manage rolling restarts, etc.
307 --
308
309
310 [role="job"]
311 --
312
313 |====
314 | USDA, Fort Collins, CO | August 2010 - December 2010
315 | Windows Systems Administrator | * Contract
316 |====
317
318 * Built and configured Red Hat Enterprise Linux (version 5) web servers
319 tailored for each project
320
321 * Analyzed test environment needs to designed scaled down test environments
322 based upon network architecture diagrams of the proposed production
323 environment
324
325 * Constructed test clusters (one controller and two test agents each) for load
326 testing with Visual Studio
327 --
328
329
330 [role="job"]
331 --
332
333 |====
334 | AMG Creative, Inc., Fort Collins, CO | August 2009 - August 2010
335 | Web Developer / Systems Administrator |
336 |====
337
338 * Programmed websites on Joomla and Wordpress using PHP, JavaScript, HTML, and
339 CSS.
340
341 * Built and managed five servers (one virtual [Domain controller, file server,
342 terminal server, backup server], another virtual [OpenVPN], one host [VMWare
343 Server], one print server [Ubuntu 10.04], one backup server [Ubuntu 10.04])
344 --
345
346
347 [role="job"]
348 --
349
350 |====
351 | CSU College of Business, Fort Collins, Co | August 2007 - October 2009
352 | Web Developer / Systems Administrator |
353 |====
354 --
355
356
357
358 EDUCATION
359 ---------
360
361 [role="job"]
362 --
363
364 |====
365 | Colorado State University, Fort Collins, CO | 2007-2010
366 | Bachelors in Business Administration |
367 |====
368
369 _Concentration_: Computer information Systems
370
371 Courses included Windows and Linux administration, Networking, SQL database
372 design and implementation, web application development (creating ASP.Net/C# and
373 Cold Fusion applications that accessed a database and used sessions), client
374 side application development (Visual Basic.Net), business math, marketing,
375 finance, accounting, and business communication.
376 --
377
378 [role="witty-remark"]
379 /* This resume was proudly generated with Asciidoctor, some clever css, and a
380 Makefile */
|