Career Profile

I’m Josh — a full stack software engineer with over 10 years of experience in the web hosting industry. I specialize in web application development with Ruby on Rails and WordPress. I have a strong background in Linux systems administration and can oversee a project from its inception to deployment. I enjoy solving challenging problems and helping other developers through mentoring and Open Source Software contributions.


Work Experience

Sr. Developer

Envato Pty Ltd. (Remote)
Jul 2017 - Present

Work with the Uptime team maintaining performance and security on ThemeForest, one of the world’s largest Rails sites by traffic. Duties include bug-fixes, performance improvements, regular platform and dependency updates, responding to on-call issues, and general support. Previously worked with the Hosted team maintaining the Rails billing system acquired from Pressed in 2017

Sr. Software Engineer

Pressed Platform, Inc (Remote)
Jul 2015 - Jul 2017

Worked with the software and cloud engineering teams to build and maintain staff, partner, and customer control panels used to power managed WordPress hosting services. Was responsible for maintenance and implementation of new features of our Rails applications and libraries that integrate with the hosting platform and WordPress. Worked closely with CTO and senior software engineers to help review and interview candidates for employment. Frequently contributed to open source projects used or created by Pressed engineers.

Software Engineer

World Wide Web Hosting, LLC (Remote)
May 2011 - Jul 2015

Worked with the software engineering team to build and maintain several internally used systems for staff and customers to manage web hosting services. Was responsible for maintenance and new features implemented for our legacy billing system, Synco, and its replacement, Helix. Oversaw the successful migration of several thousand customers from WHMCS systems into Helix. Regularly assisted other engineers with on-boarding and code reviews. Was the project lead for our Website.me product and oversaw its initial development and deployment. Frequently contributed to and helped manage our open source projects on GitHub.

Software Engineer

HostRocket.com, Inc (Clifton Park, NY)
Dec 2008 - May 2011

Led development for several key projects for ViaTalk and DotBlock (both subsidiaries of HostRocket). Was responsible for maintenance and security updates for the ViaTalk customer/staff control panel; the web application powering Ennouncement.com; the external order form used for DotBlock; and DotBlock’s v1 iPhone application.

VoIP Engineer

ViaTalk, LLC (Clifton Park, NY)
Nov 2006 - Dec 2008

Provided L2 technical support for clients and the Technical Support team via phone and ticket. Implemented new features for the VoIP platform. Implemented several internal systems used by management to track support calls and tickets. Implemented the ViaTalk PBX from the ground up, an application responsible for handling hundreds of daily support calls for ViaTalk and its sister company HostRocket. Was responsible for bringing up new servers and maintaining health of the VoIP network, including responding to emergencies as part of the on-call team.


Professional Projects

Hosted Orders API

Envato Pty Ltd.
Jun 2018

The Hosted Orders API is a Rails-based REST API used to create new subscriber and web hosting services in the Hosted billing system. This API is primarily designed for consumption by a React-based order form. I designed the full API and oversaw its release.

Author Managed Designs

Envato Pty Ltd.
Mar 2018

Author Managed Designs is a project that allows WordPress theme authors on Envato Hosted to manage the state of their theme that is for sale. The author can sign in to a limited version of the Hosted Build Control Panel and provision demo sites with their themes. They can customize the site and then export it for use on our hosting platform. I helped with the release of the control panel and developed the archiving system.

Bender Builds

Envato Pty Ltd.
Sep 2017 - Jul 2018

Bender Builds is a project to automate the installation of WordPress themes and plugins for customers of Envato Hosted. It allows administrators to quickly bundle themes and their dependencies, providing near-instant website setup for new customers. On the backend, Capybara simulates a WordPress installation, including plugin installation and general configuration. The Hosted billing system coordinates the build process for each theme. I worked on a large portion of the backend project responsible for packaging the themes, and I implemented integration with this system into the Hosted billing system.

LRT Sports

LRT Sports, LLC
Dec 2016 - Present

I developed the Rails application for LRT Sports, a website that helps student athletes through the college recruiting process. My work involved replacing an existing coach and school search directory with a fully custom one. The Rails application is responsible for pulling information from a third party API for coaches and schools, and formatting the date for use in student searches and ratings. Recently, I implemented a new recurring subscription service.

MWP Admin Impersonation

Pressed, LLC / Envato Pty Ltd.
Oct 2016 - Jul 2018

MWP Admin Impersonation allows staff and customers to securely sign in to WordPress Admin from the Envato Hosted Rails applications – without the need for a password. I created the WordPress plugin that handles authentication and oversaw its deployment to the Hosted platform, and also integrated it with the Hosted Rails applications.

MWP Let's Encrypt

Pressed, LLC / Envato Pty Ltd.
Apr 2016 - Jul 2018

We use Let’s Encrypt to provide SSL support for customer websites at Pressed. Record keeping and provisioning certificates is handled by a Rails-based billing system. Certificates are sent to the hosting platform for installation on customer websites. I helped with the initial implementation and deployment.

MWP Order Form

Pressed, LLC / Envato Pty Ltd.
Oct 2015 - Jul 2018

The Pressed MWP Order Form is a white-labeled form available to different brands. It allows their customers to order Managed WordPress hosting. Customer information is stored in a Rails billing system and used to provision their websites. I was a lead developer involved with several different implementation of the order form over the years, including the front end UI and the backend provisioning process.

Partner Panel

Pressed, LLC / Envato Pty Ltd.
Sep 2015 - Jul 2018

The Pressed Partner Panel allows brands to manage their web hosting customer and sales with Pressed. It includes a variety of reports based on customer data, protected when necessary. A custom permission system allows different partners different levels of access to data and troubleshooting tools. I was a lead developer on the project and helped ship the initial version.

Pressed Bundles

Pressed, LLC / Envato Pty Ltd.
Jul 2015 - Jul 2018

Pressed Bundles allow customers to order web hosting with preinstalled WordPress themes. I was the lead developer tasked with automating the installation process of several dozen WordPress themes, in many cases implementing custom WP-CLI plugins. I also lead the integration of this installation process into our custom Rails-based billing system, including general record keeping and the customer order UI/UX.

Campagna Restaurant

Campagna Restaurant, LLC
Apr 2015

I worked with Allusis Productions to automate the deployment process for Campagna Restaurant. A traditional PHP deployment left the site open to possible bugs and downtime. I configured the existing application to support staging and production environments, automated deploys, caching, and easy backups. I also setup monitoring and integration testing to help avoid downtime.

Website.me

World Wide Web Hosting, LLC
Apr 2014 - Aug 2016

Website.me is a free service provided by World Wide Web Hosting that provides a Single Sign On solution for cPanel and WordPress accounts. I was the project lead and helped with its initial implementation and deployment with another developer. The application was written using Ruby on Rails, PostgreSQL, jQuery, Coffeescript, and SCSS, and integrated directly with our in-house billing system, Helix.

Wormhole

World Wide Web Hosting, LLC
Jan 2013 - Jul 2015

Wormhole is a custom built RubyGem that is used to export customer billing information from WHMCS into our in-house billing system, Helix. I created the initial implementation and oversaw the successful migration of several thousand clients from WHMCS into Helix. The library was created using Ruby, PostgreSQL and MySQL.

Helix

World Wide Web Hosting, LLC
Sep 2011 - Present

Helix is a custom built billing system that is used by staff and customers to manage web hosting services. I have been a lead developer on this project since it’s inception. I helped create and deploy the initial implementation, including the UI, while at World Wide Web Hosting, and currently maintain it with the software engineering team at Pressed. The application was designed using Ruby on Rails, PostgreSQL, jQuery, Coffeescript, and SCSS on top of AWS. Helix also includes several supplemental Rails applications and Ruby gems which I helped implement and deploy. See full case study.

Synco

World Wide Web Hosting, LLC
May 2011 - Jul 2015

Synco is a web application that allows customers to sign up and manage their services, and allows staff to manage customers and services. I joined this project after its initial development while it was nearing end of life. I was responsible for security updates and implementing critical new features.

Liberty Sports Group Theme

Liberty Sports Group, LLC
Apr 2011

I worked with Allusis Productions to develop a fully custom WordPress site for Liberty Sports Group. I implemented the sites WordPress theme and multiple plugins to improve the admin experience. I also oversaw the initial deployment of the website.

iZabbix

ViaTalk, LLC
Oct 2010 - May 2011

iZabbix is an iPhone application used internally by VoIP engineers to receive alerts from Zabbix. The iPhone application was designed using Appcelerator Titanium. The supporting API was designed using Ruby on Rails and is responsible for relaying alerts from Zabbix to users’ phones using a custom built RubyGem to communicate with the Apple Push Notification Service.

DotBlock Mobile

ViaTalk, LLC
Oct 2010 - May 2011

DotBlock Mobile is an iPhone application that allows customers to manage their accounts and VPSs. The iPhone application was designed using Appcelerator Titanium. The supporting API was designed using Ruby and Sinatra, and is responsible for fetching customer info and issuing commands to VPS hypervisors. I also worked on public documentation for the API and implemented wrappers in several languages to allow DotBlock customers to easily build software around their VPSs.

DotBlock Order Form

ViaTalk, LLC
Aug 2010 - May 2011

DotBlock Order Form is the web application used to accept customer orders at dotblock.com. It was designed using Ruby on Rails and jQuery and custom RubyGems that communicate with the existing billing system.

Ennouncement

ViaTalk, LLC
Apr 2010 - May 2011

Ennouncement is a web application that allows users to broadcast important voice messages to groups of users. The web application was designed using Ruby on Rails, MySQL and jQuery. I also worked on integrating this service with the ViaTalk Control Panel to allow ViaTalk customers to use call broadcasting features.

Will Dikker

Will Dikker, LLC
Jan 2009 - Apr 2009

I was the lead consultant for a local startup, Will Dikker, which provides a marketplace for used cars, trucks, and more. Users receive free Will Dikker Stikkers with an SMS shortcode that can be texted for more information on an item. I handled all backend development on the Rails application, including integration with Air2Web for SMS communications, billing via Authorize.net, and server setup.

ViaTalk Control Panel

ViaTalk, LLC
Dec 2008 - May 2011

ViaTalk Control Panel is a web application that allows customers to sign up and manage their services, and allows staff to manage customers and services. The application was designed using Ruby on Rails, MySQL and jQuery and was tightly integrated with the ViaTalk VoIP platform. I joined the project after its initial development, and was the sole developer responsible for ongoing maintenance, security updates, and implementation of new features. I migrated the project’s code repository from SVN to Git and improved average deploy times from over 10 minutes to under 30 seconds.

Let's Call Santa

ViaTalk, LLC
Dec 2008 - May 2011

Let’s Call Santa is a free service that lets children leave a voicemail for Santa to let him know what they’d like for Christmas. The voicemail is delivered to parents via email and can be shared on Facebook and Twitter. The web application was designed using CodeIgniter, MySQL, and jQuery; in 2009 I rewrote the application in Ruby on Rails. This project was initially completed in about 1 week and remains one of my favorite projects I’ve worked on.

ViaTalk PBX

ViaTalk, LLC
Aug 2008 - May 2011

ViaTalk PBX is an VoIP/web application that powers support calls for ViaTalk, HostRocket, and DotBlock. The application handles routing incoming calls to support queues, call detail record logging, and displaying an overview of past and current calls. I was responsible for the entire application including server setup and maintenance. The backend VoIP application was designed using Asterisk and MySQL. The web application was designed using PHP, CodeIgniter, and MySQL. ViaTalk PBX served 500-1000 of daily support calls and had nearly perfect uptime under my care.

Lebanon Valley Economic Development Corporation

Lebanon Valley Economic Development Corporation
Jul 2008

Developed new company website using CodeIgniter and MySQL. Original site was written in ColdFusion and used Macromedia Contribute for content management.

Creative Dance Arts

Creative Dance Arts, LLC
Sep 2005 - Oct 2016

I developed 3 major versions of the company website for Creative Dance Arts over the course of 11 years, including two custom WordPress themes. The I trained the Artistic Director on the use of WordPress to manage the site’s content and monitor visitors. I also provided support for the site’s 200+ users when classes were in session.

Inglenook Realty

Inglenook Realty, Inc
May 2005 - May 2009

I developed the company website and content management system using CodeIgniter and MySQL. I worked directly with the client to fine tune the website exactly to their specifications, and performed several upgrades to meet the changing needs of their customers and the real estate market.


Open Source Projects

I’m deeply passionate about open source and sharing knowledge and code. Almost all of my day to day work involves open source software and I take every opportunity to give back to the community.

Sep 2018 - Present

Vim wrapper for ShellCheck, a static analysis tool for shell scripts.

It adds adds :ShellCheck and :LShellCheck commands to run ShellCheck on the current buffer (or custom range/visual selection). Errors are sent to the quickfix/location list window, and in error windows, gb opens the GitHub wiki page for the error in a browser.

Mar 2018 - Present

generate-password.lbaction is a LaunchBar 6 Action to generate secure passwords and copy them to the system clipboard.

It uses the KeePass Password Generator to allow you to specify a character set for the generated password. This functionality is provided by an included copy of the keepass-password-generator RubyGem – no external dependencies are required.

Feb 2017 - Present

shotty is a ruby script that makes it easier to share screenshots and files via Dropbox on OS X.

Jun 2016 - Present

ReamazeAPI is a RubyGem that interfaces with the Reamaze REST API. I created the initial implementation and maintain the open source project on GitHub.

Apr 2016 - Present

wp-cli-tgmpa-plugin is a WP-CLI package for working with WordPress plugins required using the TGM Plugin Activation library.

Nov 2014 - Present

TrustMe is a RubyGem that interfaces with the TeleSign. REST API. I created the initial implementation and maintain the open source project on GitHub.

Jul 2013 - Present

rake-tomdoc is a RubyGem that adds adds rake tomdoc to generate documentation for publishing to GitHub Pages.

Mar 2012 - Present

Splinter is a RubyGem that provides helpers for integration tests using Capybara. I created the initial implementation and help maintain the open source project on GitHub.

Mar 2012 - Present

gem-create is a RubyGems plugin. It provides a gem create command which can be used to generate a skeleton for working on a new RubyGem.

Feb 2012 - Present

vim-marked is a tiny plugin I made to integrate Vim and Marked.app. It allows you to open the current Markdown buffer in Marked from within Vim.

Dec 2011 - Mar 2012

Rainman was a RubyGem implementing the abstract factory pattern in Rails applications’ service objects. It was a premature abstraction and development was abandoned when I realized it was adding unnecessary complexity to projects. I consider Rainman a successful failure that was a valuable lesson in knowing when to abstract.

Jun 2011 - Jul 2015

Snuggie is a RubyGem that interfaces with the Softaculous API. I created the initial implementation and helped manage the open source project on GitHub.

May 2011 - Jul 2015

FannyPack is a RubyGem that interfaces with the Fantastico API. I created the initial implementation and helped manage the open source project on GitHub.

Mar 2011 - May 2011

whmcs-ruby provides Ruby bindings for the WHMCS API. This project was extracted from my work with DotBlock.

Feb 2011 - May 2011

TiFighter is a jQuery-like library designed to help you wage intergalactic war on your Titanium Mobile applications. This was one of my first projects using CoffeeScript and I immediately fell in love.

Feb 2011 - May 2011

As part of my work on DotBlock Mobile, I created API clients in Bash, PHP, and Ruby for customers to access the DotBlock API.

Dec 2010 - May 2011

I got sick of manually working with Asterisk Voicemail files and created ActiveMailbox to make my life a little easier. This was the first proper RubyGem I released and it was a lot of fun to learn the ins and outs of gem creation.

Sep 2010 - Sep 2011

APND (Apple Push Notification Daemon) is a RubyGem that integrates with Apple’s Push Notification Service.

May 2010 - Present

My dotfiles include my development environment for use on OS X and Linux. Although this project is only used by me, it is one of my favorites because it provides a baseline for improving my workflows and allows me an easy way to share that information with others.

Apr 2010 - May 2011

I missed ActionMailer from Ruby on Rails and started hacking up something similar for use with CodeIgniter apps. I gave it just enough love to be useful before I decided to use Rails for the app I was planning on using it with.


Skills

Apache
API Integration
Asterisk
awk
AWS
Bash Scripting
BDD
Capybara
CentOS
Chef
CoffeeScript
Command Line
CSS
Customer Service
Git
GitHub
GitHub Pages
JavaScript
Jekyll
Let's Encrypt
Linux
Meta-programming
MiniTest
MySQL
NGINX
OS X
Payment Gateway Integration
PHP
PHPUnit
PostgreSQL
Rack
Rails Engines
RSpec
Ruby
Ruby on Rails
RubyGem Development
Scrum
SCSS (Sass)
sed
Sidekiq
Sinatra
Technical Support
Troubleshooting
Twitter Bootstrap
Ubuntu
Unit Testing
Vagrant
Vim
Vim Plugin Development
VoIP
Web Hosting
WordPress Plugin Development
WP-CLI