Interview with our developer: Benefits of .NET for your business
Over the years of our work in the software development industry, we’ve managed to gain a good understanding of clients’ needs and the pains they have when they come to us. And one of the issues that we can regularly observe is that quite often customers know practically nothing about the technologies that can be used for creating their solutions. And as a result, they do not even realize what opportunities this or that tech stack can open to them. To address this issue, we’ve decided to organize an interview with one of our skillful programmers who agreed to share his knowledge and tell us more about the peculiarities of .NET software development.
How can you explain the popularity of .NET for business software solutions?
Nikita: First of all, this developer platform allows customers to greatly optimize their budget for software development. It is widely used for cross-platform development which means that it doesn’t matter whether you are building a simple web app or an enterprise-level solution, it will be enough to write one code that will be compatible with different platforms.
Secondly, when we work with .NET we get access to a huge variety of tools, methods, and libraries. We can also use a lot of ready-made components and modules. As a result, the time required for development can be reduced.
And one more advantage that I’d like to mention is the reliability and security of .NET.
Based on your experience, for what categories of solutions, is it sensible to choose .NET?
Nikita: I won’t exaggerate if I say that you can build practically any type of app using this developer platform. But as a rule, it is chosen for creating interactive web apps, cloud-based SaaS products, large enterprise-level systems, IoT solutions, AI-powered apps, as well as native and cross-platform mobile applications. Very often .NET is chosen for building desktop apps and different kinds of games. Thanks to the flexibility of this technology and rich libraries, our possibilities here are practically limitless. Maybe, that’s one of the reasons why a lot of developers really like working with it regardless of minor issues.
But some issues still exist, right? Can you mention at least a couple of them?
Nikita: Sure. It’s important to be objective. And we always warn our clients about any possible pitfalls when we are choosing a tech stack. Sometimes they even change their opinion after we explain all pluses and minuses of the chosen variant in their particular situation. We are interested in building a solution that will bring real value to our clients’ business and that’s why we always consider all pluses and minuses.
As for .NET, though it can be used for cross-platform development, Windows is a key platform for such solutions and the possibilities are significantly wider in this case than in the case of other operating systems.
Moreover, despite the fact that .NET is open-source, its development greatly depends on decisions taken by Microsoft.
And one more point that can make clients think about the feasibility of this choice is the necessity to regularly update .NET software (actually, this necessity always exists but with .NET we can brightly demonstrate it). Every year, in November, a new version of .NET is released and it is supported only for 18 months. And it is difficult to predict which tools and services used in the development of your solutions won’t be compatible with newer versions.
How do newer versions differ from the previous ones? What is the key direction of changes?
Nikita: There are two main aspects that .NET Foundation is currently working on. They are the performance of .NET, like better code generation, and the facilitation of the coding process. With every new version, .NET is enriched with more advanced features that help developers to work faster, avoid unnecessary processes, and minimize the risk of mistakes.
How can you estimate the current situation in the labor market? Are there a lot of .NET developers today?
Nikita: Yes, the .NET community is rather big and it unites a lot of talented programmers with outstanding skills and deep knowledge of this technology. By the way, that’s one of the factors in favor of choosing .NET for our customers. As there is no scarcity of such talents on the market, it means that businesses will always have the possibility to find such experts to support or modernize their products, even if a company doesn’t have in-house programmers.
But if there are so many .NET developers how is it possible to choose the best ones?
There is also one important skill that can help you to identify good .NET developers. That’s an ability to write a so-called “clean code”. As you probably know, quite often it is possible to solve one task in different ways which means that you can write different code for achieving the same goal. But the notion of a clean code presupposes that it is an understandable and maintainable code that will be clear not only to you but also to people who will read it in the future.
What projects are usually considered to be the most challenging for developers?
Nikita: Though it is impossible to speak on behalf of all programmers, I believe that the most challenging projects are those that presuppose working with code that was written by somebody else. It means that legacy software modernization and migration projects typically pose the most serious difficulties. We always need to devote enough time to review the code and to define which parts can be re-used and which parts should be fully rewritten. Moreover, when there is no tech documentation, it is extremely challenging to understand how everything works. This is why not all teams take on projects to migrate or modernize legacy software. In its time, the Softacom team chose this very path. Today we continue to specialize in legacy software. On the one hand this is difficult and requires a high level of professionalism. On the other hand, we realize that we help our customers to scale their business and continue to develop it, offering solutions for 5-7 years.
What can you recommend to clients who want to build a software product with .NET or to modernize the existing solution?
Nikita: I don’t think that I can say anything in particular without seeing a project and the requirements for it. In general, .NET is a powerful technology that offers a wide range of opportunities but when a company wants to introduce a new project, it is necessary to take into account all other software products that are being used and the general software infrastructure. Sometimes it can be detected that it is simply not feasible to build .NET apps in such a case. The same situation can be observed with migration. Though modernization can help you to breathe new life into your solution, in some cases, it is more sensible to develop a new application from scratch.
The only thing that I can advise now is to find a reliable team that will be able to analyze your case and offer the best solution.