Both developers and startup founders often ask whether .Net will be the right platform for a startup venture. The answer is rather “yes” than “no”. It’s a great platform and many guys use it for their startups. However, if you’re planning to employ .Net for developing your project, you should know that there two .Net frameworks – ASP.Net or WebForms and ASP.Net MVC. They are different in terms of architecture and culture and although it’s possible to build with either of them, the startups should beware WebForms since this model can ruin their venture.
With the best features adopted from Rails, .Net MVC is a great framework popular with many startups and used by StackExchange, in particular. Professional .Net developers enjoy working with this framework since it embodies everything the web is about. For those developers who prefer .Net MVC the quality of code is of top priority. Also, they are aimed at building the product or software and shipping it soon. Since .Net MVC programmers must have dealt with different open source projects, they should be involved in developing your startup.
Now, you see that .Net will make a great platform for your startup if you choose its MVC framework. So, when deciding between a developer from the WebForms community and the one who is MVC-oriented, decide in favor of the latter otherwise you take the risk of losing your startup.
There are some points concerning .Net platform that are worth mentioning.
Azure is not a platform for startups
Although Microsoft encourages new startups to use Azure, this platform should be avoided at the initial stage of your startup. The main reason for staying away from Azure is that it’s slower than .Net development which runs on a Windows server or VS. With Azure, deployment and debugging take pretty long, the environment can’t be easily replicated, backups cause much trouble, and you’re bound to a single hosting provider. While your startup primarily needs speed and flexibility, all those things slow down the process and greatly limit you. You can use Azure later when scaling is the main concern of your startup but at the initial stage it’s not relevant.
ASP.Net MVC scales really well
If you need a proof that .Net’s scalability is outstanding, just look at the history of StackOverFlow. For quite a while, they had a single server and ran the uniques, web applications and database on one box. If your startup developed on .Net MVC turns out to be successful, you’ll be able to scale the .Net stack easily (in comparison with Ruby or PHP).
BizSpark program is meant for startups
Microsoft has a special program for those who want to build their startup on the Microsoft stack. Once your startup becomes a participant of BizSpark program, They will provide you with free 3-year licenses to almost all their products and a free MSDN gold subscription. According to their concept, 3 years is enough for startup founders to stand on their own feet that’s why after that period you’ll have to pay for the licenses you use without compensating for those three years. In other words, you will keep using the same products but not for free. By establishing this program, Microsoft has eliminated the financial factor that often prevents startups from using its platforms.
Why .NET is Not the Platform of Choice for Many Startups
Newcomers in the IT industry prefer to use Python or Ruby as a programming language, while .NET is mostly ignored by the startups. Since .NET substantially outdoes other platforms, this tendency seems strange enough. In this article, we will try to figure out which factors make such a widely used platform not very popular with startups.
Differences in the community cultures
It turns out that the major concern is related not to the platform itself but to the .NET community culture. It’s focused mainly on the needs of the established businesses. It means that they offer a lot of solutions to the issues that the startups don’t have yet. Meanwhile, the startups are focused on other issues such as experience design, concurrency, support of different browsers, etc. Thus, .NET community and startup founders are looking in a bit different directions. This difference in purposes explains why many new projects choose the platforms other than .NET. If .NET developers want to collaborate with a startup venture, they need to use another language, which will fit the needs of a new company that makes its first steps in software or IT business. On the other hand, sooner or later a startup will grow into a full-size business and it will need a platform like .NET. That’s why it’s the matter of preference of a particular company and they decide themselves which platform to choose.
Any IT startup wants to succeed in the long run, so they carefully think over different aspects in order to implement their ideas and get the most of them. They mainly rely on the technology that has proved to be effective in the startup environment. While big companies enjoy a variety of features offered by .NET, startup founders may not find those features applicable to or useful for their projects. Moreover, newbies get frequently overwhelmed by the number of existing implementation methods when they actually need a single one. Another disadvantage of .NET from startups’ point of view is its poor set of tools and libraries that are said to facilitate innovation. The platform has several open source projects but they are basically the same as those available with Java.
Open source or proprietary
Usually, startups don’t stay away from paid services or tools. However, it’s not a secret that most of them are bound by their budgets so they decide to look for more advantageous opportunities such as open source software. Some advanced tools, services, and databases were once affordable only for established businesses, that’s why many startups have turned to open source. And for a reason. Its main advantage over proprietary software is that if you want your product to be acquired later, you need to build it using open source code rather than Microsoft’s.
However, Microsoft has the BizSpark program aimed at young startups. The main idea of this program is to provide software, services, and support to promising startups for free. Thanks to this program startups can use the .NET (in particular) at no charge. Joining BizSpark is easy – your startup should qualify for this program. Once they confirm your eligibility, you’ll get free licenses to their products for the next 3 years. When this period is over, you’ll have to pay for new licenses but you can keep those ones you’re already using. This is how Microsoft facilitates startups financially.
Speed vs. performance
According to some experts, the first thing a startup should do is to find its market and only after that start building a product. If so, you need to act as quickly as possible to investigate your potential customers’ needs and expectations. In this case, Python, JS, and Ruby have more advantages because of their favorable infrastructure and less boilerplate allowing you to iterate quickly. Prioritizing the speed is not what established companies with their own market do. Their aim lies in building a stable product they will be able to provide and support.
There is an outdated belief that .NET can’t deal with rapid changes. In fact, it’s possible to write a terse code with it, thus making refactoring much easier in comparison with JS, Python, Ruby, etc. A lower code volume allows for fast reviewing and rewriting. However, .NET has a great disadvantage and it’s about its tools and support. In this connection, Python has a more suitable ecosystem for quick prototypes that can be easily transformed into a real product. The most striking difference can be observed in the ability to change features in midstream. Since typing and interfaces are not so strict, you can change, add, and remove certain features faster than it would be with .NET. Although you don’t have to write long lines of code to make some changes, readability can sometimes be affected if you get very concise. As you can see, in both examples speed is achieved at the expense of performance.
The team and the scale of a project
The choice of a platform significantly depends on how large your team and your project are. If you work in a small team, then Python will be a better option for you because it offers speed and provides a lot of libraries. But if you build a product with a large team, you’ll need something more profound like .NET. It ensures safe development and makes it easier to spot mistakes. Also, .NET’s documentation is something they can boast about because it really great in terms of quality.
Even a small project, if it turns out to be successful, eventually will build up a significant codebase. At that point, Python, JS, and Ruby will not be suitable because of their brittleness.
.NET is said to deliver a high level of scalability. If your startup is a success, you can scale it easily with .NET and the scaling will be more efficient than that with Ruby, for instance.
Although .NET is widely popular with large projects, many startup developers ignore this platform. Among the things that prevent them from using it are the absence of open standards and costly licensing. However, if you take a closer look at this platform, you can find a number of advantages and realize that most issues associated with it are just stereotypes. Of course, it can’t be perfect for all startups that’s why you need to consider all the pros and cons and choose the language that will be right for your project.
Also you can find useful the following articles: