What Is The Toughest Challenge Facing Your Career?
In this post, I compare the demand for web developer skills to the demand for desktop programming skills, so that you can decide which computer programming specialization is better for you and based on that make an informed investment of time, money and effort!
Desktop Developers create applications known as thick clients that reside on the desktop. Aspiring desktop developers have to learn windows application development using tools like Visual Basic, C#, C/C++.
Web Developers create rich internet applications or websites which are viewed using a web browser (Firefox, Internet Explorer, Opera, etc.).
The demand for web application developers at this time is several times much higher than the demand for Desktop application developers.
For every five (5) web developer jobs advertised, I see just about one desktop developer job.
The demand ten (10) or more years ago was for desktop applications because businesses were still getting used to the INTERNET and the WEB.
Today the web HAS CHANGED the nature of how we all do business and how we interact with each other, so the demand has shifted to web programming skills.
Web applications are in more demand because they are easier to scale than windows applications.
They are more cost effective to support, easier to deploy and much more accessible.
The skills you gain as a web developer will be in demand across a wider market than the skills you gain from Windows development.
So, here is a comparison of the demand for web developer skills to desktop programming skills
Web Applications have thin front-ends (thin clients) which means that they can be accessed easily by multiple users or customers with far less network or server overhead than Desktop software programs which has a thicker front-end (fat client)!
Web applications have a lower support and maintenance cost compared to desktop applications.
When a Desktop application has to be upgraded, the software has to be re-installed on all the desktops accessing it!
This is in contrast to Web Applications where an upgrade or re-install is necessary only for one or a few computers in the case of server farms used in highly trafficked websites!
Maintaining Desktop Applications also costs an organization more money because more support technicians have to be employed to troubleshoot install or research bugs and issues encountered as soon as the desktop application is deployed to several different computers.
Each computer has a slightly different configuration even when they are from the same manufacturer, so, whenever you deploy a software program to multiple desktops, installation / deployment issues or bugs are bound to show up which is a resource, time, effort and money drain for any organization!
The internet makes web applications extremely accessible! For example, a Web Application deployed to a server in Tulsa, Oklahoma can be accessed easily using a browser from a computer in any city, state or country.
This is is contrast to Desktop applications where you first have to download and install the software on your local computer before you can view or access it.
This is why the accessibility of Desktops is severely limited when compared to the accessibility of Web Applications!
Web Applications act as business portals for providing personalized services to customers or users around the globe.
Web applications make it easier for businesses to streamline or automate their business processes by providing one-stop destinations for frequently used or accessed services.
Web Applications make it easy to deliver out-of-the-box ideas or new services quickly and through testing and experimentation, they make it easier to gather feedback on what works and what doesn't!
If the majority of your application development is in Windows, you may end up sidelining your career with skills that are not portable or marketable.