summaryrefslogtreecommitdiff
path: root/resume.adoc
blob: b9ddfe8cf3dc41e057f76c197f47b88aadc36aa0 (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 (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 */

Generated by cgit