Software Consulting - May 7, 2015

John Weldon Consulting has been around in various forms since 2002.

I started consulting with a few side projects, and between referrals, previous employers, and old fashioned word of mouth, the business has grown into my primary work.

I specialize in web application programming using both the Microsoft ASP.NET MVC and Entity Framework stack, and the Go and Open Source stack.


I work in many different technologies. I find myself mostly focusing on back-end infrastructure systems, server side web development, and rich client code in javascript, html, and css.

My platform of choice for web application is Go, the systems programming language developed at Google and also known as Golang. I’m also fond of ASP.NET MVC and C# for Microsoft environments and windows applications and business web applications. On the client side, I have experience with single page apps that are heavy in AJAX and DOM manipulation, but I’m also comfortable with static client side code.

I’m happy to build new web applications from scratch in either technology, and will be able to go very quickly from concept to proof-of-concept, to minimum viable product, to an iteratively improved product. Maintaining and updating projects in either of these platforms is also something I’ve done many times and done well.

Finding the best technology for a solution is often a balance between cost of development tools, cost of deployment and hosting, speed of development, and re-usable code libraries and snippets. Depending on many things, like the long term support plan, and the upfront investment, or other factors, I’ll be able to quickly build front end solutions using Microsoft ASP.NET MVC, custom hand crafted HTML and Javascript, or dynamic client side applications using libraries like AngularJS, or ember.js, etc.

I’m also experienced in server-side and systems infrastructure coding. Modern web applications and systems are built to be distributed, fault-tolerant, and to scale well under load. Your application can be running in AWS, or Rackspace, or Azure, and be load-balanced behind haproxy and with memcached or other caching technology to ease the load on your servers. I can use docker to containerize your application making it simple to deploy to multiple servers in minutes, to handle increased traffic with ease.


I’ve built solutions many times over the years with several variations of Agile process. Starting in traditional Waterfall, and then from XP (extreme programming), to Scrum, and Lean / Kanban, I’ve found that every project develops it’s own best workflow based on the experiences and styles of the team members.

In general an iterative approach focused on delivering incremental value immediately seems to have the best results. This approach requires less “Big up-front design”, but requires continual interaction between the developers and those that can guide the product to it’s intended state. We call those guides “Product Owners”, and usually the person filling that role is the key to the success of the project by staying connected with the development process and providing feedback quickly.