Todd Kummer, Enterprise Application Design Developer in Oakland, CA, United States
Todd Kummer

Enterprise Application Design Developer in Oakland, CA, United States

Member since February 10, 2021
Todd's best fit is a client looking for an expert Ruby on Rails architect to help build out a new solution, or conversely, someone to help rescue a code base that has gone astray. His long history of product development—for software companies, internal business applications, and consumer websites—helps him find the right balance between short-term and long-term requirements and put in place best practices that will help guide the project for its full lifecycle.
Todd is now available for hire

Portfolio

Experience

Location

Oakland, CA, United States

Availability

Part-time

Preferred Environment

Ruby on Rails (RoR)

The most amazing...

...solution I've built is a product catalog that ingested data from multiple sources and enabled business owners to configure role-based views.

Employment

  • Technical Lead

    2022 - PRESENT
    Research Laboratory
    • Led a team of 6-8 remote developers, including contractors and employees.
    • Brought non-running test suite back to life and increased test coverage.
    • Collaborated with scientists to help define and address software requirements.
    • Revamped the build and deploy process, deployed a single consistent image to all environments, and addressed security vulnerabilities by making it easy to upgrade libraries.
    Technologies: Ruby, Ruby on Rails (RoR), Turbo, minitest, Docker, Docker Compose, PostgreSQL, JavaScript, Stimulus, Mentorship & Coaching, Server-side Rendering, Amazon Web Services (AWS), RuboCop, Design Patterns, Clean Code, SQL, Best Practices, Data Modeling
  • Ruby on Rails Engineer

    2021 - 2022
    SaaS HR Platform
    • Rewrote a search index job to cut a 30-hour process down to one hour, using parallel processing and batching calls to remote services.
    • Built a custom Elasticsearch adapter for the Graphiti library to enable JSON API-compliant endpoints to be backed by a search index.
    • Refactored legacy code to enable logic reuse during the transition from Ember front end to React and retired unused code from the legacy application.
    • Reduced RSpec test time by more than 50% while increasing code coverage.
    • Mentored a small team of developers learning Ruby on Rails.
    Technologies: Ruby, Ruby on Rails API, Ruby on Rails 5, RSpec, Elasticsearch, Amazon Web Services (AWS), PostgreSQL, SQL, Kubernetes, Mentorship & Coaching, Graphiti, RuboCop, Docker, Design Patterns, Docker Compose, Clean Code, Best Practices, Data Modeling
  • Ruby on Rails Engineer

    2020 - 2020
    Fortune 500 Retailer
    • Brought in best practices to a small group working in spreadsheets and reporting tools without much support from IT. Stressed the importance of automation and test environments in mitigating risk.
    • Designed an application to capture user requests (previously sent by email), enable approval workflow, and apply updates programmatically (previously done with manual SQL statements).
    • Built Ruby on Rails API for an application using a PostgreSQL database and a Redis Cache.
    • Wrote a Docker build file for deployment to Kubernetes.
    Technologies: Ruby, Ruby on Rails (RoR), PostgreSQL, Redis, Best Practices, Enterprise Application Design, Docker, RSpec, RuboCop, Ruby on Rails API, Ruby on Rails 5, Design Patterns, Docker Compose, Clean Code, Data Modeling
  • Ruby on Rails Engineer

    2019 - 2020
    Agricultural Supply Chain Platform
    • Refactored code to standardize and encapsulate the generation of accounting entries.
    • Worked with the development team to focus on unit testing first. The effort helped to speed up tests by 30%.
    • Designed and built flexible contract templates to allow pricing to be defined at multiple levels across multiple harvests.
    • Created monthly farmer statements showing inventory and processing information.
    • Updated the developer setup to use Docker for the database to remove the need for local installation. Enabled development on Linux and made the database upgrade easy for the development team.
    Technologies: Ruby, Ruby on Rails API, Clean Code, RSpec, Docker, RuboCop, Ruby on Rails 5, Design Patterns, Docker Compose, Best Practices, Data Modeling
  • Ruby on Rails Engineer

    2017 - 2019
    Fortune 500 Retailer
    • Architected a product catalog to support multiple roles, each defined by business users. The configuration was collected in a Ruby on Rails app that turned it into both serializers for the API and a contract for the SPA front end.
    • Crafted a Docker Compose file for developers to run the application with a Sinatra app, a database (PostgreSQL), a cache (Redis), a search index, and five Rails apps. Included proxy server so individual local services would automatically switch over.
    • Designed a custom ETL framework to capture data from disparate systems, including web services, flat files, and external databases. Built in Ruby on Rails, which enabled developers to quickly map from source data to a consolidated data model.
    Technologies: Ruby, Ruby on Rails (RoR), Docker, Google Cloud Platform (GCP), Stimulus, Enterprise Application Design, Clean Code, RSpec, RuboCop, Server-side Rendering, Full-stack, Ruby on Rails API, APIs, Design Patterns, Docker Compose, Best Practices, Data Modeling
  • Ruby on Rails Engineer

    2014 - 2017
    E-tailer Startup
    • Designed and built a framework to enable data to be published to multiple external systems. Each of the 20+ endpoints could have different triggers, target types (file, SOAP, and web services), formats (JSON and XML), and size thresholds.
    • Developed an inventory management platform and enabled an e-tailer to manage the availability of both drop ship and owned inventory.
    • Converted and cleaned up redundant SKU data to enable double dropdowns (size, color, finish, etc.) on the product display page.
    • Built a Java-based service to find similar products. Implemented the related products feature on the consumer website.
    Technologies: Ruby, Ruby on Rails (RoR), MySQL, Docker, RuboCop, RSpec, APIs, Java, Server-side Rendering, Full-stack, Ruby on Rails API, Design Patterns, Data Modeling

Experience

  • Filterameter: Declarative Filter Parameters for Rails Controllers
    https://github.com/RockSolt/filterameter

    Ruby on Rails applications often has boilerplate code around turning request parameters into filter criteria for the response. The controller allowlists the parameters; the model includes scopes for simple attribute criteria; then, the controller applies them.

    After writing lots of this code and seeing it written inconsistently, even within a single application, I decided to build a gem to enable declarative filter parameters for Rails controllers.

    A straightforward DSL allows developers to call out allowable filters, including validations, nested filters, and name overrides. There is no other code to write!

  • Connecting Controllers in Stimulus
    https://github.com/toddkummer/stimulus/wiki/Related-Controllers-for-Stimulus

    Stimulus is a popular open-source JavaScript library from the creators of Ruby on Rails. This fork enables controllers to be connected, making it easier to use composition with smaller, more focused controllers.

  • Next Page: Pagination for Rails Controllers
    https://github.com/RockSolt/next_page

    This open-source library is deliberately simple. It is a lightweight Ruby gem that enables developers to add pagination and sorting to Rails controllers. Out of the box, it provides bi-directional sorting on attributes, nested attributes, or scopes.

  • Run Time Settings: Persisted Key-value Pairs for App Settings
    https://github.com/RockSolt/run_time_settings

    Inevitable applications need a small number of flags. Maybe it is to turn jobs on and off, and maybe it is to set thresholds for processing. If the settings do not need to change between deployments, then environment variables are a good choice.

    However, if users want to change a value more frequently or want someone without the ability to do a deployment to change a value, another solution is needed. This Ruby gem provides it, allowing developers to quickly add run time settings wherever they make the most sense: on a job, on a model, or even on a PORO.

Skills

  • Languages

    Ruby, SQL, JavaScript, Java, HTML, CSS
  • Frameworks

    Ruby on Rails (RoR), Ruby on Rails 5, Stimulus, minitest
  • Libraries/APIs

    Ruby on Rails API, Graphiti
  • Tools

    RSpec, RuboCop, Docker Compose, Turbo
  • Paradigms

    Clean Code, Best Practices, Design Patterns
  • Other

    Enterprise Application Design, Data Modeling, APIs, Server-side Rendering, Full-stack, Mentorship & Coaching, Communication
  • Platforms

    Docker, Google Cloud Platform (GCP), Amazon Web Services (AWS), Kubernetes
  • Storage

    PostgreSQL, Redis, MySQL, Elasticsearch

Education

  • Bachelor's Degree in English
    1989 - 1993
    University of California, Berkeley - Berkeley, CA

To view more profiles

Join Toptal
Share it with others