Brett Adams, Developer in Hendersonville, NC, United States

Brett Adams

Software Developer

Location
Hendersonville, NC, United States
Toptal Member Since
February 6, 2018

For the past twenty years, Brett has built his career primarily around using Python to build REST APIs, data pipelines, and desktop applications and JavaScript/TypeScript to build fully-featured web apps, hybrid mobile apps, React Native apps and APIs. Along the way, Brett has also worked in ClojureScript, Go, Java, Shell Scripts, 4D, and ColdFusion on a variety of platforms and projects.

Brett is available for hire
Hire Brett

Portfolio

EmbraerX | Beacon
GraphQL, Expo, React Native, React, Clojure, Python, Amazon Web Services (AWS)...
University of Colorado Boulder (via Toptal)
Amazon Web Services (AWS), Data Pipelines, Docker, Terraform, Spark, Pandas...
BuildStar Technologies
Adobe ColdFusion, Cordova, Angular, TypeScript, Ionic, MacOS

Location

Hendersonville, NC, United States

Availability

Part-time

Preferred Environment

Emacs, JavaScript, TypeScript, Python

The most amazing...

...thing I've done was to rewrite the Untappd mobile app and knowing it was successfully deployed to 1 million active users around the world.

Work Experience

2020 - PRESENT

Senior Full-stack Developer

EmbraerX | Beacon
  • Ported an MVP app that used React and React Native-based app to a universal app using React Native Web to share the code between the native and web in a single codebase.
  • Helped maintain and expand a GraphQL API written in Clojure.
  • Created an asynchronous data pipeline using Python, AWS Lambda, and Amazon SQS to allow the API to push messages into the pipeline and, once finished processing, to have data pushed back into the API.
Technologies: GraphQL, Expo, React Native, React, Clojure, Python, Amazon Web Services (AWS), PostgreSQL, Python 3, SQL, Amazon S3 (AWS S3), MacOS
2018 - 2020

Freelance Senior Software Developer

University of Colorado Boulder (via Toptal)
  • Built a distributed data pipeline using Airflow, Python, and various AWS services, including ECS/Fargate, Lambda, Glue, and S3, and provisioned with Terraform. The pipeline was well-tested using Tox, Pytest, and Coverage.py.
  • Created an anonymization framework for anonymizing confidential data using Pandas.
  • Converted and modernized legacy SAS scripts into data transformations running in Spark.
  • Developed a data API using the Serverless Framework and deployed it to AWS Lambda. The API was fully tested with Pytest and Tox.
  • Helped support a React-based web app for managing data permissions and integrating it with Tableau.
Technologies: Amazon Web Services (AWS), Data Pipelines, Docker, Terraform, Spark, Pandas, Python, Flask, Apache Airflow, REST APIs, PostgreSQL, Python 3, Node.js, SQL, Agile, Amazon S3 (AWS S3), MacOS
2017 - 2018

Senior Software Developer

BuildStar Technologies
  • Created a hybrid mobile app using the Ionic framework to extend a legacy web app.
  • Added API endpoints to the existing ColdFusion back end as needed.
  • Assisted with testing and management of Kubernetes-based back end and built scripts.
Technologies: Adobe ColdFusion, Cordova, Angular, TypeScript, Ionic, MacOS
2014 - 2017

Senior Software Developer

Untappd
  • Rewrote the Untappd mobile app using Ionic, Angular, TypeScript, and Cordova.
  • Worked with three other developers to create the Untappd for the business platform using Ruby on Rails.
  • Created the API and back-end services to support the Next Glass mobile app using Python, Flask, SQLAlchemy, and PostgreSQL.
  • Developed a distributed image processing pipeline using Python, Celery, Redis, Amazon S3, Amazon SQS, and Cloudinary.
Technologies: Flask, Angular, Ionic, JavaScript, TypeScript, Python, REST APIs, SQLAlchemy, PostgreSQL, Redis, Node.js, SQL, Amazon S3 (AWS S3), MacOS
2012 - 2013

Lead Software Developer

AcctVantage ERP
  • Led a three-person development team to help expand a small business ERP application using the 4D language, database, and development environment.
  • Built a modern REST API server from scratch on top of our legacy ERP system to enable the company to expand beyond our existing product line.
  • Integrated the Magento web store into our application with a custom SOAP communication library to create a two-way communication channel between our product and the online web store using the Magento SOAP API.
Technologies: Sencha Touch, Angular, 4D, MacOS
2010 - 2012

Curator of Collections

Naples Botanical Garden
  • Created a responsive web app using Python, Flask, and PostgreSQL to allow garden staff to manage the garden's plant collections in the field.
  • Wrote plant accession and management policies for a living plant collection.
  • Consulted with the horticultural team about the maintenance, care, and health of the garden's plant collection.
Technologies: ArcGIS, BG-BASE, Google App Engine, Heroku, Python, Google Cloud Platform (GCP)
2002 - 2010

Technical Support Specialist | Foreman of the Garden

Belize Botanic Gardens
  • Created Bauble which is an open-source, cross-platform desktop application for managing plant collections.
  • Managed the internal network of Linux and Windows computers with Active Directory.
  • Managed all plant records for the garden including the accessioning, species determinations, and mapping of thousands of individual plants.
Technologies: SQLite, MySQL, PostgreSQL, SQLAlchemy, PyGTK, Python
2000 - 2001

Software Developer

Flavor Software
  • Implemented the MPEG-J standard of the MPEG-4 specification to allowing interactive video files by programmatically manipulating the video's scene graph.
Technologies: C++, JNI, MP4, MPEG, Java

Experience

Bauble

http://bauble.io/
Bauble is a desktop application to help botanic gardens manage their plant records. It was created using Python, PyGTK, SQLAlchemy, PostgreSQL, MySQL, and SQLite.

I founded this project and released it as open-source software. It has since been taken over by a small community of developers.

ZBar for Python

https://github.com/brettatoms/zbar-ctypes
A Python-based Ctypes wrapper for the ZBar barcode library.

XQS | X Query Service

https://github.com/brettatoms/xqs
An X/Motif desktop application for querying an X server and browsing and displaying properties on the X server and its host. It's written in C.

Untappd Mobile App

I led the rewrite of the Untappd mobile app using Ionic.

Skills

Languages

TypeScript, JavaScript, Python, Python 3, Clojure, Java, C++, Ruby, Go, GraphQL, SQL

Frameworks

Flask, Ionic, Angular, React Native, ClojureScript, JNI, Sencha Touch, Ruby on Rails (RoR), Django, Spark

Libraries/APIs

Vue 2, Vue, SQLAlchemy, REST APIs, Lodash, React, RxJS, PySpark, Node.js, ArcGIS, Pandas, PyGTK, Ctypes

Tools

Apache Airflow, Pytest, Terraform, Boto, Boto 3, Amazon Simple Queue Service (SQS), Emacs, Celery, Adobe ColdFusion, Expo, ZBar, Amazon Elastic Container Service (Amazon ECS), AWS Glue, Spark SQL

Platforms

Heroku, Firebase, Google App Engine, Docker, Amazon Web Services (AWS), Kubernetes, MacOS, Linux, Google Cloud Platform (GCP)

Other

Tox, Firebase Cloud Functions, Google Cloud Functions, Cloudinary, Cordova, BG-BASE, MP4, MPEG, Amazon Route 53, Motif, 4D, Enterprise Resource Planning (ERP), Concurrency

Paradigms

ETL, Agile, Functional Programming

Storage

PostgreSQL, Redis, SQLite, Data Pipelines, MySQL, Google Cloud, Amazon S3 (AWS S3)

Education

1995 - 2000

Bachelor of Science Degree in Computer Science with a Mathematics minor

University of North Texas - Denton, TX, USA