Skip to main content
Loading...

Technologies

Over the years, I have worked with a diverse range of technologies including C++, C#, JavaScript, TypeScript, React.js, and various mobile, web, and desktop platforms, as well as multiple database technologies. While I am open to exploring and learning new technologies, my current focus and specialization lies in Azure Cloud technologies, particularly hands-on development using .NET Core and C#. I believe that Azure Cloud provides the best value for customers, is highly performant with the lowest TCO, and has simple onboarding with well-documented and structured resources. I also have extensive experience in building UI and designing user experiences.

While my career history started with development on the Windows platform and evolved to early web applications using the original ASP with VS Script, and extensive C/C++ Windows UI programming, I now primarily use the following technologies:

  • Azure Cloud (deep expertise)
  • C# and .NET (including ASP.NET and .NET Core)
  • Relational databases such as MS SQL Server and MySQL
  • Azure Blob Storage, Azure Tables, and Azure CosmosDB, for which I have implemented and worked on APIs that span these technologies.

Technology Areas

Here are some of my favorite technolgy areas, producsts, technology stacks and languages that I worked with
.NET Core & ASP.NET Core

ASP.NET, WebAPIs, Blazor, RESTful APIs. Web Services, Microservices and API endpoints, C# Programming

Azure Cloud

Azure consisnts of large set of features and technology areas. I've used many of them while working at Microsoft. Azure Active Directory, Azure Functions, Serverless Computing

Web Services & Microservice

One of my primary focus areas is creating architecture and integrating multiple Web Services. I also define interfaces and data flow for Web Apis and RESTful APIs

SPAs

Single Page Applications using React.JS, JavaScript, TypeScript

GraphQL

Single data endpoint to return an optimal dataset

Monitoring, Application Insights & Telemetry

Kusto Query Language (KQL), App Insights, Grafana Dashboards

Data Storage

Azure SQL, CosmosDB, Azure Blob Storage, Azure Table Storage, Relational Databases, MySQL, PostgreSQL, NoSQL

Accounting and Point of Sale Integrations

Intuit Quickbooks, Intuit Point of Sale, Sage, Xero Accounting integrations

Customer Relationship Management (CRM)

Custom solutions, Integrations, Dynamics 365, Integrating with scheduling & appointment systems, SMS integration, marketing emails, SMS

Inventory Management, Order Management Systems

Custom Solutions, Product Inventory Managament, Order Management and E-Commerce Web Shops, Purchase Orders, Invoices, Logistics

Payment System Integrations

PayPal and Authorize.NET integrations

Communication & Notifications

Azure Communication Services, Twilio - Sending SMS, Chat, Calling, Video. Leveraging my Lync, Skype for Business, Skype Consumer experience to provide expertise and integrate these technologies into various products

My technology preferences lean towards those that aim to achieve a low Total Cost of Ownership (TCO)

My primary focus is on Azure Cloud technologies, particularly .NET Core and C#. I believe Azure offers the best value for customers, and it's highly performant with a low TCO. While I'm open to using other technologies, I have deep experience with the Azure stack. Its onboarding process is straightforward, well-documented, and is consistent. I also have extensive experience building UI and designing user experiences. And for those if ASP.NET Core or Blazor technologies don't make sense then React.JS is my preferred front-end framework for building SPAs.

For backend services and APIs I highly recommend any of Azure technologies ranging from WebService (.NET Core WebAPI), Azure Serverless Functions, Azure Active Directory, Azure CosmosDB. All these easily integrate together and are priced low. The best factor why I work with them is the low TCO. Maintanance is multiple factors lower than other competing technologies and languages. These technologies are well supported for the long term. Oboarding new temmmebers is significantly faster when using .NET Core and C# than other technologies.
The well defined structure and consistency is a winning combination for anyone looking at having a low TCO.
The realitiy of any software project, system or application that it tends to live for much longer than the orginal team stays around. That means new members join the team and need to continue evolving it at a fast pace.
A well architected and designed application or component are much easier to maintain and enhance. However, in my many years of exprience and been through many project transitions I can attest that certain technologies and languages are much easier to understand.
Over time the tribal knowledge of a complex system will leave witht the original teammembers. That's a fact. That original software engineer who worked on the first version will stay the most knowledgable for a long time.
Having a well structured, documented project is a dream. Internal technical documentation is rarely kept up to date, comments in code are never as good as they should be. And the structure of the project unless you follow prescribed guidance to the dot which no one does, will make every project look different.
Using .NET previously and .NET Core, ASP.NET Core and C# will provide, mostly force, a specific structure. The type safety will prevent hard to find bugs. The readability of your projects will be higher. Of course it's all very performant. That's a given.
You'll still encounter vast differences in implemnetations, but there is a specific paradim and pattern these app and systems must follow in order to be compiled, built and deployed.
This consistency and familiarity is what will lower your total cost of ownership and make maintanance much easier especially when new team members join your project. Who wouldn't want that?