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