Daniel Chetlin

Data and App Developer

Contact InformationSkills
  • Python (including PySpark)
  • SQL (especially PostgreSQL and Redshift)
  • TypeScript (and JavaScript) + Next.js/React
  • Scala
  • Clojure (including Fulcro)
  • Ruby + Rails/Sinatra
  • Rust
  • Erlang (and Elixir)
  • Go
  • C#
  • Kotlin (including Android Studio/Android development)
  • Xcode/iOS development with Objective-C and Swift
Technical Pursuits & Side Projects
  • Micro-startups
  • Game development
  • Automated action bots
  • Talks, blogs, forums, technical books
Personal Interests & Hobbies
  • Dad of a budding programming and performing arts high schooler
  • Dog dad of a naughty but earnest golden retriever
  • Vegan since September 2020
  • Regular (multiple-times per week) gym (personal training and group class) sessions since April 2021
  • Aspiring endurance runner (Currently rehabbing an achilles injury)
  • Coaching and teaching
  • Hiking, backpacking, biking, and camping
  • Reading speculative fiction
  • Playing roller hockey (sometimes ice too)

About

I design, model, implement, support, and maintain state machines. In permanent positions, that has mostly taken the form of data engineering and architecture:

  • Building and being responsible for ETLs (including internal and 3rd-party integrations, both push and pull, batch and streaming)
  • Machine learning pipelines
  • Database schema design, DB appliance upgrades, and DB and app server migrations
  • Visualization and reporting - building prototypes, internal tools, and customer-facing products, as well as choosing, configuring, and maintaining integrations for third-party offerings

For contract and consulting work, as well as personal/side/toy projects and to bootstrap/prototype projects in permanent roles, I have done more standard app and server development, essentially full-stack but generally rough around the edges at the front-end.

I am always open to interesting and enriching opportunities of various structures, but the bar for taking a permanent role is quite high. My next full-time job is most likely to be in the data/ml space, tackling hard problems and leveraging my experience and capabilities for a high-performing organization. I'm particularly interested in streaming and real-time pipelines, as well as hybrid streaming/batch situations.

For contracts/consulting, the bar is less high and rigid - I am seeking data, app, and server development jobs, as well as devops and DBA work.

Permanent Roles

  • HomebaseOct 2018 - Present

    Principal Software Engineer, DataRemote (from Pittsburgh)

    • Technical lead for data engineering at Homebase, and a seat at the architects table
    • Took the data warehouse and ETL from Cron and ZSQL to Airflow and Python, modernizing and hardening hundreds of tasks and transformations, and showing the way to a consistent and observable suite of batch processes
    • Led the development of numerous new workflows and integrations; instituted conventions and processes around how to use APIs and structure data at rest
    • Built out a Spark processing workflow from the ground up, taking expensive processing off of Redshift and keeping it out of Airflow. Educated the team (and company) on ways to best leverage the distributed computing platform
    • Part of the hiring process for 3 data engineers and 2 data architects
    • Took on ownership of the operation of a new, external data business which came to fruition during the pandemic
    • Half of a team spiking out a V1 of a portal and API for the external data business, designing and implementing two new services to deliver visualizations and intelligence about Homebase data to customers like hedge funds, journalists, and academics
    • Extensive pairing with, mentoring, and phone-a-friend answering for the data engineering team, which includes several junior / inexperienced members

  • UpserveMay 2016 - March 2018

    Senior Software DeveloperRemote (from Pittsburgh)

    • Member of a team primarily responsible for migrating Breadcrumb servers/infrastructure from Groupon to Upserve
    • Integrated Breadcrumb and Upserve payment systems with each other and worked on bringing the acquired gateway/processor into Upserve's PCI bubble
    • Helped transition Breadcrumb from hard to soft deletes
    • Leveled up on devops and AWS infrastructure, including RDS, ECS, Dynamo, Elasticache, Route 53, multi-account deployments, multi-VPC deployments
    • Contributed to an automated development pipeline including GitHub, Jenkins, and Slack integrations
    • Spiked into performance bottleneck sleuthing and load testing of services; developed techniques for reproducing conditions which led to incidents
    • Led database upgrades and DB server migrations; incorporated foss tools and built software to manage and track progress of large-scale movements of data
    • Member of pager rotation for all of engineering; helped resolve incidents and restore functionality; go-to person for database incidents, emergencies, and mitigations

  • GrouponJuly 2012 - May 2016

    Senior Software DeveloperSF Bay Area -> Remote (from Pittsburgh)

    • [Breadcrumb] Key member of development team that redesigned and rebuilt Breadcrumb POS (Django -> Rails and an all new iPad app)
    • [Breadcrumb] Migrated Breadcrumb's infrastructure, servers, and databases from AWS where it had been since acquisition to Groupon's datacenter
    • [Breadcrumb] Invented and built a "migration bridge" from the v1 infrastructure to v2. The bridge kept a one-way live sync going between the old DB and the new one, so that at any time, business operations/customer success teammates were able to press the "big red button" which moved a restaurant from v1 to v2 and allowed them to continue operating seamlessly. This process was followed by every restaurant on Breadcrumb, eventually allowing the v1 database to be turned off without having ever stopped operating.
    • [Breadcrumb] Instituted and maintained a leader-replica cluster for insulating the transactor from read queries, and various other scalability and performance improvements around the database
    • [Breadcrumb] Part of a team tasked with the design and implementation of web-based customer-facing reports system (replacing and vastly expanding on the reports available in v1). Focused on feeding the visualizations with up-to-date data (restaurant owners often want to know how much they've taken in up until the present moment) without overloading the transactional system
    • [Ubergateway] (Ubergateway is/was a Groupon-acquired Rails payments backend "hydra") Part of a team responsible for integrating Ubergateway into existing Groupon payments architechture
    • [Ubergateway] implementing additional low-level payment processing standards/protocols for further payments integrations
    • [Ubergateway] aligning data and reporting systems with analogues in Breadcrumb
    • [On-call] 1/3 to 1/5 of Breadcrumb/Ubergateway pager rotation
    • [On-call] Playbooks and procedures for outages and other problems

  • ModClothAugust 2010 - June 2012

    Lead Developer, Business IntelligencePittsburgh,PA

    • Data Warehouse: maintaining a Pentaho ETL
    • Developing a Ruby-based ETL replacement and corresponding data pipeline
    • Providing data resources and software to data science and machine-learning team
    • Supporting executives and other internal customers in business data exploration
    • Programming for non-programmers: developed curriculum and co-led sessions teaching non-programmer employees some programming basics
    • Part of the interviewing team for hiring several developers