Rob McBroom

employment@skurfer.com

Experience

LeafLink

Senior Backend Engineer, May 2022 – August 2025

Worked across multiple teams to create a first-class marketplace experience for sellers and buyers.

  • Implemented a new, frictionless workflow for creating orders approximately 8X faster
  • Designed a flexible system for interfacing with multiple advertising providers
  • Improved performance of our brand catalog by 4X, as well as improving other key endpoints
  • Led the team in implementing best practices and improved coding style
  • Mentored other developers across different teams

Six Feet Up

Developer/Senior Developer, August 2014 – May 2022

As a developer at a small consulting company, I worked on dozens of projects in different areas, from managing servers to front-end design.

My primary role involved writing Python code, but I was also able to apply my experience as a sysadmin. I spent much of my time working with Django, PostgreSQL, Redis, Poetry, Buildout, and other tools common in the Python world.

  • Custom Django and Flask application design for large, institutional clients
  • Backend Python-based services
  • Managing systems and orchestrations using SaltStack
  • System configuration and maintenance (primarily FreeBSD and Ubuntu)
  • Supporting the rest of the team as the resident macOS, Homebrew, and Git expert
  • Custom exports of content from Zope/Plone to JSON or CSV (for clients migrating to Wordpress and other platforms)

ADESA, Inc.

Linux Administrator, July 2008 – July 2014

Responsible for over 100 Red Hat based Linux servers as part of ADESA’s UNIX team.

  • Manage packages, patches, filesystems, backups, users and groups on Linux systems
  • Implemented and maintain an LDAP-based system for tracking machines (Linux, OpenLDAP, Python, PHP)
  • Transitioned systems to centralized authentication (Linux, OpenLDAP, Kerberos)
  • Implemented Puppet infrastructure for managing servers
  • Automated monitoring and alerting for Linux systems (Xymon, Python)
  • Identify and address hardware problems

Georgia Institute of Technology - Atlanta, GA

Systems Support Specialist II, November 2004 – May 2008

Worked in the Office of Information Technology’s Architecture & Infrastructure group providing services to the Georgia Tech campus. Primary responsibilities involved building and maintaining web-based applications and performing a variety of system administration tasks.

  • Maintained a central web server for hosting 400+ departmental websites (Solaris, Apache, MySQL, Perl, PHP, shell)
  • Installed/maintained the mailing list server for campus (Linux, Sympa, Postfix, MySQL, Perl, shell)
  • Developed secure web-based software distribution application (Solaris, Apache, PHP, MySQL, LDAP, Remedy)
  • Developed code that allows self-service account management web site to interact with various back-end systems (Solaris, Apache, PHP, MySQL, PostgreSQL, Oracle, XML-RPC, LDAP)
  • Developed back-end for the Frequently Asked Questions website and authored most FAQ content (Solaris, Apache, Perl, HTML, CSS)
  • Maintained Google search appliance
  • Scripted migration of calendar events from Oracle Calendar to Zimbra (Linux, Oracle Calendar, Zimbra, shell)
  • Maintained the newsgroup server for campus (Solaris, INN, Diablo)
  • Supported customers via e-mail, phone, and face to face
  • Maintained top-level web infrastructure (to support www.gatech.edu) [backup role] (Solaris, Apache, MySQL, shell)
  • Maintained central web-based e-mail client (based on IMP) [backup role] (Solaris, Apache, PHP, MySQL, IMAP, LDAP)

Quicksilver

Lead Developer, December 2010 – Present

Part of a small international team of volunteer programmers dedicated to maintaining the open source Quicksilver application for macOS.

  • Fix bugs
  • Add features
  • Improve internal structure and stability
  • Help set direction and priorities for the project
  • Support users

Examples

You can always see what I’m up to on GitHub and Stack Overflow. Some of the other projects I’ve worked on are discussed below.

This Résumé

I wanted to make my résumé available as both text and HTML without manually maintaining two versions. I also wanted to learn a bit about Pyramid. The result was a small application that served both the HTML and the original Markdown source.

Then, I decided that was overkill and rewrote it using Flask, which is what you’re viewing now.

Managing Machine Info using LDAP

I can’t take credit for this idea, as it was being done at Georgia Tech, but in my role as system administrator at ADESA, I saw the need to implement it there. When I was hired, Linux machines were being tracked in an Excel spreadsheet. This is sufficient for getting information to human eyes, but I saw an opportunity to automate a large number of tasks by storing the information in a format that both humans and machines could get to. I also wanted to be able to view and change information in a variety of ways, rather than depending on Excel. The answer was OpenLDAP for a number of reasons.

  • Many existing applications (Postfix, Puppet) can use LDAP data
  • LDAP tools are pre-installed on most systems
  • It’s available in most scripting environments (Shell, Python, PHP, Perl)
  • The data can be viewed and edited in many ways (including plain-text)
  • The data’s structure is more flexible than a spreadsheet or RDBMS
  • We were going to need an LDAP server anyway (for authentication)
  • It’s easy for people to read and gather information
  • It’s easy for machines and automated processes to read and gather information

Skills

(In order of proficiency)

Languages

  • Python
  • Objective-C
  • HTML/CSS
  • Markdown
  • Shell Scripting
  • Swift

Development

  • Django
  • Flask
  • Pyramid
  • Plone
  • Zope

Data Sources

  • OpenLDAP
  • PostgreSQL
  • JSON
  • CSV
  • MySQL
  • ZODB
  • SQLite
  • Redis
  • Parquet

Operating Systems

  • NeXTstep/Mac OS X/macOS
  • Linux (Debian, RHEL, Ubuntu)
  • Microsoft Windows
  • FreeBSD
  • Solaris
  • AIX
  • MS-DOS
  • Mac OS

Tools and Applications

  • Quicksilver
  • TextMate
  • Zed
  • Visual Studio Code
  • Homebrew
  • Git
  • Poetry
  • Pipenv
  • tmux
  • Xcode
  • Vim
  • Dash
  • Xymon (formerly Hobbit)
  • Remedy AR System User Tool
  • Microsoft Office Suite

Services

  • SSH
  • Nginx
  • Varnish
  • HAProxy
  • Apache
  • Postfix
  • Kafka
  • Kerberos
  • IMAP (UW, Dovecot)
  • DHCP
  • BIND (DNS)
  • inetd/xinetd
  • NFS

Other

  • OpenSSL
  • Puppet
  • SaltStack
  • Docker
  • Kubernetes
  • Amazon Web Services

Education

Indiana University - Bloomington, IN

BS, Information Systems, May 1998

Studied Computer Information Systems in the IU School of Business. A strong interest in math and science is reflected in courses taken outside of the School of Business.

Training

Activities

IndyPy, 2011 – Present

Regularly attend monthly meetings of the Indianapolis Python users’ group to discuss Python and other technical topics.

Volleyball Coach, 2016 – 2019

When my daughter was playing for the Carmel Dads’ Club, I volunteered to coach her team.

Secretary, IU Water Ski Club, 1996 – 1998

Created and maintained the club web page. Monitored and responded to club related e-mail. Organized teams to attend tournaments with other schools. Taught and learned various water skiing skills with other club members. Drove and maintained the club’s competition ski boat.