I help companies design, develop, and deploy software using a flexible mix of lightweight methods, open source, and cloud native technologies.
As a key technical contributor at numerous startups, I've mentored talented software developers into productive engineering teams.
As a student, I won a merit award in computer science before studying music, computer science, and business at the university where I completed a bachelor of science degree.
When I'm not working, I enjoy music, nature, and reading.
David has a way of not just getting things done, but knowing how to do them the right way.
He can be an amazing listener and quickly developed rapport with most people. He also has a genuine interest in nurturing and mentoring others to help them achieve their goals.
He genuinely cares about the users of systems he's building.
His sense of business, technology, linux platform knowledge and insights into usability topped with his skills as a top-notch technical author makes him a great team member and collaborator.
But what strikes you the most when working with David is his ability to see the bigger technological picture and his painstaking attention to subtle nuances of detail.
Infoworld Top 100 Award 2006
We won a Top 100 Award for humanservices.net
Idea Foundry Transformation Fellowship 2004
We won a fellowship to develop Cobind
PyCon 2018, 2019
AWS and Kubernetes
Taught by Amazon
RDBMS and Internet Application Programming
Taught by Philip Greenspun and Michael Stonebraker
Git Foundations Workshop
Taught by Matthew McCullough
Bachelor of Science, Duquesne University
Pittsburgh, PA, 1991
Concentration in business, computer science, and music
Software Engineering Specialist, Caterpillar, Inc.
Pittsburgh PA, 2018 - present
Caterpillar is the world's largest construction equipment manufacturer. The Pittsburgh Automation Center focuses on R & D related to autonomous vehicles.
- Designed data management system which shepherds sensor data from collection to ingestion, storage to indexing, and search to retrieval
- Deployed cloud native technologies on Kubernetes including helm, minio, pachyderm, PostgreSQL, and rook
- Collaborated with a diverse team of embedded software, robotics, and machine learning experts
- Defined, interviewed, and hired engineering and IT positions into the local office
Senior Software Developer, Realpage, Inc.
Pittsburgh PA, 2016 - 2018
Realpage provides property management software solutions for the multifamily, commercial, single-family and vacation rental housing industries. Rent Jungle was acquired by Rainmaker. Rainmaker was acquired by Realpage.
- Led the development of property type classification using AWS, Aurora, EC2, EMR, Python, and Redshift
- Implemented new crawler data pipeline using django, python, postgresql, redis, scrapy, docker, helm, and kubernetes.
- Implemented numerous software process improvements including code reviews, bug triage, post mortems, and retrospectives
- Authored company-wide web services standards
Wellbridge is a digital health company that improves quality of life for the most vulnerable chronically ill patients by coaching them through behavior change using mobile apps and sensors to provide at-a-glance data visualization of population health.
- Built custom data analytics pipeline using Django SQL Explorer and pandas to demonstrate improved patient outcomes
- Planned and led Wellbridge's BridgIT 2.0 product development effort resulting in significant business development
- Implemented prototype in Python, Flask, and PostgreSQL to integrate data flows from Bodytrace scale API and Misfit wearable API
- Implemented functionality from the Flask prototype in productionized Django including JSONB, JWT, and JSON-API
- Implemented CircleCI continuous integration and continuous deployment
- Implemented Aptible cloud deployment on Docker and Linux
Hire an Esquire provides a social network to enable law firm recruiting agents and attorneys to establish flexible contract staffing arrangements.
- Led the refactoring of the company's Python, Django, PostgreSQL and Linux stack resulting in reduced production failures
- Led team through a redesign and implementation of the entire user experience increasing adoption by attorneys and agents
- Improved code quality with lightweight process, automated tests, continuous integration, code review, and mentoring
- Released the completely redesigned web app resulting in continued reinvestment and increased market penetration
Senior Software Developer, Forever
Pittsburgh PA, 2013 - 2014
Forever is preserving digital assets for future generations.
- Built the original prototype of the system in Python, Flask, MongoDB and Linux
- Prototyped multi-user upload, display, and download features
- Created automated tests and infrastructure based on ProxMox, Gitlab, SST, and Jenkins
- Ported the system to Ruby on Rails and PostgreSQL, AWS, Heroku, GCP, and Github
Senior Engineer, Smash
Pittsburgh PA, 2011 - 2012
Smash created interactive SMS campaigns for large commercial clients. Smash was acquired by Mind Matrix.
- Designed and implemented an SMS campaign management system based on Python, Flask, Bootstrap, PostgreSQL, and Linux
- Wrote a REST client to communicate with the company's SMS backend
- Designed and implemented a conversational SMS text interface to track blood glucose in Python, Flask, PostgreSQL, and Heroku
- Supported large client SMS text campaigns including Pittsburgh Steelers and Miller Coors
Software Development Manager, Wellspring
Pittsburgh PA, 2010 - 2011
Wellspring offers intellectual property and tech transfer management software to academic and commercial organizations.
- Managed technical contributors including IT, engineering, interns, and contractors
- Led the implementation of continuous integration and continuous deployment platforms based on Jenkins and Capistrano, respectively
- Deployed, migrated, and rolled back from the company's VPC automatically without human intervention beyond code commit
- Interacted with clients and vendors around issue resolution and service requirements, respectively
Project Engineer, Applied Perception
Cranberry Township, PA, 2008-2009
Applied Perception supplied autonomous aerial, ground, and submarine robotics to military organizations. Applied Perception was acquired by Foster Miller, which was in turn acquired by Qinetiq.
- Ported an Operator Control Unit (OCU) Windows GUI from C# and Microsoft.net to C++ and Qt that could control several robotic unmanned ground vehicles (UGV) used by the military in Iraq and Afghanistan
- Implemented Python-based parser and renderer on Windows to visualize data including reports, images, and graphs of sonar data from an underwater IED-seeking robot called HULS
UI Software Engineer, Nomos
Cranberry Township, PA, 2006 - 2007
Nomos provided intensity-modulated and image-guided radiotherapy devices for cancer treatment in hospitals. Nomos was acquired by North American Scientific, then sold to Best Medical.
- Designed and prototyped an adaptive radiotherapy treatment system
- Built wireframes, storyboards, and a variety of prototypes in PyQt, and C++/Qt
- Completed FDA-related QA work on the Mac version of NOMOS' legacy treatment planning software, Corvus
Software Design Engineer, MAYA
Pittsburgh, PA, 2004 - 2006
MAYA is a design consultancy and innovation lab.
- Implemented Python/Linux web-based systems using REST, JSON, and the proprietary VIA resository
- Implemented prototpye C# Microsoft.net drag & drop wireless lighting system which is now marketed as Equos by Philips
- Implemented a subset of the direct manipulation interface in C# compact .net framework for a PDA version of the software
- Performed expert review and affinity diagramming of usability issues on Humvee-based radar-jamming systems for General Dynamics
Pittsburgh, PA 2003 - 2004
Cobind was a Linux startup offering a Software-as-a-Service (SaaS) site enabling anyone to build their own custom Linux distributions.
- Designed a SaaS interface for building custom linux distributions
- Created Cobind Desktop - a minimalist Linux distribution that won accolades from numerous news outlets including PC World and Slashdot