John Weldon Maricopa, Arizona 360-521-2416 / johnweldon4@gmail.com / 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.