Sam Watkins, Developer in Melbourne, Victoria, Australia

Sam Watkins

Full-stack Developer

Location
Melbourne, Victoria, Australia
Toptal Member Since
February 25, 2021

Sam is an expert programmer from Australia with 20 years of experience. He is a good communicator, enthusiastic, innovative, attentive to detail. Sam practices "Simplicity, Clarity, Generality" to rapidly create excellent software. His research interests include e-learning, remote collaboration, mathematics, and graphical programming. Sam programs in Python, JavaScript, Go, C, C++, Java, and Perl, and creates web apps with Python, Node.js, Django REST, PostgreSQL, HTML5, CSS, Vue.js, and Svelte.

Sam is available for hire
Hire Sam

Portfolio

ServiceRocket
Python, FastAPI, GraphQL, APIs, Amazon Simple Queue Service (SQS)...
Synphonyte
Go, SOAP, REST, XML, API Gateways, Ruby, Code Generators, Automation...
Tekt Industries
TypeScript, Google Cloud Platform (GCP), Google Cloud Functions, Firebase, Vue...

Location

Melbourne, Victoria, Australia

Availability

Full-time

Preferred Environment

Debian Linux, Vim Text Editor, Trello, Slack, Git, Go, Svelte, Bash, Python, C, DOM

The most amazing...

...project I've developed professionally is ArmVault, a web application that is used by the major banks in Australia to forecast cash levels and trade cash.

Work Experience

2021 - 2022

Back-end Developer

ServiceRocket
  • Led a small development team to develop and deploy a complex and critical integration system. The product enables large groups to collaborate efficiently on major projects between several companies.
  • Developed a FastAPI service to sync data between two systems using async REST and GraphQL calls.
  • Built a Python API service with Starlette and GraphQL and backed it on a PostgreSQL database.
  • Modified a TypeScript React user interface in a Jira plugin to enable editing fields on an object and send updates to the API service.
  • Produced and edited demonstration videos of my work, including an overview and several use cases, using OBS with a face camera, OpenShot, FFmpeg, Audacity, and HandBrake on Linux.
Technologies: Python, FastAPI, GraphQL, APIs, Amazon Simple Queue Service (SQS), Message Queues, API Gateways, Amazon DynamoDB, React, Python Asyncio, Graphene, SQLAlchemy, Flask, NPM, TypeScript, Axios, PostgreSQL, Open Broadcaster Studio (OBS), FFmpeg, Audacity, OpenShot, Linux, Debian Linux, Jira, REST, Git, JSON, NGINX, Software Engineering, HTML, Node.js, Docker, Back-end, Front-end, Bash, Web App Security, Full-stack, Optimization, JavaScript, HTML5, CSS, Vim Text Editor, SQL, Object-oriented Programming (OOP), Functional Programming, Shell, Security, Authentication, Make, REST APIs, Python 3, Amazon Web Services (AWS), SSH, Certbot, RabbitMQ, Serverless, AWS CLI, Microservices, Architecture, Agile, Integration, System Design, DevOps, Web Research, Rapid Development, RSync, Zoom, Simplicity, IT Security, Web Applications, OpenSSH, Open Source, HTML DOM, Web Architecture, Templating, Webhooks, Software Architecture, System Architecture Design, Web Application Architecture, Databases, Database Design, Hack, Creative Problem Solving, API Architecture, Virtual DOM, QA Automation, Chrome Extensions
2021 - 2021

Go Developer

Synphonyte
  • Helped to develop an API proxy/gateway written in Go to present a complex upstream XML SOAP API as a JSON REST API.
  • Debugged and updated the open-source tool "xml2go," written in Ruby, which helps generate properly tagged Go structs (for parsing and generation) from XML data without requiring any metadata.
  • Found critical missing information via web research, e.g., discovered the necessary SOAPAction to use for the upstream API, which was presented without any WSDL metadata.
Technologies: Go, SOAP, REST, XML, API Gateways, Ruby, Code Generators, Automation, Web Services Description Language (WSDL), Web Research, Bash, Shell, JSON, Rapid Development, Linux, Debian Linux, Back-end, APIs, REST APIs, Simplicity, OpenSSH, Open Source, Web Architecture, API Architecture
2021 - 2021

Freelance Software Developer

Tekt Industries
  • Developed TypeScript cloud functions on GCP/Firebase to support an innovative IoT device, including payments with Stripe, and Twilio SMS alerts.
  • Worked on a Vue.js TypeScript web dashboard for the management of IoT devices, users, and sessions.
  • Worked on IoT device firmware in Python, focused on cloud connectivity.
  • Assisted with debugging a mobile app which was written in Dart with Flutter.
Technologies: TypeScript, Google Cloud Platform (GCP), Google Cloud Functions, Firebase, Vue, Stripe API, Python, Cloud Firestore, Flutter, Dart, Full-stack, Web Applications, Mobile Apps, Firebase Cloud Functions, REST, Git, Object-oriented Programming (OOP), JSON, Jira, Software Engineering, HTML, Slack, Node.js, Back-end, Front-end, APIs, Bash, NPM, Web App Security, Authentication, User Authentication, Linux, JavaScript, HTML5, CSS, Debian Linux, Vim Text Editor, DevOps, Functional Programming, Shell, Security, Make, REST APIs, Python 3, ETL, Twilio, SSH, Serverless, Android, Microservices, HTML Templates, Architecture, Agile, Leadership, System Design, Automation, Web Research, Rapid Development, RSync, ImageMagick, Simplicity, SVG, Stripe, IoT Security, IT Security, Third-party Authentication, OpenSSH, Open Source, HTML DOM, Web Architecture, Google Cloud, Templating, Databases, Database Design, NoSQL, Creative Problem Solving, API Architecture, DOM
2010 - 2019

Analyst Programmer

Linfox Armaguard
  • Made ArmVault, a web application used by the major banks in Australia to forecast cash levels and trade large amounts of cash. It was developed in Python, JavaScript, and PostgreSQL and runs on Linux.
  • Developed and maintained Armaguard Online, a web application used by clients to order cash collections and deliveries. It was developed in Python, JavaScript, and PostgreSQL and runs on Linux.
  • Built a web application for client services to view routing information collected from a SOAP API, such as the stops and ETAs, for all of the vehicles in the company's fleet. It was developed in Python, JavaScript, and PostgreSQL and runs on Linux.
  • Created a set of command-line tools and a web app, used to remotely upgrade, configure and manage more than 1,000 smart safe devices, including parallel updates. The web app was developed in Perl, JavaScript, and Firebird SQL and runs on Linux.
  • Maintained and developed console applications (written in C) used for core business including cash counting.
  • Performed security audits and implemented security-focused projects, including authentication, 2FA, SSO for major clients, input prevalidation, OWASP web app security, cryptosystem selection, and identifying network security vulnerabilities.
  • Implemented a web app for a new TV system in head office and all the branches, to show safety statistics visually, and show internal video updates on a schedule.
Technologies: Python, Perl, Linux, JavaScript, HTML, CSS, PostgreSQL, Firebird, C, HTML5, Vim Text Editor, Apache, jQuery, SQL, Trello, Slack, Git, Subversion (SVN), Shell, Mathematics, Amazon Web Services (AWS), Software Engineering, Object-oriented Programming (OOP), Docker, Back-end, Front-end, Flask, APIs, SOAP, XML, PHP, Bash, Security, Web App Security, Cybersecurity, Web Security, IT Security, Authentication, User Authentication, Cryptography, Full-stack, Web Applications, REST, JSON, Algorithms, Optimization, Algebra, Analytics, SQLAlchemy, Debian Linux, DevOps, Functional Programming, Windows, Portable Code, Gimp, Make, REST APIs, Python 3, ETL, SSH, GDB, Valgrind, GPG, RSync, Selenium, Expect, SlickGrid, Regular Expressions, Microservices, Email Templates, HTML Templates, Architecture, Agile, Integration, Leadership, System Design, HTML5 Canvas, Real-time Rendering, Automation, Web Services Description Language (WSDL), Web Research, Rapid Development, gnuplot, SQLite, GeoIP, CSV, ImageMagick, Unix, Simplicity, SVG, SVG Animation, Data Science, VNC, Single Sign-on (SSO), WordPress, Analytical Geometry, Geometry, OAuth, OAuth 2, Third-party Authentication, Penetration Testing, Security Policies & Procedures, OpenSSH, Open Source, HTML DOM, Data Visualization, Web Architecture, Templating, Webhooks, Software Architecture, System Architecture Design, Databases, Database Design, Vanilla JS, NoSQL, PDF, Creative Problem Solving, DOM, QA Automation
2003 - 2004

Software Developer

Fastmail
  • Worked on the module that strips potentially dangerous elements from HTML emails.
  • Added keyboard shortcuts to the email user interface with popup help.
  • Improved the user interface for the user to set their time zone.
Technologies: Perl, HTML, JavaScript, CSS, Linux, Debian Linux, Vim Text Editor, Software Engineering, Object-oriented Programming (OOP), Shell, Back-end, Front-end, Bash, Full-stack, Web Applications, Web App Security, APIs, SSH, Regular Expressions, HTML Templates, Agile, Rapid Development, RSync, Simplicity, Mutt, IT Security, Security, OpenSSH, Open Source, HTML DOM, Templating, Databases, Vanilla JS, Creative Problem Solving, DOM
2000 - 2002

Software Developer

SchoolsNet | MyInternet | Editure | New Era Technology
  • Improved a variety of software components including Perl web apps, a statistics/analytics system, and a complex asynchronous server written in C++.
  • Wrote a Perl web app, a data-driven XML editor for teachers to edit metadata describing shared e-learning resources; solved the general problem of editing any sort of XML object, which was simpler than creating an editor for a single data type.
  • Wrote software tools in Perl and Shell, including a general-purpose database query tool that works with many engines including PostgreSQL and MySQL, a database schema upgrade tool, a file conversion utility, and text processing and relational tools.
  • Packaged internal software components as Debian packages and used Debian GNU/Linux, which is still my preferred operating system.
Technologies: Perl, Debian Linux, C++, PostgreSQL, SQL, HTML, CSS, Shell, JavaScript, Vim Text Editor, Apache, Software Engineering, Linux, Object-oriented Programming (OOP), Functional Programming, MySQL, Debian Packaging, Network Programming, TCP/IP, Back-end, Front-end, XML, Bash, Analytics, Full-stack, Web Applications, Algorithms, Optimization, C, APIs, Security, Web App Security, Portable Code, Make, ETL, CGI, SSH, GDB, CSV, Emacs, RSync, Expect, Regular Expressions, Email Templates, HTML Templates, Agile, Integration, Leadership, System Design, DocBook, Automation, Web Research, Rapid Development, GeoIP, Simplicity, Data Science, Mutt, VNC, IT Security, Mathematics, OpenSSH, Open Source, HTML DOM, Data Visualization, Web Architecture, Templating, Databases, Database Design, Vanilla JS, Creative Problem Solving, DOM

Experience

Ultra Code Monkey | Web App

https://ucm.dev
Ultra Code Monkey is a web app to help with teaching math and coding online.

I made this system to help me teach math and programming to my own children and to students remotely. I can edit content live on the web page, including HTML, CSS, JavaScript, drag-n-drop, Markdown, TeX for math, plots, and embedded content, and save changes to the server.

The linked page is one example. I also use it for other sites, project planning (like Trello), and individual student pages. I intend to extend this to be a full live collaborative HTML editor. The app is implemented mostly in JavaScript with some Python on the server side.

Cz | Programming Language

Cz is a dialect of C that looks like Python.

Cz has coroutines, hygienic macros, header generation, #! scripting and cached executables, libraries with graphics and sound, and many animated demos. Cz is developed on GNU/Linux and can also run on Windows (with MinGW), Mac OS X, FreeBSD, OpenBSD, NetBSD, Solaris, and GNU/Hurd. Cz translates (fairly) cleanly into C.

Cz is a work in progress, but I think it is already useful and fun. Cz has the full power of C, but it is easier to use, like Python. I use it for some of my programming experiments, including plotting fractals and game development. Cz is pronounced see-zee, sounds like C-easy. It's supposed to be easy to use.

The language and the translator have a few faults which need to be rectified before it might be more generally useful. I intend to continue improving it.

Rescue | Video Game

https://ucm.dev/code/rescue/rescue.html
One night, the people of your village were taken by monsters.

To save them, you must enter the caves and face the deadly Wumpus and Grue. You have agility and rope but nothing else.

Rescue is a "homebrew" game written for the Pandora handheld. It was written for the Feb/March 2011 Pandora Homebrew competition; I've been gradually improving it since then. It also runs on PC Linux, Mac, and Windows.

It's quite hard but can be fun and a big challenge.

Skills

Languages

Python, C, Perl, JavaScript, CSS, SQL, HTML, XML, Bash, Python 3, Java, HTML5, C++, TypeScript, Go, GraphQL, Lisp, Scheme, ARM Assembler, Web Services Description Language (WSDL), PHP, Dart, Ruby, TeX, Rust, Lua, Haskell, Forth, DocBook, Hack

Frameworks

Vanilla JS, Svelte, Django REST Framework, Django, Flask, Netfilter, OAuth 2, Nuxt.js, Vuetify, Tailwind CSS, Flutter, Selenium, React Native, Accelerate

Libraries/APIs

SDL, Node.js, REST APIs, SlickGrid, Vue, jQuery, Mapbox GL, Stripe API, Python Asyncio, SQLAlchemy, FFmpeg, ImageMagick, Steam Web API, Standard Template Library (STL), HTML5 Canvas, Stripe, Fast.ai, OpenGL, Vuex, React, OpenGL ES, GeoIP, Facebook API, PyTorch, TensorFlow

Tools

Vim Text Editor, Apache, Git, Shell, Subversion (SVN), Certbot, OpenSSH, NGINX, Trello, Jira, Slack, Ansible, NPM, Amazon Simple Queue Service (SQS), Graphene, MinGW, Postfix, VirtualBox, Zoom, GDB, Valgrind, Open Broadcaster Studio (OBS), Audacity, OpenShot, Make, SendGrid, LaTeX, RabbitMQ, gnuplot, AWS CLI, Expect, GPG, Emacs, GIS, VPN, OpenVPN, Kafka Streams, Jupyter

Paradigms

DevOps, REST, Object-oriented Programming (OOP), ETL, Agile, Automation, HTML DOM, Web Architecture, Templating, Web Application Architecture, Database Design, API Architecture, Functional Programming, Portable Code, Microservices, Data Science, Penetration Testing

Platforms

Debian Linux, Linux, Unix, Docker, Google Cloud Platform (GCP), Firebase, Windows, Twilio, Quick EMUlator (QEMU), ARM Linux, Amazon Web Services (AWS), NVIDIA CUDA, KVM, Arch Linux, MacOS, Android, Jupyter Notebook, WordPress, Visual Studio Code (VS Code)

Storage

PostgreSQL, Firebird, JSON, Databases, MySQL, Cloud Firestore, Google Cloud, NoSQL, Amazon DynamoDB, MongoDB, SQLite, PostGIS

Industry Expertise

Security, IT Security

Other

Software Engineering, Coroutines, Macros, Mathematics, TCP/IP, Network Programming, Back-end, Front-end, APIs, Web App Security, Authentication, User Authentication, Full-stack, Web Applications, API Gateways, Algorithms, Optimization, Physics, BIND, X Window System, X11, CGI, SSH, CSV, Regular Expressions, RSync, Email Templates, HTML Templates, Architecture, Integration, System Design, Code Generators, Web Research, Rapid Development, Simplicity, Mutt, Open Source, Web Scraping, Software Architecture, System Architecture Design, Creative Problem Solving, DOM, Combinatorics, Geometry, Algebra, Number Theory, Analytical Geometry, Calculus, Debian Packaging, SOAP, Google Cloud Functions, Analytics, Cryptography, Progressive Web Applications (PWA), FastAPI, Message Queues, Axios, Firebase Cloud Functions, Gimp, MSYS2, Leadership, Real-time Rendering, SVG, VNC, ARM, Third-party Authentication, OAuth, Security Policies & Procedures, Data Visualization, Webhooks, Virtual DOM, QA Automation, Chrome Extensions, Deno, Mobile Apps, Game Development, 2D Games, Game AI, Animation, Level Design, Puzzle Design, Game Physics, Foley & Sound Effects, LXC, ZFS, Serverless, BitTorrent, WordNet, WebSockets, SVG Animation, Deep Learning, Artificial Intelligence (AI), Neural Networks, Xterm.js, Web-based SSH, NoMachine NX, Single Sign-on (SSO), IoT Security, Machine Learning, CI/CD Pipelines, PDF, PDF Scraping, Deployment

Education

1998 - 1999

Bachelor of Applied Science Degree (CSSE) (Incomplete) in Computer Science and Software Engineering

Swinburne University of Technology - Melbourne, Australia

1989 - 1993

Mathematical Olympiad Enrichment Program in Mathematics

Melbourne Grammar School - Melbourne, Australia

Certifications

JANUARY 2023 - PRESENT

Walk With Fast.ai Revisited | Artificial Intelligence

Zachary Mueller | Online

JANUARY 2021 - DECEMBER 2023

Practical Deep Learning for Coders Parts 1 & 2 | Artificial Intelligence

Fast.ai | Online