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

Generated by cgit