Resumé

Summary


  • Python/Django developer since 2008
  • Unix/Linux System Administrator since 2007
  • Open Source enthusiast
  • GitHub Profile

Skills


  • Programming Languages

    • Proficient with: Python, HTML, BASH and Javascript
    • Familiar with: Perl, Ruby, C++
  • Tools

    • Databases: PostgreSQL, EnterpriseDB, MySQL, MongoDB, DynamoDB
    • Version Control: SVN, Git, Mercurial
    • J2EE Containers: Tomcat, Resin, Jetty
    • Natural Language Processing: NLTK
    • Messaging/Queueing: RabbitMQ, Celery
    • LDAP: OpenLDAP, 389
    • Web servers: Nginx, Apache
    • Puppet, Ansible
    • Vagrant
    • Docker
    • Amazon Web Services (EC2, S3, Route53, RDS, DynamoDB)

Employment History


  • June 2014 — present: Senior Sofware Engineer at Analyte Health in Chicago, Illinois

    • Returned to Analyte Health after a year away to a very different team with new challenges to solve
    • Assisted in many new third party integrations
    • Helped in the automation of our systems and operations.
    • Improved our testing tool chain and deployment processes
    • Developed new and maintained existing RESTful API endpoints
    • Led projects from the tech side, providing valuable insight and direction to our Product teams
    • Mentored and trained new/junior developers
  • June 2013 — June 2014: Software Engineer at EdgeFlip in Chicago, Illinois

    • Implemented asynchronous task processing pipeline using RabbitMQ and Celery
    • As one of the first developers with the company, instituted a culture of testing and code review
    • Took over devops and system administration duties, leveraging Puppet and AWS for automated deployments
    • Helped lead development of core product, and reporting tools
  • May 2011 — June 2013: Team Lead at Analyte Health in Chicago, Illinois

    • Team Lead as of February 2013, prior to that was a Software Engineer.
    • Built integrations with third parties, making heavy use of asynchronous processing with Celery and RabbitMQ
    • Worked on our main customer facing sites STD Test Express and Sexual Health, along with various back office sites, all built with Python and Django.
    • Assisted in creating a culture of good development practices including testing guidelines, code reviews, and proper code style.
    • Created a RESTful API for third party services, such as SalesForce, to use.
    • Led and mentored a team of developers
    • Provided additional system administration support to our operations team
  • May 2010 — May 2011: Software Developer at QuattroSource Consulting in Chicago, Illinois

    • Our main focus was working with a large marketing firm. In this capacity we built a suite of tools for data mining and analysis
    • Natural language processing with Python’s NLTK library
    • Developed wrappers for various social media services (YouTube, Twitter, BoardReader)
    • Database administration – MongoDB and MySQL
    • Infrastructure design and system administration, including managing our MongoDB cluster.
    • Leveraged django-nonrel to create a hybrid MySQL and MongoDB environment
    • Ported legacy TurboGears applications to Django
  • June 2009 — May 2010: Software Developer at Imaginary Landscape in Chicago, Illinois

    • Developed a number of customer sites with Python/Django
    • Developed for and maintained our legacy applications that were based on the Paste framework
    • Performed a variety of system administration tasks
  • October 2007 — June 2009: Linux System Administrator at Contegix in St. Louis, Missouri

    • From mid-2008 to 2009 worked as a Shift Lead, leading, training, and managing a small group of engineers
    • Dealt with a very wide array of customer issues including:
      • Deploying new sites and services including:
        • J2EE Applications (Confluce, Bamboo, JIRA, OfBiz)
        • PHP Applications (Wordpress, Joomla, Drupal, etc)
        • Writing custom deployment scripts for customer’s custom built applications
      • Database administration including MySQL, PostgreSQL, EnterpriseDB
      • User management, including LDAP
      • Handling DDoS situations for customers
      • Help customers manage scaling issues, including helping them benchmark their applications