John Weldon Consulting began in 2002.
I started consulting with a few side projects, and between referrals, previous employers, and old fashioned word of mouth, it grew from there.
I specialize in web application programming using both the Go and Open Source stack, and the Microsoft ASP.NET MVC and Entity Framework 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. Presently I’m doing a lot of DevOps type work; extensively using Docker and container technologies on Mesos using Marathon. Kafka and Drone are a core part of a Continuous Delivery solution I’m helping to build, along with Cassandra, and InfluxDB.
My platform of choice for web application is Go.
On the client side, I have experience with dynamic single page apps that use AJAX and DOM manipulation, and I’m also comfortable with static client side code.
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 variables, like the long term support plan, the upfront financial investment available, the intended use or audience, or other factors, I’ll be able to quickly build front end solutions in any one of a number of technologies.
My forte is 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 on AWS, Google Cloud, Rackspace, Azure, or any other public or private cloud environment.
I’ve built solutions many times over the years with several variations of agile process. From traditional waterfall, and then 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.