John Weldon
Maricopa, Arizona
360-521-2416 / [email protected] / linkedin.com/in/johnweldon/
Cloud Native and Distributed Solutions
Go, Kubernetes, DevOps, Microservices
Key Strengths:
-
I learn quickly, and integrate new knowledge continually.
-
I am relational, responsive, and empathetic; I connect well with customers and colleagues.
-
I work well with others; across job roles, experience levels, physical locations, and
temperaments.
-
I think laterally about problems, whether technical or human, and find essential
keys to success.
-
I pay attention to details, and distill big picture context from complex systems.
-
I find and implement creative solutions to challenges, and notice and use opportunities.
Professional Experience
Customer Solutions Architect, Synadia
November 2023 to
Now
NATS is the future of distributed systems. Synadia is the company
behind this fantastic open source solution. My role at Synadia is to
provide architectural guidance to Synadia customers using NATS to solve
their mission critical infrastructure and distributed systems products
and solutions.
Senior Member of Technical Staff, VMware
March 2021 to November
2023
I worked on the Tanzu Service Mesh team. My work involved microservice
development (mostly gRPC APIs), networking and security, and devops. I
used technologies, including Go, Python, Typescript, gRPC, Kubernetes,
EC2, ECS, Fargate, DynamoDB, S3, Terraform, Istio, Tanzu Service Mesh,
etc.
-
Provided leadership and direction to team members, in both
implementation, and design.
-
Refactored, updated, and improved projects that were on an old
version of Typescript and Node.js.
-
Streamlined, and improved flyway DB migrations; optimizing for scale
and performance.
-
Innovated an automation tool to upgrade large TimescaleDB’s
with a major Postgres version upgrade.
-
Designed and built solutions to improve scale, by reducing duplicate
events, and improving handling.
-
Designed and built an internal service for creating and managing a
pool of EKS clusters for CI/CD tests.
-
Implemented kubernetes helper code to streamline Ginkgo based
system/integration tests.
-
Worked with multiple cloud providers, including AWS, GKE, Azure, and
private cloud.
-
Mentored interns, junior team members, and cross-department
collaborators.
Senior Software Engineer, StormForge
March 2020 to March 2021
At StormForge I developed and supported microservices that deploy and
manage resources in kubernetes clusters, and for supporting identity,
authentication, and authorization needs for the StormForge
machine-learning kubernetes resource optimization tool.
-
Advocated for, and introduced NATS for a message bus. I designed and
implemented a steady-state converging resource management service,
co-ordinating Auth0, GitOps, PostgreSQL, etc. to provision
“tenant” workspaces, using NATS Streaming for queueing and
message passing.
-
Designed and led implementation of an accounts management
microservice, working closely with a React based UI, and supported by
Auth0.
-
Mentored team-mates: improved development practices; helped with
interviewing and hiring; led Go, and Javascript (React) coding; and
general design of systems.
-
Continued to deepen my knowledge and experience of kubernetes,
containers, and public cloud providers.
Senior Software Engineer, Lyric Hospitality, Inc.
December 2018 to February 2020
Focused on data warehouse integration, and some Javascript
(React/Redux) work also.
-
Built NetSuite integration tool in Python to interact with custom
RESTlet.
-
SalesForce integrations with SFDX, SOQL.
-
ETL processes using Python, Airflow, RedShift, AWS S3, Vault, Docker,
etc.
Lead Software Developer, MustWin LLC
August 2015 to December
2018
While at MustWin, I provided senior-level experience, with emphasis on back end systems and infrastructure.
I worked primarily in Go and JavaScript, but also Python and Java, and forays into many other technologies and environments:
-
Built a commercial real estate evaluation tool in React.js with Redux
with a microservice back-end.
-
Produced robust implementations of several micro-service design Go
applications.
-
Built a “function router” using AWS Lambda, DynamoDB,
Node.js, and a little React.js
-
Blockchain proof-of-concept project writing an Ethereum
smart-contract “Oracle” service.
-
Kafka producer and consumer for decoupled Continuous Delivery
infrastructure.
-
Several Docker-based services built with Go, and various storage backends:
Cassandra, S3, Postgres.
-
Cloud systems using Docker, Kubernetes, OpenShift, Mesos, AWS, Azure,
and GCE / GKE.
Some specific MustWin client engagements
-
Built a real estate evaluation tool UI from zero to a fully
functional React application, built on Redux, and performing
calculations on raw data obtained from RESTful backend services.
-
Worked on the RESTful backend written in Python, using Airflow to
migrate data from Redshift.
-
A “state-machine-as-a-service” project; RESTful web
services and a React-based front end for loading, testing, validating, and running
arbitrary state machines as defined in the JSON formatted Amazon
States Language spec. Built to run on Kubernetes, and using etcd for HA storage of state
machines.
-
A “function router” project; combining serverless
functions with network proximity/latency to route serverless function
calls to the endpoints with the most desirable profile, usually low
latency. Used AWS Lambda, and OpenWhisk on-premises clouds.
-
Management portal and services for IoT devices that are
geographically dispersed. The client had previously settled on
using LDAP to catalogue and manage the devices. The infrastructure was on Azure.
-
An integrated set of microservices around storage, metadata indexing, authorization, and state
machine management. This project was for building a backbone of
infrastructure to build internal websites.
-
An end-to-end DevOps tool built on top of an HA architecture that integrated source code
management, automated builds and testing, deployment and health
checking of developer project applications, and providing
configuration, debugging, and logging visibility into the full
lifecycle. This was another large project, with technologies
from Cassandra, Kafka, drone, to Mesos, GCE, AWS EC2, and more.
-
Brought up and managed an Openshift cluster on AWS. Managing a Java web application
and services dev environment on Openshift including Jenkins,
SonarQube, MongoDB, Pa11y, OWASP Zed Attack Proxy.
-
A blockchain and smart-contract payment service, allowing
micropayments for content built on top of the Ethereum
blockchain, and involving an “oracle” for DNS verification of content ownership.
Software Consultant, John Weldon Consulting
July 2010 to December 2018
Consulted and developed software solutions for business clients and
partners. My projects have included open source contributions
using Go and MongoDB to the Juju service orchestration project,
designing and building an online parts catalog with ordering, warranty management, and price list exports for third-party inventory management systems for a heavy logging machinery
company. I’ve done work in the front end (SVG / D3.js and
Angular.JS, React, Redux), and specialize in systems and back end (Go,
C#, Python, SQL Server, AWS, and much more). Another project
involved architectural guidance and support, as well as day to day
direction of a dev team building a new client and business valuation
portal from the ground up in ASP.NET MVC and Entity Framework. I
also have considerable open-source development experience and have been
involved in both small and large open-source teams, with strong
peer-review and testing processes.
-
Managed the selection and hiring of an offshore software development
company, providing developer team members to the project, and
integrated the developers into an existing development team.
-
Initiated and coordinated software project processes and
implementation of Scrum and Agile, including the recruiting of a Scrum
coach.
-
Hiring and coaching mid-level .NET developers on a C# ASP.NET MVC /
Entity Framework / JavaScript data-driven interactive web portal for a
boutique valuation advisory firm.
-
Day to day oversight, code reviews, training of developers and
testers.
-
Implemented Authentication and Security code in several .NET web
applications.
-
Sub-contracted a .NET application performance audit, leading to
greatly improved performance in an important document processing
application in the transportation industry.
-
Built, and supported over the last several years, a small C based
service that periodically gathers data from an Oracle DB, uploading
summary information to a third party back-end.
-
Built and supported an MVC.NET website using SQL Server and leading-edge client and backend technology for an international heavy
machinery parts company.
Software Consultant, Canonical Inc
March 2014 to April 2015
Worked on Juju Core which was a fantastic opportunity for me to get involved in both open-source
projects and the Go programming language. Worked closely with Canonical
employees around the world. Implemented the Juju Actions feature, using Go, MongoDB, Ubuntu Linux, git, bzr, on
launchpad.net and github.com, and using other open-source tools and projects.
-
Implemented Juju “Actions” - enables Charm authors to provide
custom features with their charms.
-
Worked with beta users of the new Actions feature to gather
requirements and prioritize features.
-
Communicated regularly and successfully with team members in several time
zones and worldwide.
-
Code review, mentored, and was mentored by other developers.
-
Designed APIs and backend implementation for various aspects of the new
feature.
-
Fixed bugs, and continued to contribute to various aspects of the project.
Software Architect, SoftSource Consulting, Inc.
August 2011 to August 2014
Supported different clients in the healthcare industry, and in the
retail industry, in business intelligence, and an online health advisor and management tool, as well as sales planning
and forecasting. I provided expertise in behind-the-scenes
development best practices, as well as designed and built new modules
within client applications. I worked primarily in Microsoft .NET
based software solutions using technologies including ASP.NET MVC
WebForms, Entity Framework, WPF, WinForms, Silverlight, Azure, WCF, etc.
At Nike, the technology stack was Java, Spring, MongoDB, IBM TM1,
IBM Cognos BI, Oracle, and JavaScript and Angular.js on the front
end.
-
Released the first version of a Financial modeling tool for retail sales and planning at Nike.
-
Tech Lead on a multi-year, cross-technology and department project at Nike.
-
Led a team of six to a successful release in 4 months, through two
architecture changes, and team growth.
-
Integration between Tomcat Java web application and Cognos using HTML
JavaScript and Cognos SDK.
-
Solved complicated cross-domain authentication and integration using TM1, and Cognos, and
JavaScript.
-
Implemented five new condition management programs for WebMD’s
Digital Health Assistant.
-
Implemented 7 JavaScript/AJAX/JSON widgets for tracking health
information (Weight, Nutrition, etc.).
-
Implemented several new ETLs for a Business Intelligence project with
Huron Healthcare.
Technical Skills
-
Go - I’ve been developing in Go since 2011, and Go has been
my primary choice for most projects recently.
-
Cloud, Kubernetes, OpenShift, Docker - most of my recent work has been in the context of containers
and cloud-based services, with CI/CD, HA and distributed computing as
fundamental building blocks of resilient architecture.
-
Networks, Routing - in the same vein, much of my work has been around solving and
maintaining problems in networks, and with hosting and service routing
issues.
-
REST, gRPC - Many libraries and projects built on and around APIs and
microservices.
-
C#/.NET - Beginning in 2004 I’ve written a lot of code for dozens
of projects continually, until 2017. With my recent move to Go,
I have had less exposure to the recent C#6 and newer features.
-
Typescript - More recent experience here, with ongoing maintenance of
several Typescript based gRPC services.
-
JavaScript - I have had solid experience in Javascript for at least the
last decade. Mostly with hand-built code, and some React (with Redux), Angular.js, Node.js, and
many libraries.
-
Python - I first worked with Python in the ‘90s, but have been
more active with Python 3 in the last couple of years for powerful scripting, numerical analysis, and web services
use.
-
C/C++ - My first professional programming language; I have several
years of experience in the late nineties and early 2000s. I’ve not written much C/C++ recently, but I’ve
gone back to C or C++ a few times for certain projects.
-
Java - another recurring theme in my development experience,
I’ve been using Java off and on since the late nineties. Most
recently using Spring Boot and Hibernate to maintain an existing
application.
-
NATS - I LOVE NATS! One of my favorite go-to technologies that
I’ve advocated for in several companies.
-
SQL Server - a major component of many business applications I’ve
developed.
-
Oracle - Experience building an OCI application in C for moving data
between environments on a schedule.
-
MongoDB, Cassandra, MySQL, PostgreSQL, Redshift, SQLite - most common with Linux platform projects in Python, Java, and
Go, I’m very comfortable with these SQL and No-SQL
databases.
-
TimescaleDB - enough development work on code leveraging this to be
familiar with the features and benefits that the TimescaleDB extension
adds to the Postgres database.
-
HTML, CSS - Decades of experience with web technologies, and have been
actively keeping up with the latest changes in standards like CSS3,
HTML5, and modern web development in general
Community | Open Source
-
A previously regular, and recently occasional, contributor to Stack
Overflow (top 0.60% rep score).
-
Most voted tags include C#, C++, .NET, Java, JavaScript, Go, C, git,
vim, and version control: http://stackoverflow.com/users/102371/john-weldon
-
Maintainer of a cluster of popular Open Source libraries: Go LDAP, and Go ASN1.BER
-
Semi-regular contributor to many different open source
projects.
-
Active on GitHub, with a mix of Open Source and proprietary projects.
-
Previously active on Bitbucket, although more of those projects are proprietary.