Hi, I’m Josh Mills!
I love writing Ruby & Go , rocking out to Taylor Swift , and using gifs and emoji to make others smile .
I’ve been writing software professionally for nearly 20 years, leaning strongly towards back-end development. 🥳
I enjoy empathetic, lighthearted, collaborative teams, that I can learn from. 💗
- I Ruby & Go. I love the communities, and the languages.
- I love to write human-readable code. ⌨️
- I really enjoy working and collaborating with others. 🎙️
- I adore my colleagues, and will always make time for them, regardless of skill level.👂🏼
I absolutely love people, and I want my work to have a positive impact on them. ❤️🔥
- Ten years of Ruby.
- Eight years of Ruby on Rails.
- Two years of Go.
- Two years of Docker.
- Five years managing the back-end of a web service (CentOS, Ubuntu, MySQL, Redis).
- Eight years
- Writing automated tests.
- Working in healthcare and with HIPAA. 🩺
- As a remote team member. 💻
Dropbox Gif Linker
I have a lot of gifs in my Dropbox, so I wanted a simpler way to get a publicly viewable URL. It connects to Dropbox’s API and creates a public share, caches that in a key-value store (in said Dropbox), and provides an embeddable URL. Great for markdown and BBCode support.
Originally written in Ruby, now written in Go.
Caring for Karen Sue
A charity-focused site that holds annual golf-based events, built in Ruby using Rails. Uses PayPal for payment processing.
Simple but effective command line tool that looks up gem details using RubyGems.org’s public API and displays the results in an emoji-filled fashion. Makes concurrent requests and obeys the rate limit via it’s batching feature.
Where I put notes from books I’ve read. Makes it much easier to study across machines, and provides a handy, searchable reference.
- Source: GitHub
Book Notes Generator
Extracted from the early version of my Book Notes, it reads a YAML file and generates the core markdown files for the chapters and sections. It also places them directly into the above Book Notes project in a new folder, with a handy Readme link provided at the end.
- Source: GitHub
Go! Call Me (Maybe)!
Created to send emergency phone calls and text messages. Originally a Sinatra-based Ruby application called Alexa Alerter, I converted this into a Go-based binary that works with Twilio and can be uploaded to the AWS Lambda service, with environment variables controlling some of the features. It then can have an Alexa-based skill pointed towards it, enabling features like, “tell Josh I need him”.
🦠 Global Pandemic Goofs
This abomination of a website was created because of the absurdness of the global pandemic. At one point, this pandemic will pass, and then this site will be useless, so we goof on it while we can. It is a Ruby application utilizing Sinatra and has weighted logic to select random elements that make up the phrases. It reads from text files to provide options to replace the phrase, “In this global pandemic?”, with something like, “In this gleaming pop concert hall?”, or “In this gothic Pulp Juice And Smoothie Bar?” It even has a simple, but effective, API.
- Source: GitHub
Migrated to a cross-platform terminal emulator called kitty and realized it did not support the default Emoji keyboard on MacOS. Submitted a PR which added the missing support, and (although the PR was closed), it was addressed minutes later in a new commit by the maintainer, with a reference included.
Found two bugs in the project related to a previous user’s PR. One related to support for the Redis
version dependency being increased when it made no sense, the other related to missing library
sinatra/json. I fixed both the bugs, as well as introduced tests into the project to
make sure that the core framework would load.
Discovered an IE8-related bug in Turbolinks and submitted a PR to the project to fix it.
- Pull request: GitHub
🥽 AppliedVR (2022 to present)
Staff Software Developer
- Stressed the importance of tests in code and led the charge by example.
- Took the initiative to smash technical debt around outdated tests, and raised the passing specs from 40% to 100%.
- Upgraded the back-end Rails monolith from Ruby 2.7 to Ruby 3.1.
CoverMyMeds (2015 to 2022)
- Handled the upgrade process for multiple applications through many Ruby and Rails versions.
- Worked with developers and operations to standardize interactions in our migration to recently dockerized applications.
- Helped introduce a JSON Web Token (JWT) authorization process for our users.
- Built and maintained microservice-based, RESTful APIs.
Vya (2007 to 2015)
Senior Software Developer (2010 to 2015)
- Coached external teams in building modules to incorporate into the marketing portal.
- Worked with clients to create single sign-on processes for users originating in their systems.
- Wrote, instituted and tested a comprehensive web application disaster recovery plan.
- Managed the MySQL database back-end, tuning performance settings and optimizing queries.
- Introduced full support for the MVC development pattern in a custom PHP framework.
- Migrated the marketing portal codebase to run on Windows Server, CentOS, and Ubuntu.
Internet Application Developer (2007 to 2010)
- Created a dynamic reporting system to offload work from support.
- Migrated the marketing portal codebase to from Mac OS X Server to Windows Server.
- Introduced the use of coding standards.
Self-Employed Contractor (2004 to 2007)
- Maintained the Advanced Office System (AOS) REALTOR-focused showing system.
- Worked with REALTOR-based listing services to create custom data imports for clients.
- Created an integrated online support system for managing user-submitted tickets.
ITT Technical Institute
Associate of Computer Science in Software Applications and Programming