Jeffrey A. Dettmann
Verified Expert in Engineering
Jeff has broad experience using multiple technical stacks. Where he excels is data migration, ETL, and resolving difficult problems, like debugging unfamiliar applications and integrating systems designed to work standalone. While Jeff began working in technology in a university setting, he also has experience working in companies—both small and large.
Linux Mint, Ubuntu, Git, Emacs
The most amazing...
...integration I've orchestrated involved two outside vendors, two internal departments, and three software development teams.
- Refactored an application to accept multiple payment processors. The existing system was hard-coded to use Stripe.
- Set the update-to-charge feature when available, with seamless fallback on the fail. The initial system charged a client the nominal amount and created a new charge after completing the ride. Updating the existing charge improved the collection rate.
- Added a Rake task to update VCR cassettes for a test suite associated with the team. The existing application was a monolith, so the task could not impact other teams' processes.
- Transitioned from using configuration files on a client-hosted Python application to retrieving configuration from the server.
- Ported the notification logic from Python to Ruby on Rails.
- Added a duplication check removal for synchronized data from the client's system.
- Converted the content from 69 language learning activity models from two systems into a single one with even models and built the server that hosted these new models.
- Coordinated the transfer of a scheduling service from a vendor to in-house using a shim server with no downtime and no changes to scheduling service client software.
- Built a server in R for evaluating courseware efficacy.
- Developed a performance monitoring system using Splunk.
- Composed multiple scripts in Python for visualizing software usage statistics.
- Built and maintained multiple microservices, including authorization, authentication, and content servers.
- Created a migration tool in Python that made authenticated REST calls to multiple services in order to build new profiles, with associated privileges, in a new application.
- Developed multiple custom integrations with external vendor systems.
- Customized an open-source content management system for numerous clients.
- Performed a batch conversion of hundreds of media files to Flash.
- Coordinated the integration of a CMS with clients' software.
- Added an Amazon S3 storage module for the CMS, as the previous system stored media files on a server, which was unsuitable for video.
Senior Systems Analyst
The University of Texas at Austin
- Migrated a legacy JCL-generated code to a new system.
- Constructed a tool to generate the SVG of a directed graph of JCL job queues.
- Added a secure storage system to an internal storage tool.
- Developed and maintained mainframe applications using NATURAL and ADABAS.
- Built the utility to generate testing code for mainframe applications.
Migration of a Scheduling System
I built a reverse proxy for the service and had all client's applications point to it instead of the vendor service. Then, I began converting the calls so that the proxy would write to both scheduling services while reading from the vendor service. By implementing this process, I could synchronize the data in both scheduling services without any downtime.
After the full data synchronization, I reconfigured the service to read from the service and convert the results to match the API of the vendor service. At this point, the development teams from both departments were able to integrate with the new service when they wanted while maintaining full uptime and data integrity.
Debugging the Degradation of a Service
Faced with the data, the vendor agreed that the problem was on their end and rebooted their servers, which temporarily addressed the issue. I set up a script to monitor the average login latency of the service, and thereby we noticed degradation before users started complaining and would then ask the vendor to reboot.
Data Visualization of Skipped Activities
I developed a visualization of the skipping patterns that showed how the method of selecting the next activity exacerbated user frustration and increased the likelihood of skipping out of the section altogether. My work led to a correction in the algorithm that selected activities for users.
Reversible Data Migration
For the most part, the migration was seamless, but on occasion, the converted data would need to be manually validated and potentially altered to continue desired behavior. This process was completely reversible, so if the conversion went too far, the owners could go back to using the old system while determining their best path forward.
SVG Representation of a Dependency Graph
The data model for these job networks was a collection of nodes and edges that were bound together by a common naming standard. So one record would say: "A triggers B on success," and another record would say: "B triggers C on success." The system would know by the names A, B, and C that they were all part of the same job network.
My task was to take these collections of nodes and edges and render a directed graph in SVG so that users could easily visualize the dependencies of their job network.
Ruby on Rails (RoR), Scaled Agile Framework (SAFe), RStudio Shiny
SQL, Ruby, Python, Java, NATURAL, R, Bash, XSLT, XPath, XML
Ruby on Rails API, Matplotlib, Pandas, FFmpeg, ImageMagick, PIL, Stripe API
MySQL, ADABAS, Amazon S3 (AWS S3), CouchDB, MongoDB, JSON, PostgreSQL
Emacs, Vim Text Editor, RSpec, RuboCop, RabbitMQ, Git, Subversion (SVN), Perforce, Jenkins, Splunk, Adyen Payments, TeamCity, VCR, DataViz
Scrum, Test-driven Development (TDD), ETL Implementation & Design, ETL
RStudio, Linux Mint, Ubuntu, Docker
RSync, Pdf2xml, Tesseract, APIs, SVG, Scrum Master
PhD Degree in History
University of Texas, Austin - Austin, TX, USA
Bachelor of Arts Degree in Geography
University of Chicago - Chicago, IL, USA
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.Start hiring