summaryrefslogtreecommitdiff
path: root/resume.md
blob: 775fe2ed27cf7961c52444d7efd40421760bf47d (plain)
    1 <div id="resume-author-sect">
    2 <div id="resume-author-name"><span>Aaron Ball</span></div>
    3 <div id="resume-author-contact">
    4 
    5 * **email**: [aaronb@oper.io](mailto:aaronb@oper.io)
    6 * **phone**: +1 720-319-7799
    7 * **www**:   [https://oper.io](https://oper.io)
    8 * **code**:  [https://src.oper.io/nullspoon](https://src.oper.io/nullspoon)
    9 
   10 </div>
   11 <div id="profile">
   12 
   13 PROFILE
   14 =======
   15 
   16 * **Primary Languages**: Bash (13 years), C (4 years), Python (3 years), CSS
   17   and HTML (10 years)
   18 
   19 * **Tools**: Git (10 years), Jenkins (8 years), Kubernetes (5 years), Ansible
   20   (7 years), Terraform (3 years)
   21 
   22 * **Linux**: 15 years - Crux, Ubuntu, Debian, CentOS, RedHat, Arch, Gentoo
   23 
   24 
   25 I am proficient in infrastructure and programming to improve financial,
   26 personnel, time, infrastructure, testing, and software efficiency. I use object
   27 oriented theory and Unix design philosophy to create small, simple,
   28 maintainable, secure, and efficient automation. The radius of impact of my work
   29 can scale from single tasks and programs to large cross-team initiative
   30 coordination in an organization.
   31 
   32 </div> <!-- profile -->
   33 
   34 
   35 EMPLOYMENT
   36 ==========
   37 
   38 <div id="employment">
   39 
   40 DataRobot
   41 ---------
   42 
   43 <div class="jobmeta">
   44 
   45 * **December 2018 - present**
   46 * Technical Lead Manager (2023 - present)
   47 * Principal Software Engineer (2022 - present)
   48 * Senior Software Engineer (2020 - 2022)
   49 * Software Engineer (2018 - 2020)
   50 
   51 </div>
   52 
   53 * **Primary operating systems**: Ubuntu Server (16.04, 18.04, 20.04, and 22.04)
   54 
   55 * **Primary languages**: Bash, C, Groovy (Jenkins), Makefile, and Python
   56 
   57 ### Technical Lead Manager
   58 
   59 * Took on technical and team lead responsibilities. This included high level
   60   project management and collaboration with other team leads, weekly one on
   61   ones with team members, individual goal planning, weekly organizational tech
   62   spec reviews, team priority management, and organization-wide communication.
   63 
   64 * Participated in engineering technical specification review committee to peer
   65   review designs of new features to ensure quality, security, stability,
   66   maintainability, and cost effectiveness.
   67 
   68 * Managed a highly effective team of four engineers. Lead them through several
   69   major organizational direction changes, getting all four promoted. Worked
   70   with each person on the team to set quarterly growth goals and met weekly
   71   with each person for one-on-ones.
   72 
   73 * Coordinated four very large migration projects affecting the entire
   74   engineering organization from old to new technologies, requiring coordinating
   75   migration work across an organization of 300 engineers.
   76 
   77 ### Principle Software Engineer
   78 
   79 * Built self-maintaining internal LetsEncrypt (ACME) service to generate and
   80   maintain signed TLS certs for development infrastructure. Service was
   81   internally stateless, backing state to AWS secretsmanager for easy management
   82   and automated distribution of newly issued certificates.
   83 
   84 * Designed, documented, and implemented a Kubernetes-native replacement for AWS
   85   NLBs, reducing cost sigifnicantly and improving connection stability for an
   86   internal service which served over 25 terabytes of data per day for CI and CD
   87   pipelines.
   88 
   89 * Solved problem of pivoting to Kubernetes native developement and product
   90   release for developers and customers by outlining and implementing
   91   architecture for migration to a public/private Docker registry with a promotion
   92   process for customer artifacts. Built automation to define the public
   93   registry state in code (ACLs, repos, organization membership, etc) for a more
   94   controllable and auditable setup.
   95 
   96 * `[Bash]` Completely eliminated cross availability zone traffic costs for
   97   Jenkins and Artifactory by building a simple solution which intelligently
   98   pinned traffic to the Artifactory cluster instance within the local
   99   availability zone.
  100 
  101 * Worked on AWS cost reduction project. Total contributions yielded $350,000
  102   per year in reduction across the organization without negatively impacting
  103   daily operations. Accomplished this with resource cleanup automation, runtime
  104   storage and memory compression, instance usage analysis and right-sizing, and
  105   removal of cross availability zone costs by intelligently pinning traffic to
  106   the local AZ within automation.
  107 
  108 * Served as interviewer for several teams around the company, running
  109   interviews for competencies such as DevOps, SRE, architecture, programming,
  110   and culture fit.
  111 
  112 ### Senior Software Engineer
  113 
  114 * `[HAProxy]` Built a Kubernetes native ECR proxy service which allowed greater
  115   flexibility and ease of use for developers needing to interact with
  116   cumbersome ECR endpoints and authentication. Service supported zero-downtime
  117   updates.
  118 
  119 * `[Bash]` Built on-premises virtualization platform of over 230 KVM guest nodes
  120   to lower costs in AWS. Clusters were completely autonomous and
  121   self-maintaining.  Automation registered nodes with their configured Jenkins
  122   masters on boot, and deregistered, refreshed to a clean disk state, and
  123   reregistered after a Jenkins job finished running, automatically maintaining
  124   a clean system state for all jobs with no plugins required and 4 simple scripts.
  125 
  126 * `[Kubernetes]` Migrated a three node Artifactory cluster from EC2 to
  127   Kubernetes using Kustomize to manage and automate multiple environments for
  128   testing and release. Maintenance now occur at any time during the day with no
  129   downtime due to custom connection draining automation.
  130 
  131 * `[Bash]` Automated auditing of GitHub traffic to determine opportunities for
  132   cost reduction and worked with developers to reduce those costs through
  133   on-system caching, sparse clones, on-prem LFS hosting.
  134 
  135 * `[Kubernetes]` Migrated all Terraform Kubernetes code away from Terraform and
  136   into Kubernetes native to improve reliability and state management.
  137 
  138 ### Software Engineer
  139 
  140 * Worked on Development Infrastructure team automating processes and
  141   infrastructure to support development, testing, engineering productivity,
  142   security, cloud operations, and financial operations teams.
  143 
  144 * Defined upgrade process and worked with all concerned teams to upgrade
  145   automation infrastructure from Ubuntu 16.04 to 18.04. Updated all automation
  146   and testing code to be compatible with both versions. Performed the same task
  147   to migrate from Ubuntu 18.04 to 20.04 one year later.
  148 
  149 * `[Jenkins]` Version controlled thousands of Jenkins job configurations and
  150   enforced peer review by storing all job configs in git repos as JJB (Jenkins
  151   Job Builder) templates and deploying with automation on merge request review
  152   and approval.
  153 
  154 * `[Python]` Automated Jenkins credential store management and synchronization
  155   across thirteen Jenkins masters using Jenkins Groovy API.
  156 
  157 * `[Terraform]` Automated configuration management of infrastructure such as
  158   EC2, ELB/ALB, EKS, Route 53, RDS, and S3.
  159 
  160 * Worked with Jenkins, Ansible, Packer, and Terraform to automate system build
  161   processes (AWS AMIs, KVM backing disks, laptop provisioning)
  162 
  163 
  164 Jeppesen, A Boeing Company
  165 --------------------------
  166 
  167 <div class="jobmeta">
  168 
  169 * _(Contract)_ **August 2017 - October 2018**
  170 * Software Integration Engineer
  171 
  172 </div>
  173 
  174 * **Primary operating systems**: Centos 6.9 - 7.7, RHEL 6 - 7
  175 
  176 * Worked on the environments team supporting about 80 developers
  177 
  178 * `[Bash]` Developed portable self-extracting installer to integrate and
  179   automate the deployment process. The installer reduced a 40 page install
  180   document to a single command using a bash header with a multi-stage binary
  181   payload footer.
  182 
  183 * `[Ansible 2.6]` Automated Linux environment setup and management. Wrote roles
  184   for deploying and configuring Apache tomcat, Apache httpd, Apache Artemis,
  185   Oracle JRE, program-developed software, etc.
  186 
  187 * Automated software version inventory process to ensure the versions of all
  188   pertinent external endpoints in every environment matched as the product
  189   advanced through the phases of testing.
  190 
  191 * `[Jenkins]` Automated deployments to sixteen environments. Deployments
  192   triggered by schedules, Git repo tag creation, and commit pushes (each
  193   environment with different criteria).
  194 
  195 * `[Ansible]` Server configuration automation. Wrote scripts to generate
  196   dynamic playbooks and dynamic inventories. Roles were separated into two
  197   tiers: the vendor tier and proprietary tier for separation of concerns.
  198 
  199 * Built and administered Okta authentication backend (users, groups, signon
  200   policies, service accounts, etc.), for twenty different application
  201   instances.
  202 
  203 * Assisted in planning and automation of migration from on-site datacenter to
  204   Microsoft Azure.
  205 
  206 
  207 Truven Health Analytics
  208 -----------------------
  209 
  210 <div class="jobmeta">
  211 
  212 * **January 2016 - August 2017**
  213 * Senior Development Operations Engineer
  214 
  215 </div>
  216 
  217 * **Primary operating systems**: Centos 5.9 - 6.7, RHEL 5 - 6
  218 
  219 * Worked as a liaison between devops, configuration management, development,
  220   production operations, and application operations teams
  221 
  222 * `[Bash]` Created and documented scripting libraries to improve builds,
  223   deployments, and cluster switching processes. This reduced feature
  224   development and bug fix time and increased process scalability, visibility,
  225   and stability.
  226 
  227 * `[Bash]` Implemented a configurable self-extracting package container which
  228   enabled complex scripts, frameworks, and resources to be reduced to a single
  229   file and subsequently easily deployed on air-gapped systems.
  230 
  231 * `[Bash]` Wrote a configurable server validation scripting framework for
  232   ensuring any given server met the team's deployment requirements for the
  233   specified server role (eg: frontend, database, storage, tomcat, etc).
  234 
  235 * `[Bash]` Automated developer machine build process so developers would have
  236   consistent environments in which to write, build, test, and deploy their
  237   code. This reduced a 2 week per-employee setup time to about 15 minutes.
  238 
  239 * `[Perl]` Created a command line Artifactory api wrapper for managing
  240   artifacts.  Wrapper could download, upload, and copy artifacts to alternate
  241   repos (eg: for a promotion process).
  242 
  243 * `[Ansible]` Wrote roles to deploy and configure MongoDB, Zabbix, Graylog,
  244   Elasticsearch, Rsyslog, Tomcat, and others.
  245 
  246 * Automated migration of more than 3200 SVN repos to Git.
  247 
  248 * Established and documented Git development and release process standards.
  249 
  250 * Managed deployments using a combination of Ansible, Bash, Perl, and Jenkins.
  251 
  252 * Reduced Jenkins-triggered infrastructure deployment process from
  253   over 300 jobs down to five jobs.
  254 
  255 
  256 
  257 Time Warner Cable
  258 -----------------
  259 
  260 <div class="jobmeta">
  261 
  262 * **March 2015 - January 2016**
  263 * Senior DevOps Engineer
  264 
  265 </div>
  266 
  267 * **Primary operating systems**: Centos 6.5 and 6.6
  268 
  269 * `[Bash]` Automated upgrades of the GitHub Enterprise cluster with minimal
  270   human interraction, including several several workarounds to unfixed bugs in
  271   the appliance software.
  272 
  273 * `[C]` Wrote parallel processing program to benchmark legacy VMWare network
  274   against new OpenStack network
  275 
  276 * `[C]` Automated audit of 8 million firewall rules and NGINX access logs to
  277   determine how many rules were actually needed
  278 
  279 * `[Puppet 3.2]` Configuration management, using r10k for dynamic environment
  280   deployments and Hieradata to support separation of data and modules
  281 
  282 * Automating legacy VMWare infrastructure (54 hypervisors) for migration to
  283   OpenStack
  284 
  285 
  286 CenturyLink, Inc.
  287 -----------------
  288 
  289 <div class="jobmeta">
  290 
  291 * _(Contract)_ **August 2014 - February 2015**
  292 * Linux Engineer
  293 
  294 </div>
  295 
  296 * **Primary operating systems**: CentOS (6.5, 6.6, 7), Ubuntu Server
  297 
  298 * Deployed and managed Mapr (Hadoop distribution) for development and test
  299   clusters
  300 
  301 * `[Bash]` Automated management and synchronization of users and their home
  302   directories, detect and allocate unique uid/gid pairs, and perform various
  303   user-related checks across a cluster of any size
  304 
  305 * `[HAProxy]` Proxy of LDAPS traffic from corporate into the lab (dev/test)
  306   network for authentication
  307 
  308 * MediaWiki administrative tasks (backups, page management, writing templates,
  309   etc).
  310 
  311 * Established team version control best practices within Git
  312 
  313 * `[Ansible]` Infrastructure configuration automation
  314 
  315 
  316 Intelligent Software Solutions, Inc.
  317 ------------------------------------
  318 
  319 <div class="jobmeta">
  320 
  321 * _(Contract)_ **March 2014 - August 2014**
  322 * DevOps Engineer
  323 
  324 </div>
  325 
  326 * **Primary Operating Systems**: RedHat Linux (6 and 7), Windows 7
  327 
  328 * Wrote Chef v10 cookbooks to deploy any combination of war files on top of
  329   base tomcat instances
  330 
  331 * Wrote Chef cookbook compatibility layer for Windows-specific deployments
  332   using cookbooks designed for Linux
  333 
  334 * Built a templatized virtual Chef development environment on Linux KVM with
  335   startup times under 5 seconds.
  336 
  337 
  338 DaVita
  339 ------
  340 
  341 <div class="jobmeta">
  342 
  343 * **October 2012 - March 2014**
  344 * Linux/Unix Systems Engineer
  345 
  346 </div>
  347 
  348 * **Primary operating systems**: AIX (5.3 and 6.1) and CentOS Linux (4 - 6)
  349 
  350 * Standardized, consolidated, and converted team documentation from Sharepoint
  351   to MediaWiki
  352 
  353 * Audited and remediated security holes to harden Linux and AIX servers
  354 
  355 * `[Perl]` Automated reocurring audit of local and Active Directory users with
  356   access to a public facing company FTP site.
  357 
  358 * `[Perl]` Automated monthly SOX compliance report for the intersection of our
  359   global sudoers configs with Active Directory integration - all users and all
  360   commands everywhere.
  361 
  362 * `[Bash]` Automated jump server SSH key rotation every three months and when
  363   an employee left
  364 
  365 
  366 
  367 Dish Network
  368 ------------
  369 
  370 <div class="jobmeta">
  371 
  372 * **January 2011 - October 2012**
  373 * Tier II Analyst / Developer II
  374 
  375 </div>
  376 
  377 * **Primary Operating Systems**: Solaris and RedHat Linux
  378 
  379 * Worked on a team of 8 to manage over 1,000 JVM application instances
  380   (WebMethods, Weblogic, and Tomcat) running on Solaris and Linux, writing Perl
  381   scripts to process log files, gather statistics, perform software upgrades,
  382   manage rolling restarts, etc.
  383 
  384 
  385 USDA
  386 ----
  387 
  388 <div class="jobmeta">
  389 
  390 * _(Contract)_ **August 2010 - December 2010**
  391 * Windows Systems Administrator
  392 
  393 </div>
  394 
  395 * **Primary Operating Systems**: RedHat Enterprise Linux (version 5), Windows
  396   Server 2003
  397 
  398 * Analyzed test environment needs to design scaled down test environments based
  399   upon network architecture diagrams of the proposed production environment
  400 
  401 * Constructed test clusters (one controller and two test agents each) for load
  402   testing with Visual Studio
  403 
  404 
  405 AMG Creative, Inc.
  406 ------------------
  407 
  408 <div class="jobmeta">
  409 
  410 * **August 2009 - August 2010**
  411 * Web Developer / Systems Administrator
  412 
  413 </div>
  414 
  415 * Programmed websites on Joomla and Wordpress using PHP, JavaScript, HTML, and
  416   CSS.
  417 
  418 * Built and managed five servers (one virtual [Domain controller, file server,
  419   terminal server, backup server], another virtual [OpenVPN], one host [VMWare
  420   Server], one print server [Ubuntu 10.04], one backup server [Ubuntu 10.04])
  421 
  422 
  423 CSU College of Business
  424 -----------------------
  425 
  426 <div class="jobmeta">
  427 
  428 * **August 2007 - October 2009**
  429 * Web Developer / Systems Administrator
  430 
  431 </div>
  432 
  433 </div> <!-- employment -->
  434 
  435 
  436 EDUCATION
  437 =========
  438 
  439 <div id="education">
  440 
  441 Colorado State University
  442 -------------------------
  443 
  444 <div class="jobmeta">
  445 
  446 * **2007-2010**
  447 * Bachelors in Business Administration
  448 
  449 </div>
  450 
  451 **Concentration**: Computer information Systems
  452 
  453 Courses included Windows and Linux administration, Networking, SQL database
  454 design and implementation, web application development (creating ASP.Net/C# and
  455 Cold Fusion applications that accessed a database and used sessions), client
  456 side application development (Visual Basic.Net), business math, marketing,
  457 finance, accounting, and business communication.
  458 
  459 </div> <!-- education -->
  460 
  461 <div class="witty-remark">
  462 /* This resume was proudly generated with commonmark markdown, some clever css,
  463 and a Makefile */
  464 </div>

Generated by cgit