Jon Lunsford
San Luis Obispo, CA
Intro Statement
Sr. Software Engineer with 14 years experience designing cost-effective, data-intensive and scalable systems.
I’ve architected many complex systems, some that:
- Evaluate the quality of 50,000+ monthly account signups, reducing fraudulent activity by 90%.
- Ingest 100k+ events per second, process terabytes of data and power complex analytics features.
- Evaluate the quality of user generated content, ensuring a 99.5% delivery rate of 2.5 billion monthly emails.
- Detect and prevent fraudulent Credit Card activity saving over $450,000 in losses.
- Mitigate bot traffic to endpoints receiving 100k+ submissions per minute.
Technologies
I want to work with:
elixir erlang/OTP ruby go rust pythonExperience 8 positions (15 years, 4 months)
Sr. Engineer
Jan, 2017 → Current (7 years, 10 months)
ruby ruby-on-rails elixir redis sidekiq amazon-web-services heroku github go mysql postgresql cassandra elasticsearch backend- Pioneered machine learning and behavioral analysis systems for credit card fraud prevention, saving over $450,000 in losses and ensuring the seamless processing of over $3,000,000 in monthly revenue.
- Built robust spam and bot detection systems, ensuring a 99.5% email delivery rate for 2.5 billion monthly emails, safeguarding the company’s reputation and preventing automated sign-ups.
- Founded a cross-functional Trust & Safety Team, facilitating all communication, project prioritization and technical scoping.
- Designed and built a comprehensive flagging and monitoring system, reducing the rate of abusive account creation by 90%.
- Implemented a cost-efficient, event-driven analytics backend processing over 30,000 events per second, empowering customers to analyze vital business metrics, including traffic sources and revenue streams.
- Developed engagement analysis of over 4 billion customer subscribers, processing real-time events such as email opens, link clicks, page views and product purchases to enable powerful targeting and audience segmentation.
- Conducted regular Lunch & Learn sessions on topics such as OO Design, Testing, DDD, and Systems Design, enhancing code quality, such as reducing flaky tests by 25%
Owner / Engineer
Aug, 2009 → Jul, 2021 (12.0 years)
ruby elixir phoenix ruby-on-rails rspec backendCapture The Castle was my personal freelancing business. Building software for small and large businesses.
Senior Software Engineer
Nov, 2014 → Jan, 2017 (2 years, 3 months)
ruby ruby-on-rails knockout.js javascript sass rspec redis sidekiq haml jst jira kanban agile- Improved PostgreSQL performance in a classroom forum feature, speeding up thread loading by 70%, fostering better student-professor collaboration.
- Engineered a robust, real-time tracking system for interactive classroom UI, recording over 10,000 client-side events per minute; enabling highly accurate progress tracking and streamlined coursework submission.
- Reduced reported errors by 10% by speeding up test feedback and educating others on best practices.
- Collaborated with designers and project managers to deliver education based features to hundreds of universities globally, enabling thousands of students to collaborate, learn & submit coursework.
Front-End Engineer
Aug, 2012 → Nov, 2014 (2 years, 4 months)
tfs visual-studio less javascript scrum agile- Introduced testing on the front end, reducing errors reported by 17%.
- Optimized front-end best practices, resulting in a 2x increase in the number of features delivered.
- Led regular interactive training sessions for 20+ engineers on front-end best practices, fostering continuous learning.
Software Engineer (Contract)
Jun, 2014 → Sep, 2014 (4 months)
ruby ruby-on-rails vim circleci continuous-integration rspec3 tmux- Built an internal email processing tool, resulting in a 30-minute reduction in sales lead processing time by designing a rules engine to parse incoming messages and extract content for quicker analysis.
Software Engineer
Nov, 2011 → Aug, 2012 (10 months)
ruby ruby-on-rails capistrano ssh command-line zsh haml javascript css html amazon-elastic-beanstalk- Architected web applications for top brands like Microsoft, Starbucks, Stanley, AT&T and Western Digital. Developed the 2012 Sasquatch Music Festival Site, winner of three awards and one additional nomination.
Web Developer - Lead
Oct, 2010 → Oct, 2011 (1 year, 1 month)
html css javascript php mysql wordpress photoshop adobe-illustrator adobe-indesign- Established reusable website components and patterns, decreasing delivery times by 20%.
- Launched custom, interactive, websites for top breweries nationwide, meeting critical deadlines.
Web Developer - Lead
Jul, 2009 → Aug, 2010 (1 year, 2 months)
html css javascript php mysql wordpress photoshop adobe-illustrator adobe-indesign- Implemented secure CMS systems enabling the management of over 20 websites related to music venues and festivals.
Apps and Software (3)
DevStory
March, 2022
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
Myco Farm Co.
September, 2020
elixir nerves-project iot influxdbMyco 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.
Syndicate App.
April, 2018
elixir phoenix redis digital-ocean dokku postgresqlAutomate email arrivals to your inbox with powerful rules. Take control of your Syndication with anonymity and automation.
Public Artifacts (13)
Elixir - Score: 201/300
December, 2021
elixirRuby Language Fundamentals - Score: 244/300
July, 2021
rubyBuilding Web Apps with Ruby On Rails - Score: 211/300
July, 2021
ruby-on-rails web-applicationsEMx 104: Deploying Elixir with Mix, Terraform and Ansible with Jon Lunsford
August, 2020
elixir ansible terraform amazon-web-services smtpIn 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…
Deploying Elixir (3 of 3): Provisioning EC2 With Ansible
June, 2020
elixir ansible terraform amazon-web-servicesProvision an EC2 instance with Ansible for elixir deployment. third in a series of three posts on deploying Elixir.
Deploying Elixir (2 of 3): Terraforming an AWS EC2 Instance
June, 2020
elixir ansible terraform amazon-web-servicesPrepare an EC2 instance with Terraform for elixir deployment. Second in a series of three posts on deploying Elixir.
Deploying Elixir (1 of 3): Building Releases With Mix
June, 2020
elixir terraform ansibleBuild elixir releases locally with Docker & Mix. First in a series of 3 posts on deploying Elixir.
Elixir: Building a Small JSON Endpoint With Plug, Cowboy and Poison
May, 2019
elixir plug cowboy poisonLet’s see how easy it is to build a production ready endpoint with Plug, using Erlang’s Cowboy HTTP server
Refactoring Ruby: Introduce Null Object
September, 2018
ruby refactoringIntroduce Null Object is a great refactoring tool when you find yourself checking for nil too often. nil checks are often signs of much…
Refactoring Ruby: Extract Method
September, 2018
ruby refactoringExtract Method can be used when you have several expressions, a code fragment, that can be grouped together. Even if there is one…
Refactoring Ruby: Replace Temp with Query
August, 2018
ruby refactoringLet’s look at another simple yet powerful refactoring method, Replace Temp with Query. You can use this when you have a temporary variable…
Refactoring Ruby: Extract Variable
August, 2018
ruby refactoringLet’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…
Receiving Emails Over SMTP With Elixir
November, 2017
elixir smtpLet’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…
Readings
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.