Sam Watkins, Full-stack Developer in Melbourne, Victoria, Australia
Sam Watkins

Full-stack Developer in Melbourne, Victoria, Australia

Member since January 21, 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 now available for hire

Portfolio

  • ServiceRocket
    Python, FastAPI, GraphQL, APIs, AWS, Amazon SQS, Message Queues, API Gateways...
  • Synphonyte
    Go, SOAP, REST, XML, API Gateways, Ruby, Code Generators, Automation, WSDL...
  • Tekt Industries
    TypeScript, Google Cloud Platform (GCP), Google Cloud Functions, Firebase...

Experience

Location

Melbourne, Victoria, Australia

Availability

Part-time

Preferred Environment

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

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.

Employment

  • Back-end Developer (Python — API)

    2021 - PRESENT
    ServiceRocket
    • Developed a FastAPI service to sync data between two systems using async REST and GraphQL calls.
    • Developed a Python API service with Starlette and GraphQL and backed 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 an 11-minute demonstration video 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, AWS, Amazon SQS, Message Queues, API Gateways, AWS DynamoDB, React, Atlassian Jira, 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, Problem Solving, 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, RESTful APIs, 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
  • Go Developer for an API Integration

    2021 - 2021
    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 to 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, WSDL, Web Research, Bash, Shell, JSON, Rapid Development, Linux, Debian Linux, Back-end, APIs, REST APIs, RESTful APIs, Simplicity, OpenSSH, Open Source, Web Architecture
  • Freelance Software Developer

    2021 - 2021
    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.js, Stripe API, Python, Cloud Firestore, Flutter, Dart, Full-stack, Web Applications, Mobile Apps, Firebase Cloud Functions, REST, Git, Object-oriented Programming (OOP), JSON, Atlassian Jira, Jira, Software Engineering, HTML, Problem Solving, 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, RESTful APIs, Simplicity, SVG, Stripe, IoT Security, IT Security, Third-party Authentication, OpenSSH, Open Source, HTML DOM, Web Architecture, Google Cloud, Templating, Databases, Database Design
  • Analyst Programmer

    2010 - 2019
    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), Problem Solving, Docker, Back-end, Front-end, Flask, AWS, 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, GIMP, 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, WSDL, Web Research, Rapid Development, gnuplot, SQLite, GeoIP, CSV, ImageMagick, RESTful APIs, 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
  • Software Developer

    2003 - 2004
    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, Problem Solving, 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
  • Software Developer

    2000 - 2002
    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, Problem Solving, 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

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, WSDL, PHP, Dart, Ruby, TeX, Rust, Lua, Haskell, Forth, DocBook
  • Frameworks

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

    SDL, Node.js, REST APIs, SlickGrid, Vue.js, 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 SQS, Graphene, MinGW, Postfix, VirtualBox, Zoom, GDB, Valgrind, Open Broadcaster Studio (OBS), Audacity, OpenShot, Make, SendGrid, LaTeX, VS Code, RabbitMQ, gnuplot, AWS CLI, Expect, GPG, Emacs, GIS, VPN, OpenVPN
  • Paradigms

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

    Debian Linux, Linux, Unix, Docker, Google Cloud Platform (GCP), Firebase, Windows, Twilio, Quick EMUlator (QEMU), ARM Linux, Amazon Web Services (AWS), CUDA, KVM, Arch Linux, Mac OS, Android, Jupyter Notebook, WordPress
  • Storage

    PostgreSQL, Firebird, JSON, Databases, MySQL, Cloud Firestore, Google Cloud, AWS DynamoDB, MongoDB, SQLite, PostGIS
  • Industry Expertise

    Security, IT Security
  • Other

    Software Engineering, Coroutines, Macros, Problem Solving, 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, RESTful APIs, Simplicity, Mutt, Open Source, Web Scraping, Software Architecture, System Architecture Design, Combinatorics, Geometry, Algebra, Number Theory, Analytical Geometry, Calculus, Debian Packaging, SOAP, Google Cloud Functions, Analytics, Cryptography, Progressive Web Applications (PWA), FastAPI, Message Queues, Atlassian Jira, Axios, Firebase Cloud Functions, GIMP, MSYS2, Leadership, Real-time rendering, SVG, VNC, ARM, Third-party Authentication, OAuth, Security Policies & Procedures, Data Visualization, Webhooks, Deno, AWS, Mobile Apps, Game Development, 2D Games, Game AI, Animation, Level Design, Puzzle Design, Game Physics, Foley & Sound Effects, Plan 9, Inferno, LXC, ZFS, Serverless, BitTorrent, WordNet, WebSockets, SVG Animation, Deep Learning, Artificial Intelligence (AI), Neural Networks, Xterm.js, Web SSH, Nomachine NX, Single Sign-on (SSO), IoT Security, Machine Learning

Education

  • Bachelor of Applied Science Degree (CSSE) (Incomplete) in Computer Science and Software Engineering
    1998 - 1999
    Swinburne University of Technology - Melbourne, Australia
  • Mathematical Olympiad Enrichment Program in Mathematics
    1989 - 1993
    Melbourne Grammar School - Melbourne, Australia

To view more profiles

Join Toptal
Share it with others