Dev
Story
view as CV

Jon Lunsford

Engineer @convertkit
San Luis Obispo, CA

I have been developing software for 13 years. I have extensive experience with many stacks, primarily Ruby On Rails and Phoenix.

I want to work with:

elixir erlang/OTP ruby go rust python

Assessments By Pluralsight IQ

ruby
ruby-on-rails
elixir

Filter Timeline:

Position • Jan, 2017 → Current (6 years, 6 months)

Sr. Engineer at ConvertKit

Technologies:

ruby ruby-on-rails elixir redis sidekiq amazon-web-services heroku github go mysql postgresql cassandra elasticsearch backend

Engineering highly concurrent and reliable systems ensuring millions of database transactions per day. Tech Lead on Billing, Compliance, Deliverability and Commerce.

Feature or apps • March, 2022

DevStory

Technologies:

elixir phoenix live-view fly-io postgresql

I made DevStory in response to StackOverflow shutting down their resume / CV product. The goal of this project is to provide a good way for developers to communicate their work and learning history, hopefully landing them a great job! Built with Elixir/PhoenixLiveView

Assessment • December, 2021
Elixir - Score: 201/300
elixir
Assessment • July, 2021
Ruby Language Fundamentals - Score: 244/300
ruby
Assessment • July, 2021
Building Web Apps with Ruby On Rails - Score: 211/300
ruby-on-rails web-applications
Position • Aug, 2009 → Jul, 2021 (12.0 years)

Owner / Engineer at Capture The Castle

Technologies:

ruby elixir phoenix ruby-on-rails rspec backend

Capture The Castle was my personal freelancing business. Building software for small and large businesses.

Feature or apps • September, 2020

Myco Farm Co.

Technologies:

elixir nerves-project iot influxdb

Myco Farm Co. is a small scale farm specializing in gourmet & medicinal mushrooms.

Using proprietary technology, called MycoBot, we grow Maitake, Lion's Mane, Chestnut, King Oyster, Golden Oyster, Blue Oyster, Turkey Tail and more.

Blogs or videos • August, 2020

EMx 104: Deploying Elixir with Mix, Terraform and Ansible with Jon Lunsford | Devchat.tv

Technologies:

elixir ansible terraform amazon-web-services smtp

In this episode of Elixir Mix, we talk with Jon Lunsford about Elixir’s many releases and deployment options, why/how to deploy Elixir with Terraform and we learn why Jon built an SMTP server in Elixir! Sponsors Groxio.io | Career Rocket Fuel For Curious Coders CacheFly Panel Alex Koutmos Steven Nuñez Lars Wikman Sophie DeBenedetto Guest…

Blogs or videos • June, 2020

Deploying Elixir (3 of 3): Provisioning EC2 With Ansible

Technologies:

elixir ansible terraform amazon-web-services

Provision an EC2 instance with Ansible for elixir deployment. third in a series of three posts on deploying Elixir.

Blogs or videos • June, 2020

Deploying Elixir (2 of 3): Terraforming an AWS EC2 Instance

Technologies:

elixir ansible terraform amazon-web-services

Prepare an EC2 instance with Terraform for elixir deployment. Second in a series of three posts on deploying Elixir.

Blogs or videos • June, 2020

Deploying Elixir (1 of 3): Building Releases With Mix

Technologies:

elixir terraform ansible

Build elixir releases locally with Docker & Mix. First in a series of 3 posts on deploying Elixir.

Blogs or videos • May, 2019

Elixir: Building a Small JSON Endpoint With Plug, Cowboy and Poison

Technologies:

elixir plug cowboy poison
Elixir: Building a Small JSON Endpoint With Plug, Cowboy and Poison

Let’s see how easy it is to build a production ready endpoint with Plug, using Erlang’s Cowboy HTTP server

Blogs or videos • September, 2018

Refactoring Ruby: Introduce Null Object

Technologies:

ruby refactoring

Introduce Null Object is a great refactoring tool when you find yourself checking for nil too often. nil checks are often signs of much…

Blogs or videos • September, 2018

Refactoring Ruby: Extract Method

Technologies:

ruby refactoring

Extract Method can be used when you have several expressions, a code fragment, that can be grouped together. Even if there is one…

Blogs or videos • August, 2018

Refactoring Ruby: Replace Temp with Query

Technologies:

ruby refactoring

Let’s look at another simple yet powerful refactoring method, Replace Temp with Query. You can use this when you have a temporary variable…

Blogs or videos • August, 2018

Refactoring Ruby: Extract Variable

Technologies:

ruby refactoring

Let’s take a look at a simple way to add clarity to your ruby methods. Extract Variable or Introduce Explaining Variable, it’s probably one…

Feature or apps • April, 2018

Syndicate App.

Technologies:

elixir phoenix redis digital-ocean dokku postgresql

Automate email arrivals to your inbox with powerful rules. Take control of your Syndication with anonymity and automation.

Blogs or videos • November, 2017

Receiving Emails Over SMTP With Elixir

Technologies:

elixir smtp
Receiving Emails Over SMTP With Elixir

Let’s see just how simple SMTP is with elixir/erlang. I began experimenting with this mostly as a learning tool to get more familiar with…

Position • Nov, 2014 → Jan, 2017 (2 years, 3 months)

Full Stack Developer (Ruby On Rails) at Kadenze

Technologies:

ruby ruby-on-rails knockout.js javascript sass rspec redis sidekiq haml jst jira kanban agile

Working fully remote. Implementing features for a MOOC and LMS platform focused on providing the best user experience for students from all over the world to learn about art, code, and creative collaboration. My responsibilities included gathering specifications and requirements from designers, marketers, customers, and building full stack solutions to solve those problems. From implementing the backend API in Rails to the front end UI and UX written in HAML, JS (A lot of Knockout), and SASS.

Position • Aug, 2012 → Nov, 2014 (2 years, 4 months)

Front End Engineer at MINDBODY

Technologies:

tfs visual-studio less javascript scrum agile

Front end engineer on a scrum team consisting of 7, in a department of 16 scrum teams.

Position • Jun, 2014 → Sep, 2014 (4 months)

Full Stack Developer (Ruby On Rails), contract. at AlphaSights

Technologies:

ruby ruby-on-rails vim circleci continuous-integration rspec3 tmux

Working fully remote. Responsible for adding various, full stack, features to an email archive web service.

Position • Nov, 2011 → Aug, 2012 (10 months)

Full Stack Developer at WINTR

Technologies:

ruby ruby-on-rails capistrano ssh command-line zsh haml javascript css html amazon-elastic-beanstalk

Interactive web developer in a small fast paced agency working with several high profile clients and companies. I would work on the full stack of any website or application I was assigned, from back end to front end. Work was produced on fairly tight deadlines at a very quick rate. I was able to produce some of the best work of my career, the 2012 Sasquatch Festival website won a gold W3 award.

Position • Oct, 2010 → Oct, 2011 (1 year, 1 month)

Web Developer at Taphandles LLC

Technologies:

html css javascript php mysql wordpress photoshop adobe-illustrator adobe-indesign

Taphanldes is a firm focused on the craft beer industry. I was part of a design team working on production design projects as well as developing all client websites. I was the sole developer at the time.

All websites that were produced at this time were built with wordpress, php, and MySql. The WP interface would be customized completely for the clients needs.

Position • Jul, 2009 → Aug, 2010 (1 year, 2 months)

Web Developer at Progressive inovations / The Canopy club

Technologies:

html css javascript php mysql wordpress photoshop adobe-illustrator adobe-indesign

I was in charge of all promotions media produced by the company, this ranged from print ads, posters, festival merchandise and signage, festival web sites, event web sites, and the company web site.

All web sites were built on Wordpress with highly customized interfaces depending on the content that needed to be managed. The company would produce very large music festivals which resulted in very high traffic to the websites, I would combat this with heavy caching and optimization where possible.

Recommended Reading

The Ruby Programming Language

by David Flanagan, Yukihiro Matsumoto

JavaScript: The Good Parts

by Douglas Crockford

Domain Driven Design

by Eric Evans

Tackling Complexity in the Heart of Software.

Designing Data-Intensive Applications

by Martin Kleppmann

Mastering Reliability, Scalability and Maintainability in large applications.

Concurrent Data Processing in Elixir

by Svilen Gospodinov

Learn different ways of writing concurrent code in Elixir and increase your application’s performance, without sacrificing scalability or fault-tolerance.