When I tell people what I do at work, they are often surprised that there is still someone doing this – it is 2012 after all.
The thing is – we develop Windows based desktop only software using C# and .NET 2.0. Our software writes plain ol’ files to disk. It seems that most people these days develop web apps using some (newer) language and/or framework depending on their server. Alternatively, I meet a lot of developers doing mobile apps for iOS/Android.
It is true that most of what we do has some frameworks, languages or even platforms that are newer and possibly better than the one we use. But I really think that our situation is very unique – so please don’t throw away the .NET 2.0 idea yet.
First – we develop standard software. There is one version – and we sell it to all our customers. We do not do any customization or modifications based on single users. True – we listen to all our users input when developing – but that is a totally different story. We don’t sell our software based on the technology platform – we don’t have to attract new development contracts by being able to target a new platform like “mobile”.
Second – we target a relatively narrow business segment. This might be a very fuzzy definition for most – but this group is very conservative when it comes to IT investment and upgrades. In this target, the users almost never have any control at all – IT is centralized and all upgrades or updates are planned and carried out with precision. They are usually not the first movers on new technology – they are actually often the last movers. To illustrate – our company website has an unusually high amount of Internet Explorer 6 visitors compared to overall web statistics.
Third – our software is very often used at the core operations part of a business. This means that the preferred focus is “stable and predictable” compared to “new and shiny”. If we were to roll out updates that changed too much – users would not upgrade, they would demand a roll back and they would possibly think twice about upgrading in the future. A changing UI represents some degree of uncertainty concerning the effectiveness and predictability in the daily use of the software and therefore the business critical decision making that our software support.
This is why we are still targeting .NET 2.0 – we have no pressure to seek out a new platform. Our users have .NET 2.0 and are comfortable by having it. And we don’t need the shiny features that newer platforms provide.