Brad Andersen

« Cincinnati OH »

317.527.1406 | | GitHub | LinkedIn | Stack Overflow

Professional Statement

Developer, Teacher, Leader.

I connect people. I am a Bridge builder.

Professional Experience

Magnolia International

Core Developer / Senior Developer Trainer


    • On- and off-site Java and Magnolia platform training and workshops for mixed groups of 4-10 participants
    • Custom services, product support and competitor research
    • Web-centric Java software development
    • Quality assurance (code testing and reviews)
    • Systems administration
    • Magnolia Product Strategy Board

tools: Java, Perl, Maven, Git, Vaadin, JUnit, Selenium, YAML, JCR, IntelliJ, Tomcat, Spring, Ansible, SonarQube, Jenkins, Docker, JS (Angular, Vue, Node)

Independent Consulting

Software Engineer and Trainer


  • Java, Spring, Selenium, Vaadin, Magnolia CMS, Node
  • APIs, Automated ETL, and Mobile Phone applications for the Transportation Industry.
  • Revitalize web applications on modern, high-availability frameworks (AngularJS, Bootstrap, RabbitMQ)
tools: Java, Vaadin, Perl, Bash, Java, Chef, Jenkins, rsync, AngularjS, Informix, PostgreSQL, git, CentOS, Windows, nginx, RabbitMQ

Capital One

Senior Software Engineer


tools: Perl, Bash, Java, Maven, Puppet, Jenkins, JSON, Bootstrap, AngularJS, MySQL, Oracle SQL Developer, Git, RHEL, Mac OS X, nginx, apache, Nagios

eGov Strategies

Software Engineer / Systems Administrator


  • I managed Windows (IIS) Servers (2008 to 2012), and wrote Content Management Systems and Payment Systems. I performed backups using AMANDA and rsync.
  • I helped build an online municipal payments system - using Strawberry and ActiveState Perl, MooTools and Prototype to accept utility payments, parking tickets, child support payments, etc.
  • I built a site navigation builder (demo here) - this tool, which can be incorporated into your CMS, allows non-technical website administrators to easily change their site menus / maps, simply by dragging-and-dropping them!
  • I wrote data SOP (Standard Operating Procedures) to convert multiple, disparate data sources (databases, csv files, text documents) in to one easily-accessible and searchable (using SOLR) system.
tools: Perl, Bash, Java, Puppet, Jenkins, AMANDA, rsync, JSON, MooTools, Prototype, jQuery, MSSQL


Software Engineer and IT Systems Engineer


  • As the Senior Engineer, I oversaw the professional development of Junior staff while providing web site and web services solutions (using ColdFusion and Railo).
  • I provided hardware and software systems administration services, from removing and making and setting up cabling and racks to procuring electronic devices, to setting up networks. I maintained a mail server and managed a FOSS PBX solution.
  • I created android text and video chat applications to support First Responders. Using the Narada Brokering framework (pub-sub model), users can take pictures or enter text which is automatically pushed to all other subscribers on the channel.
  • Using Perl and PHP, I wrote an eBay-like SMS program called EasyBazaar, and a program for creating daily deals called LetsPool! for the Indian market.
  • I wrote a Help Desk solution for a Network Solutions company with KB search (SOLR) in PHP.
tools: Perl, Bash, Java, Maven, Puppet, Jenkins, rsync, jQuery, MSSQL, Oracle SQL Developer, svn, Ubuntu, Windows, apache, Nagios, PBX in a Flash, procmail

Eli Lilly

Software Developer / Systems Administrator


  • Automated R installation and maintenance. I Moved users from SAS to R - I aided in creating custom R libraries and keeping system up to date.
  • Automated web-based VNC provisioning. Many Researchers wanted to move from Windows to Linux platform in order to run simulations. I created a program that used system LDAP to log these users into a remote Linux machine, complete with session capturing.
  • I created tools for MySQL Administration, maintenance, and performance tuning.
  • I wrote an Image Analysis program using ImageJ - rats were given bone cancer - some were given an experimental drug to help cure the cancer. This Java program examined the sizes of the holes in the bones of the rats (pre and post) to help determine efficacy of the experimental drug.
tools: Perl, Bash, Java, Ant, MSSQL, Oracle SQL Developer, MySQL, svn, Ubuntu, Windows, apache, procmail, VNC, R

Purdue University

Applications Analyst / Unix Systems Administrator


  • Linux hardware and software (including mail server) systems administration, troubleshooting, and support. Backupsusing AMANDA, local server setups, monitoring with Nagios.
  • Data warehouse reporting and administration with SAP BEx and (!Kuali) Coeus to support Researchers and Staff.
  • I worked with Professor Norbert Neumeister on programming tasks associated with his collaboration on the Compact Muon Solenoid experiment at the LHC.
  • Oversight of Junior (Student) staff. I taught Junior staff troubleshooting techniques, Perl programming, and hardware maintenance.
tools: Perl, Bash, Java, Ant, rsync, MySQL, cvs, Debian, Windows, apache, Nagios, procmail, AMANDA,             SpamAssassin

Purdue University

Student IT Technician / Perl Programmer


  • I managed cluster queues and provided a web-based SQL front-end for sequencing arrays.
  • I installed and administered hardware and software systems, including operating systems from Windows 95 to Windows XP and Mac OS.
  • I maintained a web site for reporting the status of lab machines - I wrote software so machines could report themselves as being 'down', and allowed users to report machines that were down. I visited these machines and provided hardware and software fixes.
  • I was the original programmer on the Rice Comparative Genomics project (Orza Map Alignment Project) at Purdue University
tools: Perl, Bash, MySQL, cvs, Windows, apache


University of Chicago
M.S., Computer Science

(unfinished 2003-2005)

     » Socket Programming

     » Parallel Programming

     » Data Mining

     » Data Warehousing

Indiana University
M.A., Economics


     » Statistics

     » Financial Instruments

     » Industrial Org

     » Game Theory

Purdue University
B.S., Honors Economics


     » Comp Sci Minor

     » Mathematics Minor

     » History Specialization

     » Intl Monetary Policy

Open Source

I wrote Convert::Pluggable — Originally written as a DuckDuckGo goodie, this is an easily-extensible module for converting between various units of measurement.

I wrote ParseCron — Also written as a DuckDuckGo goodie, this module reads a crontab and tells you what it means in plain English.


Professional Conferences

Magnolia Developers UnConference 2017 — Basel, Switzerland » Presented "System Administration and Continuous Delivery with Magnolia"

Magnolia Conference 2016 — Basel, Switzerland

Alpine Perl Workshop 2016 — Innsbruck, Austria » Presented Release the Turducken and Java vs. Perl Deathmatch

Swiss Perl Workshop 2015 — Olten, Switzerland

Swiss Perl Workshop 2014 — Olten, Switzerland

YAPC::EU 2014 — Sofia, Bulgaria » Presented Regex 101

YAPC::NA 2014 — Orlando, FL, USA


see linkedin for more
  • Perl :: Java :: PHP
  • XML :: JSON :: Bootstrap
  • Backbone.js :: AngularJS
  • MySQL :: MSSQL :: PostgreSQL
  • Git :: SVN
  • Bugzilla :: Mantis :: JIRA
  • Debian :: RH :: CentOS
  • FreeBSD :: Mac OS X
  • Android :: Win 95 → 10


English — native speaker.

German — CEF A2.

Professional References

other info upon request