A Look At 20 Years Of Microsoft .NET - My First Enterprise Application And More!

20 years ago on February 13, 2002, the first version of Microsoft .NET was officially released and it’s still going strong today! As I reflect on this special anniversary, for the first time, I will discuss what led up to that release and my very first in-production enterprise application with .NET.

A Look at 20 Years of Microsoft .NET: My First Enterprise Application and More!

I will also look at some of the apps I have written with .NET. Some of what I have done in the past 20 years, including becoming a patented inventor, can be found in these articles:

Way, Way Back

Way, way back in the late 90s, I remember sitting at a table at a conference eating lunch when someone from Microsoft sat down and started asking me questions about software development and what I’d like to see in a language. I thought he was asking my opinion for features for the next release of Visual Basic, but years later I realized that he was gathering information on what would become Microsoft .NET in early 2000. I along with other book authors that included Carl Franklin and Deborah Kurata were invited to Microsoft for what I call a “3-Day Mind Meld” to learn .NET in the hope we would go home and start writing books on it.

When I came back home, I didn’t start writing books (yet), but what I did do is call my manager where I taught at the University of California San Diego and tell her “We have to start teaching .NET right now!”. That was the beginning of December of 2000 and by April 2001, I was creating and teaching accredited classes for .NET. Teaching and coding in .NET was rough back then since there was very little documentation. We learned by doing and breaking things! Since I never heard of a Garbage Collector, I remember spending a lot of time watching how it worked so I could understand how memory management is handled. Twice, I even invited one of the people who worked on it to the user group I ran so that the members could also understand this very important part of .NET. I’m still writing articles on it today!

My First Enterprise Application in .NET

In 2001, I was hired by a company in Chicago to write my first enterprise-level application in .NET. The best way I can describe it is that it was a lot like LinkedIn. You can see similar sites now when you go to a company’s website to apply for a job. We allowed candidates to search for open positions, submit their resume, and answer questions to prequalify them for the position. Since there was only one developer besides me, the first part of my job was to mimic the look and feel of large companies’ websites so the user couldn’t tell they were on our servers. This was difficult back then since browsers such as Netscape rendered HTML very differently than other competing browsers.

The biggest feature I architected and wrote is what I called the “Question Engine”. Back then, employers spent a lot of time looking over resumes to make sure the candidate had the right qualifications for the job before inviting them in for the first round of interviews. They wanted to automate this process as much as possible to save time and cost. The Question Engine was highly configurable by our customers via our backend portal. I allowed them to use as many HTML controls as I could such as list boxes, drop-down boxes, radio buttons, text boxes, and more. The customer would come up with the questions, load them into the portal and then, most importantly, optionally enter in answers that they would accept. Then the Question Engine would either accept the candidate or reject them based on their answers. The system would then send an email to the candidate and let them know their application was not accepted and would be kept by the company for a year.

A Look at 20 Years of Microsoft .NET: My First Enterprise Application and More!

I always chuckle at this next part of the story. One of our first customers was a very large hospital system located on the east coast of the United States. I remember someone from that company telling us that they did not want the candidate to know that a computer disqualified them, so could we delay the rejection email by three days!

The Question Engine saved company’s countless hours going over resumes from candidates. I would say less than 10% of applicants were accepted by the Question Engine allowing the companies to have more time to find the right candidate. Being a curious person, sometimes I would log into our file server and read some of the resumes. This was the first time I realized how bad most resumes are and that many candidates could not follow even simple instructions when applying. Some of this experience led me to release my book Rock Your Career: Surviving the Technical Interview so I could help software engineers get hired! If you could believe it, we were in production with Beta 1 of .NET 1.0! Talk about flying by the seat of your pants! Every time the .NET team released an update before the first official release, it would break our system causing at least a day of fixes. The team is a lot better at not making breaking changes these days.

Many Companies, Many Types of Applications

Besides teaching at a university for most of this century, here are some of the applications I have architected and written in .NET. For venture capital companies, I wrote a flexible web portal that connected .NET (ASP.NET) to Great Plains. I converted a legacy C application to work on the Compact Framework used by thousands of drivers across the United States for the uniform company Cintas.

I wrote an application that controlled and recorded camera feeds for casinos and other large companies. Before this system, casinos had to spend a lot of money (sometimes over a million dollars) for switching equipment that took all the camera feeds into the main system via coaxial cables. We provided the cards and servers that allowed the cameras to be hooked up to any internet connection and then recorded those feeds just like a DVR. All the customer needed was a computer! I also coded the ability to take a feed and burn it onto a compact disk. After I left the company, Cisco purchased them!

I became the lead developer in charge of software development for a biotech company based out of San Diego, California. Not only did I hire and manage the team, but I also wrote many internal applications for the company. One of them was a Compact Framework mobile app for hand-held scanners for the main manufacturing facility located outside of Austin, Texas. The manager of the warehouse said that this app saved the company over $95K annually.

Then I became a Principal Software Engineer for Mitchell International located here in San Diego, California. I was there for 4 ½ years (the longest at any company) where I architected and wrote their first open API. This API allowed partner companies access to the backend data so they could provide services to customers. I also architected the ability for these partners to launch their add-in applications in our enterprise app for auto repair facilities. When the company decided to lay off all the Principal Software Engineers in one day, I was in testing with companies that allowed Mitchell to have a revenue share in the products and services these companies sold!

I wrote an app for research being done by a university that would receive signals sent from a device implanted in a Type 1 Diabetes patient arm. It then calculated how much insulin the patient needed and sent a signal to their insulin pumps with the correct information. Now you can see similar systems advertised on television! I really enjoy working on apps like this that truly help people. This also was important to me since at the time, I had Type 2 Diabetes which I later cured by losing 130lbs (59 kilograms)!

I worked on a web portal for a medical research department at the University of California San Diego. This portal, along with a cellphone provided by Verizon, allowed tuberculosis patients to record on the video themselves taking their daily medication. By law in the United States, patients must do this daily to prevent the spread of this deadly disease. So instead of visiting a medical facility every day or having a nurse come to their home, they just needed to record a video on their cellphone. The first demo of this system was attended by some of the Deans who ran the college and a United States Senator!

I wrote my first system using microservices for a company that sold sensors for baseball bats and golf clubs to detect swing movement that is then analyzed by artificial intelligence to tell them how well or bad their swing was. It would then give them suggestions on how to improve their swing. When I started there and why they hired me was that the data (600K) for a single swing would take up to 70 seconds to get into their backend from users’ cellphones. The company wanted to attract large contracts from baseball teams like the Huston Astros, but it was taking too long to analyze their data after batting practice. When I left the company, I had that time down to 200 milliseconds or less by just using queues and microservices on AWS. I didn’t change a single line of the code that processed and analyzed that data!

There are more companies and applications since I started contracting full-time in 2013. I also started helping companies with their quality and performance issues. This experience led me to write the book Rock Your Code: Code and App Performance for Microsoft .NET. Performance is always important but it’s even more so for apps and services in the cloud since it impacts cost. As a contractor, I architected and wrote a scheduling system for drivers at Verizon that the company said was the best-run project in the company’s history! Verizon even let me name the application Installle and came up with its logo!

A Look at 20 Years of Microsoft .NET: My First Enterprise Application and More!

As you can see from these examples, teams can write just about any type of application with .NET and that list continues to grow with every release. Under the guidance of Satya Nadella pushing open-source, Microsoft now embraces multiple operating systems, cloud computing, mobile devices, watches, IoT, and much more. Microsoft use to be a lot like Apple… “It’s our way or the highway”! I don’t see .NET going away anytime soon!

Personal Accomplishments

On top of all that, I got into Open-Source Software (OSS) in the mid-2000s and have released libraries for the .NET Framework, .NET Core, and now .NET that includes NuGet packages. The current .NET libraries are called Spargine. I also wrote a free app for developers that searches for code on your system and quickly backs it up. It also can clean out cached files left over by Visual Studio and SQL Server that not only can save on gigabytes in disk space, but it can also clear up issues building and testing apps with Visual Studio. I am re-writing it now, so look for a release later this year.

A Look at 20 Years of Microsoft .NET: My First Enterprise Application and More!

In 2006 I became a Microsoft Most Valuable Professional and still am to this day. Later, I became an MVP at C# Corner along with being one of their featured writers. This month I hit a ranking of #30 on the site and my articles have been read over 1.3 million times.

My speaking really took off in the last 20 years and now I travel the world teaching software engineers, something I love doing! I’ve released many books for big publishing companies including Microsoft Press but now only self-publish on Amazon.com. I am always working on a book and releasing them as often as time allows.

A Look at 20 Years of Microsoft .NET: My First Enterprise Application and More!

I started a podcast called Confessions of Angry Programmers that lasted a year and now I host the popular interview-style show on C# Corner Live called Rockin’ the Code World with dotNetDave that is watched by 8K to 16K viewers each week. I’m even organizing conferences for C# Corner too!

Along the way, I have met many of my idols in this programming world, gained thousands of followers, and have made so many connections with some leading to friendships. All my best friends are software engineers! Because of my work in the community and being a Microsoft MVP, I can easily reach top people at Microsoft for help or to be a guest on my show. Once while I was contracting at a company that was trying to choose a cloud provider, I asked the lead developer why they weren’t looking into Azure. She said, “Because I feel no love from Microsoft!”. When I went back to my desk, I sent an email to Scott Guthrie (head of Azure and .NET), and the next day, I had managers from Microsoft on the phone! Not too shabby for a self-taught software engineer!

Looking Towards the Future

I don’t see .NET slowing down anytime soon, especially since it’s such a big part of cloud computing on Azure and other providers. I see more and more teams and developers embracing .NET and other offerings at Microsoft as we head towards more machine learning, artificial intelligence, robotics, IoT, ever-changing mobile platforms, low code solutions, and much more.

As I inch closer to retirement every day, I hope that I can do less coding. I want to find more companies willing to hire an experienced software engineer to help their teams with architecting, leadership, code quality, and performance. This is something I see lacking on too many teams. Far too many managers focus on the number of developers they have, not the quality of the software they are delivering to meet user needs.

What brings me the biggest joy in this world is helping others. I hope to teach more, speak more (once the COVID pandemic is over), write more, and even run conferences. If I could make a living that allowed me to live near the beach as I do, I would be doing these things full-time, now!

A Look at 20 Years of Microsoft .NET: My First Enterprise Application and More!

I’ve stated many times that I will always be coding, even in the old folk’s (retirement) home, along with rocking out with my guitars of course! If you are visiting your loved one and hear the band AC/DC being played loud from an adjacent room, that is me!

Summary

Here is looking towards another 20 years of Microsoft .NET or what it might morph into. There will be ups and downs, but I am sure in the end, the framework will continue to allow teams to deliver apps and solutions to meet their customer needs, on time with a high degree of quality.

How has your time been with .NET? What types of applications have you written? What are you looking forward to? Please reach out and comment below. Don’t forget to watch me interview industry leaders live where you can ask them questions on Saturdays at 10 am PST on Rockin’ the Code World with dotNetDave!

ROCK YOUR CODE & CAREER!


McCarter Consulting
Software architecture, code & app performance, code quality, Microsoft .NET & mentoring. Available!