If you’re in the position to initiate a new development project, or you’re a technical leader trying to decide what technology to use, it is important to consider time, cost, and ease of maintenance. The Microsoft platform, although it does have a cost associated with it, will benefit your company in the long run. They are here to stay, and the software development tools being provided are world-class, and do end up saving time and money in the long run.
Microsoft is still the king of custom software development tools, and we know it…although some still fight it to try and produce software at a lower cost. But what are is the pros and cons of not sticking with the “King”?
The pros are pretty simple:
- Easy to code – C# is the currently most popular software development language for business applications. SQL Server is a very popular and scalable database.
- Flexibility – The .NET platform offers scalability using MVC methodologies and can be modified to accommodate the needs of just about any business organization.
- Huge Development Community – easy to find and hire developers, easy to find online support.
- Incorporates the best security – .Net provides multiple types of security.
- Cloud Integration – Take advantage of Microsoft’s Azure platform, and deploy worldwide instantly.
The Cons:
As we all get older, and technology grows and matures, and things become much easier to “share”, it is very easy to get lost in all the new technologies because it is all great stuff for developers to work and play with. I admit it – it is really fun as a developer to use the latest eye-candy, the latest API’s, the latest development tools… but! (There’s always a but…)
Problems with using free, open source, or discount stuff occur, and then you’re pretty much on your own to solve issues. Sometimes the code you’ve downloaded just doesn’t work. Sometimes you can’t get it to work. Sometimes it breaks other features in your program.
When you’re working with open source libraries and programming controls, there’s not “one person or company” that is responsible. You’re truly on your own. You will be responsible to figure out why something is failing, and it may take an hour or it may take weeks – and when you hit that “wall”, who do you call?
As a long-term business owner at Palm Beach Software Design, Inc., we learned (the hard way I’ll admit) that sometimes it is better to select and pay for software development tools. There are so many good reasons why:
- There’s a real company standing behind what you’ve purchased. They do this for money, and they know that they are judged constantly from the development community, so they try their best to respond to inquiries, bug reports, and how-to questions with high priority.
- There’s usually a budget in the development cycle for real technical documentation.
- In some cases, using a suite of tools and controls from the same company makes it easier to accomplish your programming goals, because of the consistency of the development tools, environment, and even look and feel.
- The manufacturers of software tools and components that sell them for money SELL what they sell, want to continue to sell their software, so it MUST work. (We have to make that assumption if they intend on staying in business).
I’m sure there are many good reasons you can add to my list, but the 4 items above are spoken most by me when I meet with a new client and they ask me what technology stack we use.
What Do We Use?
Palm Beach Software Design, Inc. develops software for business around the Microsoft technology stack, including Visual Studio, C#, and SQL Server. We have adopted 2 leading methodologies for software development based on the requirements of the project: the first is MVC, and the second is what we call the “Angular” approach. We also use the same MVC approach when developing apps for Android and iOS, using Java and Swift for native development, and Microsoft Xamarin for cross-platform development.
As a business owner of a consulting company, “time is money”, and as I said before (we learned this the hard way). Let me explain… about 15 years ago, we decided in a fit of rage, that we didn’t want to pay those licensing fees, and we actually found open source software to replace some of the things we were paying for. MS SQL server can be replaced by MySql, for example. Most things worked perfectly when we switched databases, but we learned after a while that our complex queries were not always working as we expected, and spent weeks, then months trying to track down the issues and fix them. Needless to say, the client was not happy with the delays, and any profit we thought we were making was burned up trying to make everything “work”. (You can’t bill clients for this stuff…at least I don’t – and I sleep well at night because of this, too.) It was a terrible outcome (internally) for us, and we finally switched back over to SQL Server because we knew it worked, and secondly, we knew Microsoft would answer the phone and support their product. To me, this was PRICELESS.
At the end of the day, there are certain open-source projects we will work with, such as Angular, for example, but we also know well ahead of time that there’s a huge community that can help us if we run into problems. These projects But those are few and far between, so my point is still very valid – you get what you pay for about 99% of the time.
In summary, if you’re reading this because you’re in the position to initiate a new development project, or you’re a technical leader trying to decide what technology to use, it is important to consider time, cost, and ease of maintenance. The Microsoft platform, although it does have a cost associated with it, will benefit your company in the long run. They are here to stay, and the software development tools being provided are world-class, and do end up saving time and money in the long run.
Mark Turkel is the CEO and Senior Software Architect at Palm Beach Software Design, Inc. Palm Beach Software Design is in the business of creating custom software solutions for business, in order to streamline and enhance your process, products or services, and people.
Contact Mark at 561-572-0233, and you can read all about Palm Beach Software Design, Inc. on our website, http://www.PalmBeachSoftware.com