Jarrod Davis

Software engineer, scripting specialist, and full stack web developer

About Me

Hey! I’m Jarrod Davis, a full stack developer and software engineer who enjoys building delightful experiences and helpful tools. I’ve worked with numerous languages, frameworks, and libraries, with a significant focus on command-line utilities and web applications (frontend and backend).

Here’s a sampling of the technologies I’ve worked with:

Below you can see more details of my professional and educational experience. You can also download my resume as a PDF. If you have an interesting project to work on, hire me on Upwork.

Experience

Upwork

Freelance Software Engineer

November 2019 - Present

Various web development, software engineering, and scripting/automation projects

Responsibilities
  • Identified and implemented solutions to resolve issues with an open source Jekyll site
  • Configured a reference full stack GraphQL project using React.js, Next.js, Auth0, Apollo, and Hasura
  • Developed a Python script to collect information from git repository commits into a CSV file for analysis
  • Investigated and fixed an issue with a Node.js script that uses Puppeteer to scrape data from a web page
  • Refactored that Node.js script to use the Jira Cloud REST APIs to generate CSV reports and upload them to Confluence Spaces
  • Created a Node.js script that uses the Screenshot Monitor and Jira Cloud REST APIs to generate Excel reports and upload them to Confluence Spaces
  • Developed AWS Lambda functions to receive webhooks, process data, and interact with Step Functions (for queuing/retry) and external REST APIs
  • Created a utility to automate system configuration management for Windows 10 machines
  • Updated a Java (Selenium and Azure Service Bus) app to run in Docker for usage in Azure Container Registry
  • Developed a Chrome extension to provide keyboard shortcuts for changing the active font color in Gmail's compose editor
  • Configured a boilerplate Craft CMS project in Docker using Docker Compose
  • Created a Cloudflare Worker using HTMLRewriter to manipulate text, anchor links, and images on-the-fly for a satirical news site
  • Investigated issues with server-side rendering deployment of a Firebase and Sapper site and provided guidance on alternative deployment strategies
  • Developed a script to convert Shopify blog entries to Markdown for a new Jekyll site
  • Created a custom Plex Media Server plugin/agent to match TV Show and Movie media to metadata from the MyDramaList.com API
  • Performed various administrative and data entry tasks
Core Languages
  • HTML and CSS
  • JavaScript and TypeScript
  • Ruby
  • Python
  • Liquid (HTML templates)
  • Java
Development Tools
  • git (version control)
  • Visual Studio Code
  • GitHub
  • Bitbucket
  • GitLab
  • Docker and Docker Compose
  • webpack
  • Cloudflare Wrangler
  • Prettier
  • Gulp
  • AWS SAM (Serverless Application Model)
  • AWS SAM CLI
  • AWS CloudFormation Templates
  • Windows PowerShell
Frameworks and Libraries
  • Jekyll (static site generator)
  • React.js
  • Next.js (React framework)
  • Svelte and Sapper
  • Middy.js (AWS Lambda framework)
  • Apollo (GraphQL Client)
  • openpyxl (Excel library)
  • exceljs and SheetJS (Excel libraries)
  • Puppeteer
  • jQuery
  • Axios
  • unified.js (vfile, mdast/remark, and hast/rehype)
  • PowerShell Desired State Configuration
  • Selenium
Platforms
  • Node.js (JavaScript runtime)
  • Hasura (GraphQL Server)
  • Auth0 (authentication service)
  • AWS (Amazon Web Services)
  • AWS Lambda Functions
  • AWS Step Functions
  • Azure Service Bus
  • Azure Container Registry
  • Cloudflare Workers
  • Chrome (browser extension platform)
  • Firebase (authentication, among other services)
  • Plex Media Server (plugin/agent runtime and APIs)
Web APIs
  • Kreezalid REST API (v1)
  • Kreezalid Webhooks
  • Jira Cloud Platform REST API (v3)
  • Confluence Cloud REST API (v1)
  • Screenshot Monitor REST API (v2)
  • Shopify Storefront API
  • MyDramaList.com API

Axxess Technology Solutions

Senior Web Engineer

July 2016 - June 2018

Web Engineer

March 2015 - July 2016

HomeCare SaaS product for home care and private duty agencies

Responsibilities
  • Maintained a full stack ASP.NET MVC 5 and JavaScript/jQuery web application
  • Introduced features into an existing complex codebase across the frontend, backend, and database
  • Participated in peer code reviews and quality assurance (QA) testing
  • Increased development efficiency through optimizations of engineering workflows
  • Defined and distributed a Docker Compose project for the backend’s data services for a consistent and always-available local development environment
  • Initiated the introduction of new technologies (including Vue.js) for major new features
  • Designed and developed a new ASP.NET Core API for retrieving and updating application data in coordination with mobile app engineers
  • Transitioned to the technical team lead role
  • Participated with project and product management in the refinement and prioritization of bug fixes, enhancements, and features
  • Managed deployments for multiple environments using TeamCity and Octopus Deploy
  • Integrated the product with multiple systems internal and external to the company
  • Onboarded and mentored new and existing team members
  • Wrote documentation for project setup, version control strategies, and deployment workflows
Core Languages
  • C#
  • HTML and CSS
  • JavaScript
  • SQL (MySQL)
Development Tools
  • git (version control)
  • Visual Studio 2013 and 2017
  • ReSharper
  • MSBuild
  • NuGet Package Manager
  • Docker and Docker Compose
  • npm and Yarn
  • webpack
  • Babel (modern JavaScript transpiler)
  • Sass (CSS preprocessor)
Frameworks and Libraries
  • .NET Framework
  • ASP.NET MVC 5
  • WCF (Windows Communication Foundation)
  • Hangfire (background job execution)
  • .NET Core
  • ASP.NET Core
  • Entity Framework Core
  • jQuery
  • jQuery UI
  • Knockout.js
  • Vue.js
Additional Technologies
  • MongoDB
  • RabbitMQ
  • Couchbase
  • Redis

Workfront

Frontend Developer Intern

January 2015 - March 2015

Internal tool for developers

Responsibilities
  • Developed an internal tool used by developers
Technologies
  • Python
  • HTML and CSS
  • JavaScript
  • MySQL
  • git
  • PyCharm (IDE)
  • LESS
  • Django
  • Angular.js

MaritzCX

Developer Intern (UI/UX Team)

September 2014 - December 2014

Multiple customer-facing web-based services for VoC (Voice of Customer) and EFM (Enterprise Feedback Management)

Responsibilities
  • Assisted in the selection of the CSS preprocessor to include in an existing development environment
  • Integrated the Stylus CSS preprocessor into the existing build system
  • Investigated and fixed bugs of several JavaScript UI components
  • Utilized jQuery UI to create new widgets, including compositions of other widgets
Technologies
  • HTML and CSS
  • JavaScript
  • Perforce (version control)
  • Visual Studio 2010
  • Stylus
  • Underscore.js
  • jQuery
  • jQuery UI

Education

Building on my knowledge of React.js, Elixir, Phoenix, and GraphQL, this course from The Pragmatic Studio tied all of this knowledge together into an excellent example full stack web application.

Core Languages
  • HTML and CSS
  • JavaScript
  • Elixir
  • GraphQL
Development Tools
  • Mix (build tool)
  • Hex (package manager)
  • npm
  • webpack
  • Sass (CSS preprocessor)
Backend Frameworks and Libraries
  • Phoenix Framework
  • Ecto (ORM)
  • Absinthe
  • dataloader
Frontend Frameworks and Libraries
  • React.js
  • Apollo
  • React Router
  • Bootstrap
Platforms
  • The Erlang Virtual Machine (BEAM)
  • Open Telecom Platform (OTP)
  • PostgreSQL

As the name suggests, this video course by The Pragmatic Studio walks through a full stack web application with Elixir and Phoenix on the backend and Vue.js or Elm on the frontend.

Core Languages
  • HTML and CSS
  • JavaScript
  • Elixir
Development Tools
  • Mix (build tool)
  • Hex (package manager)
  • npm
  • Brunch (build tool)
Frameworks and Libraries
  • Phoenix Framework
  • Vue.js
  • Elm
Platforms
  • The Erlang Virtual Machine (BEAM)
  • Open Telecom Platform
  • Node.js

Developing with Elixir and OTP

Online Video Course

June 2020

This video course from The Pragmatic Studio served as an excellent introduction to Elixir and Erlang/OTP.

Technologies
  • Elixir
  • Mix (build tool)
  • Hex (package manager)
  • ExUnit (test framework)
  • Poison (JSON library)
  • Open Telecom Platform (OTP)
  • Erlang/OTP
  • The Erlang Virtual Machine (BEAM)

Advanced React & GraphQL

Online Video Course

November 2019

On the heels of my introduction to React.js, I dove into building a full stack eCommerce application using Next.js, Apollo, and Prisma, guided once again by Wes Bos.

Core Languages
  • HTML and CSS
  • JavaScript
  • GraphQL
Development Tools
  • npm
  • Jest (test runner)
  • webpack
Frameworks and Libraries
  • React.js
  • Next.js
  • Styled Components
  • Apollo (GraphQL client)
  • React-Apollo
  • Enzyme
  • GraphQL Yoga
Platforms
  • Prisma (GraphQL server and cloud host)
  • PostgreSQL
  • Stripe

React for Beginners

Online Video Course

November 2019

I learned the basics of building React.js applications through this online course created by Wes Bos.

Technologies
  • HTML and CSS
  • JavaScript
  • npm
  • React.js
  • create-react-app
  • React Router
  • Firebase
  • Stylus

Neumont College of Computer Science

Bachelor of Science in Web Design and Development

October 2012 - March 2015

My education at Neumont provided key skills and experience ranging from hands-on learning with a variety of technologies to team-based projects, both on-campus and embedded within real-world companies.

Core Languages
  • Java
  • C#
  • HTML and CSS
  • JavaScript
  • Ruby
  • ActionScript
Methodologies and Design Patterns
  • OOP (Object-Oriented Programming)
  • ReST (Representational State Transfer)
  • MVC (Model-View-Controller) pattern and Separation of Concerns
  • DI (Dependency Injection) and IoC (Inversion of Control)
  • Agile methodologies (including Scrum)
Development Tools
  • Unix-style command line (CLI)
  • Visual Studio 2012
  • Visual Studio 2013
  • Eclipse (Java IDE)
  • IntelliJ and other JetBrains IDEs
  • npm
  • Grunt.js
  • Gulp.js
  • Adobe Flash
Backend Web Frameworks
  • ASP.NET MVC 4
  • J2EE (Java 2, Enterprise Edition)
  • TomEE (Tomcat for Java EE)
  • Express.js
  • Ruby on Rails
Frontend Web Frameworks
  • Angular.js
  • Ember.js
Frontend Libraries
  • jQuery
  • Bootstrap
  • Box2D
  • CreateJS
Additional Technologies
  • node.js
  • Microsoft SQL Server
  • MongoDB
  • WinForms
  • WPF (Windows Presentation Foundation)
  • Microsoft XNA