Robert Cope, Developer in Mead, CO, United States
Robert is available for hire
Hire Robert

Robert Cope

Verified Expert  in Engineering

Software Developer

Mead, CO, United States

Toptal member since October 7, 2022

Bio

Robert is a senior software engineer with a decade of experience designing databases and APIs, architecting scalable back-end solutions, and providing support and maintenance for software throughout its entire lifecycle. Robert specializes in Python and Scala, is skilled with PostgreSQL, MySQL, and SQlite3 databases, and can quickly pick up projects and codebases, contribute effectively, and provide leadership when necessary.

Portfolio

Computational Physics
Python, Bottle.py, MQTT, PostgreSQL, TimescaleDB, OpenVPN, Swagger, OpenAPI...
NetApp
Python, Linux, Docker, Bash, SQLite, SQL, RPM Packaging, Ansible
SolidFire (acquired by NetApp)
Python, C, Scala, PHP, LXC, Bash, Docker, Kubernetes, Linux, jQuery, Handlebars...

Experience

  • Python - 10 years
  • Bash - 10 years
  • Linux - 10 years
  • SQL - 10 years
  • Database Design - 7 years
  • Scala - 5 years
  • Bottle.py - 5 years
  • PostgreSQL - 4 years

Availability

Part-time

Preferred Environment

Linux, Debian, PyCharm, IRC, Slack

The most amazing...

...application I've developed and designed is a large-scale distributed test runner, programming language, test track, and build tool.

Work Experience

Data Engineer

2020 - 2022
Computational Physics
  • Created, implemented, and maintained the data pipeline for several magnetometer sensor networks. Using Python, these pulled measurements from field devices over MQTT and stored the results in a TimescaleDB PostgreSQL database.
  • Designed, implemented, and maintained the tooling for loading code and debugging remote magnetometers over OpenVPN and wrote several tools for automatic management of our OpenVPN deployments and certificate authority infrastructure.
  • Maintained operations on featured at least three nines, 99.9% uptime, for all magnetometer services.
  • Devised, implemented, and maintained a bottle.py webserver to allow end users to retrieve magnetometer measurements and status over the web. The API used an OpenAPI 2.0 (Swagger) schema, with JWT and API key support.
  • Designed and maintained the PostgreSQL databases used for magnetometer measurements, managed operations, and tuned the databases.
  • Maintained the AWS deployments for all of our services, specifically utilizing EC2, S3, and Simple Notification Service (SNS).
  • Built, implemented, and maintained a general-purpose distributed job runner for several internal physics models and simulations, using PostgreSQL, Swagger, Python, and bottle.py, allowing users to upload, execute, and chain models.
Technologies: Python, Bottle.py, MQTT, PostgreSQL, TimescaleDB, OpenVPN, Swagger, OpenAPI, Instrumentation, NGINX, Amazon Web Services (AWS), Physics, Bash, Docker, SQL, Linux, Database Design

Platform Software Engineer

2019 - 2020
NetApp
  • Devised and implemented the transaction layer for a novel network management codebase using Python and SQLite, enabling custom two-phase commit behavior across systems for manual and timed rollbacks of network configuration.
  • Implemented Ansible roles and playbooks to automate the SDS product deployment in customer environments.
  • Designed and implemented the installation and management codebase for NetApp's software-defined storage product, using Python and Bash tooling to manage Docker in customer deployments and build RPM packages.
Technologies: Python, Linux, Docker, Bash, SQLite, SQL, RPM Packaging, Ansible

Software Engineer

2015 - 2019
SolidFire (acquired by NetApp)
  • Implemented, maintained, and designed a bespoke visual programming language implemented in Scala, which featured a web front-end. This application allowed other developers to build tests and run builds for the Solidfire product.
  • Handled operations and maintained four nine's availability for the above tool while in this role.
  • Designed, implemented, and maintained a foreign function interface layer for the language, allowing developers to write and use Python functions and run them across many data centers.
  • Created, implemented, and maintained Linux native isolation for the foreign function interface tool using cgroups, namespaces, and eventually LXC. The tool consistently ran thousands of concurrent Python instances safely on single systems.
  • Designed, implemented, and maintained a Python hardware resource management and job coordination tool using Flask and the Connexion web framework, tracking tens of thousands of resources, and successfully scheduling access for many tools.
  • Developed and implemented deployment tools using Fabric and Ansible, enabling single push-button blue-green deployments with rollback capabilities.
  • Administered, designed, and tuned several Percona MySQL databases for the bespoke programming language system above. By the end of my role, these databases contained at least 6TB of production data, each with excellent performance.
  • Designed, administered, and tuned a PostgreSQL database for the resource management system described above.
  • Developed several other internal tools using bottle.py, Swagger APIs, and PostgreSQL to support other developers, including build tracking and API based alerting.
Technologies: Python, C, Scala, PHP, LXC, Bash, Docker, Kubernetes, Linux, jQuery, Handlebars, JavaScript, Node.js, NGINX, Munin, Fabric, MySQL, PostgreSQL, Database Design, SQL, Flask, Bottle.py, Finagle, JSON-RPC, Pytest, Ansible, Programming Language Design, Distributed Systems, Connexion

Firmware Engineer

2013 - 2015
Seagate
  • Designed, implemented, and maintained the distributed test runner and reporting tool for Seagate's Kinetic network drive program. The system was implemented in Python with Erlang, C++, Java, and Python harnesses.
  • Administered several self-hosted applications for test developers and other technical staff, including Redshift, Phabricator, and an IRC daemon.
  • Designed and implemented an automated system and web application for code quality checks for SATA drive tests. The system used Python, Flask, and C, performed correctness checks, and linted code, sending regular email reports to test developers.
Technologies: Python, Java, Erlang, C, C++, Flask, SQLAlchemy, SQLite

Almost Home Resources App

https://ahra-beta.copesystems.com/
This application allows the clientele of Almost Home, a homelessness prevention nonprofit organization, to search and browse various resources, such as low-cost mental health providers, dentists, and state programs. The application uses the Bulma CSS framework with Mithril.js for its front end, and on the back end, Python 3 with bottle.py and Swagger are used for the REST API. PostgreSQL is used for the database, and search utilizes PostgreSQL's built-in full-text search capabilities. The application is deployed to AWS's EC2 service.
2012 - 2013

Coursework Toward PhD in Physics

Cornell University - Ithaca, NY, USA

2008 - 2012

Bachelor's Degree in Physics

Colorado State University - Fort Collins, CO, USA

MAY 2021 - PRESENT

Nonlinear Dynamics: Mathematical and Computational Approaches

Sante Fe Institute

MAY 2020 - PRESENT

Functional Programming Principles in Scala

Coursera

DECEMBER 2018 - PRESENT

Modeling Risk and Realities

Coursera

NOVEMBER 2018 - PRESENT

Fundamentals of Quantitative Modeling

Coursera

Libraries/APIs

Bottle.py, OpenAPI, SQLAlchemy, jQuery, Handlebars, Node.js, Fabric, JSON-RPC

Tools

PyCharm, OpenVPN, Pytest, MQTT, NGINX, Ansible, Munin, Connexion

Languages

Python, Scala, Bash, C, Java, Erlang, C++, SQL, x64 Assembly, Embedded C, PHP, JavaScript

Frameworks

Swagger, Flask, Mithril.js, Bulma, Finagle

Paradigms

Database Design

Platforms

Linux, Amazon Web Services (AWS), Docker, Google Cloud Platform (GCP), Amazon EC2, Kubernetes

Storage

PostgreSQL, SQLite, MySQL

Other

Instrumentation, TimescaleDB, Physics, RPM Packaging, Data Structures, Algorithms, Cloud Computing, Numerical Programming, Wireless Systems, IEEE 802.11, Operating Systems, Nonlinear Dynamics, Numerical Methods, Numerical Modeling, LXC, Programming Language Design, Distributed Systems, Numerical Analysis, Quantitative Modeling

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring