I'm a software architect and full-stack developer based in Calgary, Alberta, Canada. I design and write software mostly in C#, Python and C++ on Linux and Windows, although I've also developed with quite a few other languages.
I started as a hardware engineer, and moved to software development early in my career. As a result I've worked on everything from circuit design, FPGAs and firmware, through to enterprise software using messaging, web services, microservices, REST APIs, Software-as-a-Service (SaaS) systems and huge databases both on premises and in the cloud. I've written systems that carry out overnight processing for banks, others that optimize and reduce energy usage, organize rail networks, increase finance companies' efficiency, help engineers to analyze and optimize cell phone networks and others that supply IP address and domain intelligence based on big data databases. I've worked as a team member, team lead and independent consultant, so I have experience in all aspects of the actual process of software development.
One of the earliest things I learned about software is that financial institutions aren't the only ones who want their software easy to use, and running quickly and efficiently 24/7/365; everyone else does too. I specialize in fulfilling these requirements, adding customer value quickly and effectively, as well as all of the other requirements that companies have. To do this I use Continuous Integration and Deployment and Test Driven Development to automate every part of the process from building and unit testing to deployment and integration testing.
As well as being a Chartered Engineer (CEng) through the Engineering Council (UK), I'm also a Certified Scrum Master and a member of both the IEEE and the IEEE Computer Society.