/resume

I make and maintain software.

Primary LanguageHTML

Josh Duff

me@JoshDuff.com

I've spent over a decade building desktop and web applications for various industries.

I've delivered software solutions by myself, and as a member of small teams.

I prefer to work as a project manager/developer, interacting directly with customers and translating business requirements into deliverables with the help of my peers.

I like to work on boring-sounding business software that people use to get their jobs done.

Previous employers

Workshop (internal communications) 2023-current

Developed an email editor to replace a third-party whitelabeled editor.

T.Rex Arms (ecommerce, fulfillment, manufacturing in the firearm accessories industry), 2020-2023

Worked primarily on the internal software that coordinated inventory, sales, fulfillment, customer service, manufacturing.

EquipmentShare (heavy construction equipment industry), 2019-2020

Developed the front-end of a payroll administration webapp.

Duff Ventures (consulting) 2017-2019

I worked as a freelancer, mostly serving clients in the publishing and customer service industries.

Cake (consumer software), 2016-2017 (remote)

With two other developers, added features and fixed bugs to get the node.js/Express/React app Cake closer to shipping.

eDataSource (email marketing industry), 2013-2016 (remote)

  • With a team of 3-4 developers:
    • Built and maintained a distributed Java application that processes millions of emails per day, indexing the commercial email campaigns and storing the results in MySQL and ElasticSearch
    • Developed a client-facing AngularJS application Email Analyst, used by email marketers to determine the effectiveness of their marketing campaigns and diagnose email deliverability problems
    • Maintained Boxbe, a spam-filtering service used by 1M+ users
  • Built the internal admin site used to manage the domain/brand/company taxonomy, and administrate client user accounts

ISoft Data Systems (car parts and heavy truck parts industries), 2005-2013

In roughly chronological order:

  • Maintenance and feature development for an inventory/point of sale application built with C++/MySQL
  • Made a minimal CRM tool for internal support use, using PHP and MySQL
  • Made a time-tracking system with a PHP/MySQL back-end
  • Worked with partner customers to develop an enterprise application for the heavy truck parts industry
  • Made a push-based replication tool for MySQL databases
  • Became lead developer/designer of legacy Windows application
  • Codified standards for internal documentation in the company wiki, curating and maintaining all input
  • Made an XMPP chatbot for use in company chat rooms using C++/Gloox
  • Made an application for performing queries directly against Quickbooks company files
  • Made a prototype for a PhoneGap-capable mobile version of parts search portal HeavyTruckParts.net with jQuery Mobile, PHP, TinyMVC
  • Made a web application for enterprise inventory software, for use on mobile hardware with barcode scanners
  • Made a client framework in JavaScript capable of running in Windows CE's IE6, and Safari Mobile
  • Made API frameworks for the server-side in both PHP and JavaScript (using node.js)

As the sole phone support tech during my first year at ISoft:

  • Handled all incoming support calls for a Windows-based application
  • Maintained and added to a suite of reports built with Crystal Reports and MySQL queries
  • Travelled to customer locations to perform installations and training
For a long-form description of my time at ISoft, click here.

Open source

Larger projects

An arbitrary selection of my smaller libraries

  • sql-concat, for building SQL statements programmatically
  • financial-number, for arbitrary-precision arithmetic on financial values
  • regex-fun, for writing maintainable regular expressions
  • sheetsy, for using Google Sheets as a low-friction CMS

Plus hundreds of other JS libraries on GitHub.

Familiar Technologies

Delivered products/features using:

  • JavaScript
    • node.js
    • AngularJS
    • React
    • Redux
    • Svelte
    • Express
    • Koa
    • Vue
  • Java
  • PHP
  • C++
  • Databases
    • MySQL
    • SQLite
    • ElasticSearch
    • Redis
  • CircleCI