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

Generated by cgit