360-521-2416 / [email protected] / linkedin.com/in/johnweldon/
Senior Software Developer
Creating Value with Software
Software Developer, Go, Kubernetes, Containers, Infrastructure, DevOps, Cloud
Excellent results in working with clients and customers. Extensive demonstrated software development experience. Works well with diverse groups of people at all levels of seniority and technical experience. Calm, and peaceful presence in stressful and dynamic situations; leads in crisis. Consistent, faithful, kind, and persevering. An active sense of humour and an ability to see the big picture. Does not get overwhelmed by circumstances. Thrives in fast-moving situations. Strong communication skills, clear reasoning, and tactful and direct interaction.
Senior Software Engineer, StormForge March 2020 to Current
At StormForge I develop and support microservices that deploy and manage resources in k8s clusters, and for supporting identity, authentication, and authorization needs for the StormForge machine-learning kubernetes resource optimization tool.
- Designed and led implementation of an accounts management microservice, working closely with a React based UI, and supported by Auth0.
- Designed and implemented a steady-state converging resource management service, co-ordinating Auth0, GitOps, PostgreSQL, and other microservices to provision “tenant” workspaces. Using NATS Streaming for queueing and message passing.
- Continued to deepen my knowledge and experience of kubernetes, containerisation, and public cloud providers.
Senior Software Engineer, Lyric Hospitality, Inc. December 2018 to February 2020
- 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.
- React/Redux development for tool that I previously built as a contractor with MustWin
Lead Software Developer, MustWin LLC August 2015 to December 2018
- 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.
- 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 catalogue 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.
- 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
- Released the first version of a Financial modelling 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.
- Implemented five new condition management programs for WebMD’s Digital Health Assistant.
- Implemented several new ETLs for a Business Intelligence project with Huron Healthcare.
Team Lead, Transcore September 2008 to August 2011
Lead teams on a few projects that provide freight matching and transportation-related services for the trucking industry.
- Lead a team that built an insurance certification management tool. I led from concept development to running in production within six months; under budget and on-time.
- Maintained and delivered four significant updates to the 3sixty Power freight matching application, and provided technical leadership to other developers, over the course of six months.
- Built and maintained a C based data synchronization service to coordinate data between a couple of disparate systems.
Senior Software Engineer, Jenkon International May 2006 to August 2008
Worked on several .NET projects providing management tools for Direct Selling companies and networks.
- Lead internal classes for learning and improving skills in .NET and related technologies.
- Drove internal change around development processes and tools; introducing and adopting best practices in agile and source code management.
- 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.
- 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.
- 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.
- 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.
- 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.70% rep score).
- 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.
- Active on Bitbucket, although more of those projects are proprietary.