Matthew Scott, Developer in Springfield, MO, United States

Matthew Scott

Writing & Editing Developer

Location
Springfield, MO, United States
Toptal Member Since
November 11, 2013

Matthew is a calm, efficient software designer and developer who enjoys solving interesting problems. He has extensive experience working as a software engineer in a remote capacity. He enjoys a steady work pace with occasional high-intensity bursts to help maintain a healthy work/life balance.

Matthew is available for hire
Hire Matthew

Portfolio

Assembled Brands
PostgreSQL, Looker, Shopify, AWS Lambda, Ruby on Rails (RoR), Ruby, Python...
Elevencraft, Inc.
SaltStack, CSS, HTML5, JavaScript, Python
Funding Gates (via Toptal)
Amazon Web Services (AWS), PostgreSQL, CSS3, HTML5, React, Ember.js...

Experience

Object-oriented Programming (OOP) - 20 yearsWriting & Editing - 16 yearsPython - 13 yearsTest-driven Development (TDD) - 7 yearsGit - 6 yearsJavaScript - 6 yearsDjango - 5 yearsReact - 1 year

Location

Springfield, MO, United States

Availability

Part-time

Preferred Environment

Tmux, VMware, Vagrant, MacOS, Git, PyCharm

The most amazing...

...thing I've coded is a pure-Python DB and GUI engine that helped my team to iterate through four prototypes in six months and deliver a rock-solid final app.

Work Experience

2016 - 2018

Data Engineer/Senior Software Engineer

Assembled Brands
  • Maintained and improved the data warehouse for a retail organization, a project that involved keeping a Rails-based ETL system up to date and maintaining a Looker-based reporting system.
  • Created a "new customer lead allocator" Python app that compares newly-completed Shopify orders against other data sources, determines proximity to a retail store, then follows certain rules to assign new customers to salespersons. The app was built using TDD techniques, to make sure all business cases were covered. By hosting on AWS Lambda, the only cost of this app was the implementation and some minor updates. The usage of the app stayed within the free billing tier.
  • Helped build two React-based front-ends for an online marketplace and merge the two code bases into a single project. Made minor changes to the back-end as needed in the course of work.
  • Created a data dictionary generator as an afternoon project, which transformed a set of LookML source code into a form that is more useful for end users to refer to. Although the project is now dormant since LookML syntax moved away from YAML, the project was fun to write and useful for a few months.
Technologies: PostgreSQL, Looker, Shopify, AWS Lambda, Ruby on Rails (RoR), Ruby, Python, ECMAScript (ES6), JavaScript
2009 - 2016

President

Elevencraft, Inc.
  • Used SaltStack to deploy groups of staging and production hosts.
  • Set up a complete Windows/Linux/OS X compatible Django project development stack, using Packer to create base machine images for Vagrant and EC2 and using SSH and the PyCharm IDE to connect to a common environment.
  • Designed, implemented, and deployed a cross-platform job execution and storage system plus two reference front-ends using an API for dynamically generating UI elements.
  • Designed and implemented several user interface changes to a large body of existing front-end code using HTML5, Sass, and Backbone.js.
  • Designed and created a transcription crowdsourcing system allowing volunteers to collaboratively turn podcast audio into text.
  • Designed and created a vertical-market social network system using Django to integrate custom and third-party apps, providing a common set of tools to groups of volunteers operating in separate geographical regions.
Technologies: SaltStack, CSS, HTML5, JavaScript, Python
2014 - 2015

Django Full-stack Developer

Funding Gates (via Toptal)
  • Performed data science tasks, bug fixes, feature additions, and second-tier technical support for the company's flagship Ruby/Rails/Ember app.
  • Assisted with DevOps tasks such as system monitoring, Ruby/Rails/Ember app deployment, and finding and resolving root causes of errors and performance issues.
  • Designed and created an internal sales, customer service, and analytics/data science tools using Django and RethinkDB on the back-end and React.js on the front-end.
  • Maintained and improved all aspects of Django and WordPress based marketing websites, including third-party service integrations, conversion of PSDs to HTML5+CSS+JS with animations, and integration with the flagship Ruby/Rails/Ember app.
  • Used open source libraries to implement scroll-triggered animations in marketing website pages.
Technologies: Amazon Web Services (AWS), PostgreSQL, CSS3, HTML5, React, Ember.js, Ruby on Rails (RoR), Django
2014 - 2014

Django Back-end Developer

Toptal Client
  • Compared Python-RQ with Celery, based on client needs and their current architecture.
  • Designed and developed a mechanism using Python-RQ for long-running file conversion/export processes involving email notification, page refresh, download tracking, expired media purging, and recreation of expired media.
  • Used a finite state machine architecture to control the export process.
  • Used TDD (test-driven development) techniques to drive architecture design and implementation.
  • Refactored existing export code embedded in a Django view to facilitate both short-term queueing architecture needs and long-term desire by client to support additional export formats.
  • Completed all work in target 2-week time frame on a part time schedule.
Technologies: State Machines, Message Queues, Python-rq, Redis, Django
2004 - 2008

Core Developer, Consultant

Orbtech, LLC
  • Developed software for non-networked workstations to analyze test results from automated electrical testing equipment, correlate it with information about items being tested, record failure and reasons for failed tests, and finally export data for further analysis.
  • Created a reliable, pure-Python, ACID-compliant database engine designed for developer productivity and highly reliable complex schema migrations running on non-networked systems.
  • Created data-bound widget kits for PyQt and PyGTK allowing UI layouts to react to changes in database schema.
  • Helped to create four different system prototypes in six months.
  • Created a new version of the Python database engine to improve performance, reduce memory usage, and accommodate more complex schemata needed by a new app.
Technologies: PyQt, Python
2001 - 2004

Founder/Lead Software Developer

OMAjA Information Systems/Nexlink, Inc.
  • Worked with a business partner to provide Linux support, software and networking consultation, web and email hosting, and software development.
  • Designed and managed software projects including to manage internal and customer-facing aspects for a reverse logistics company, and a web-based internal database to manage contacts and policies for a small insurance brokerage.
  • Developed software to manage aspects of a terrestrial wireless ISP, including customer and subscription management, routing, DNS resolution, and bandwidth limiting.
  • Used User Mode Linux to segregate ISP services into virtual machines for deployment into a single physical machine. (User Mode Linux is an early Linux virtualization technique also used by Linode in their early days.).
  • Began work on the predecessor for an open source, pure-Python database engine that I would later help refine to create further commercial products.
Technologies: Python, PHP
2000 - 2001

Registrar & Database Administrator

Girl Scouts of the Missouri Heartland
  • Implemented an ETL system using Perl and MySQL and what I would now call a warehouse query interface in PHP. The system corrected several deficiencies in a database schema used by an app that the organization was required to use, resulting in much more accurate reporting, important for fundraising. The query interface dramatically reduced the time it took for field staff to run reports and retrieve information, as it shifted business processes from a paper work-order model to a digital self-service model.
  • Researched the structure and past practices of the client's summer camp program.
  • Designed and created a complete summer camp management system based on the above research.
  • Supported, maintained, and handled clerical and customer service activities related to the camp management system—managed registration and billing, produced attendance rosters and meal plans, and prepared end-of-session reports.
Technologies: SQL, PHP, Perl, Linux, Microsoft Access, MySQL

Experience

Metrasynth

https://github.com/metrasynth/
This is by far the most passionate I've been about an open source project that I've founded, because it involves making music, and solving challenging programming tasks.

Metrasynth is a set of tools that surround a popular "indie" digital audio workstation called SunVox. I reverse-engineered and documented the file format, and have created implementations in both Python and ES6.

SunVox is a beautiful music app, and offers its sound engine as a DLL that you can embed on a variety of devices. That's how Metrasynth is able to extend the features of SunVox far beyond its built-in capabilities.

I am currently using portions of the Metrasynth project as the backend for a professional introductory video course about music programming with Python.

Schevo

https://github.com/schevo/schevo/
A pure-Python database system, optimized for single-process document-oriented desktop applications that require the enforcement of a complex schema that evolves over time. It is designed for developer comfort and rapid prototyping.

Fanscribed

https://github.com/fanscribed/fanscribed
I conceived, developed, and maintain this audio transcription service targeting the podcast market. It is built using crowdsourcing techniques: It splits podcast audio into manageable tasks that both casual and dedicated contributors can easily approach.

Originally written using Python, Pyramid, and Git as an experiment, it was recently rewritten to use Python, Django, and PostgreSQL. It is open-source licensed.

Django-iris

https://github.com/snswa/django-iris
A reusable Django app implementing an experimental platform for topical discussions, with some unique characteristics such as: arbitrary content types, where you can include more than typical "messages" in a conversation; arbitrary participants, where discussions can include any Django model object as a participant, not just the user—for example, a group of users or a bot/agent; and fluid participants, allowing them to come and go from discussions as they please.

Skills

Languages

Python, JavaScript, Bash, PHP, CSS3, ECMAScript (ES6), Perl, Sass, Ruby, SQL, SCSS, HTML5, CoffeeScript, CSS

Platforms

Linux, Ubuntu, MacOS, AWS Lambda, Shopify, Docker, Amazon Web Services (AWS), Rackspace, iOS

Other

Prototyping, Software Development, Documentation, Writing & Editing, Screencasting, Software Architecture, Message Queues, State Machines, Apps, Single-page Applications (SPA), Tornado

Frameworks

Django, Ember.js, Ruby on Rails (RoR), Knockout (Knockout.js), Hype, Qt, Pylons, Twisted, Pyramid, Bootstrap

Libraries/APIs

React, PyQt, jQuery, Python-rq, RQ, Puppet.js, Handlebars, SQLAlchemy, AMQP, PubSubJS, Requests, jQuery Mobile, Backbone.js

Tools

Git, PyCharm, Vagrant, SaltStack, VMware, Looker, Microsoft Access, Celery, Bitbucket, Pivotal Tracker, Mocha, NGINX, Tmux, uWSGI, IPython, Emacs, Asana, GitHub, Sublime Text, RabbitMQ, Ansible

Paradigms

Refactoring, Object-oriented Programming (OOP), Rapid Prototyping, Model-driven Engineering (MDE), Evolutionary Database Design, Test-driven Development (TDD), Cross-platform, Functional Programming, UX Design, DevOps, Continuous Integration (CI), Event-driven Programming, Incremental Development, Pair Programming, Pipeline Programming, REST, Concurrent Programming, Declarative Programming

Storage

PostgreSQL, SQLite, ZODB, RethinkDB, MySQL, Memcached, Redis