Back Of The .NET
Cathal McAliskey, our .NET recruiter has compiled a great amount of industry insights for you. Make sure to read the whole piece to gain useful insights!
“Don’t worry if it doesn’t work right. If everything did, you’d be out of a job.” (Mosher’s Law of Software Engineering)
What is .NET?
.NET is an open source developer platform used for building many different types of applications. Microsoft started to develop the .NET Framework in the late 1990’s with the first version being released in February 2002, bringing managed code to Windows NT 4.0, 98, 2000, ME and XP. Since the first version, Microsoft has released nine more upgrades for .NET Framework, seven of which have been released along with a new version of Visual Studio. So we have .NET 1.0 through to .NET 4.8.
You write code in .NET using c#, f# or Visual basic:
- C# is a simple, modern, object-oriented, and type-safe programming language.
- F# is a cross-platform, open-source, functional programming language for .NET. It also includes object-oriented and imperative programming.
- Visual Basic is an approachable language with a simple syntax for building type-safe, object- oriented apps.
Platforms are the things that you write your software for. The .NET platforms are:
- .NET core – (open source, runs anywhere) Windows/Linus/Mac
- .NET Framework – websites, services, apps on windows
- Xamarin/Mono - .Net for mobile, iOS or Android
.NET Standard is a base set of APIs that are common to all .NET implementations. Each implementation can also expose additional APIs that are specific to the operating systems it runs on.
For example, .NET Framework is a Windows-only .NET implementation that includes APIs for accessing the Windows Registry.
.NET can be used to build applications on -: Web, Mobile, Games , Desktop, Microservices, Cloud, Machine Learning and IoT (Internet of Things). Visual Studio provides a great .NET development experience on Windows, Linux, and macOS. The Visual Studio Marketplace has thousands of editor extensions from Microsoft and others.
.NET helps you develop high quality applications faster. That means applications provide better response times and require less compute power. For example, Stack Overflow serves 5.3M page views a day on just 9 servers. The popular TechEmpower benchmark compares web application frameworks with tasks like JSON serialization, database access, and server side template rendering. They found that .NET performs faster than any other popular framework.
Modern language constructs like generics, allowing developers to be more productive, combined with the extensive class libraries, common APIs, multi-language support, and the powerful tooling provided by the Visual Studio family, .NET is the most productive platform for developers. With .NET you can target any application type running on any platform. Developers can reuse skills and code across all of them in a familiar environment.
From mobile applications running on iOS, Android and Windows, to Enterprise server applications running on Windows Server and Linux, or high-scale microservices running in the cloud, .NET provides a solution for developers. .NET provides you with immediate security benefits via its managed runtime. A collection of services prevent critical issues and Microsoft takes security very seriously and releases updates quickly when threats are discovered.
.NET leverages it’s large ecosystem by incorporating libraries from the NuGet package manager and the Visual Studio Marketplace. Developers can find answers to technical challenges from the community, MVP’s and .NET’s large support organization. The platform provides seamless horizontal scalability where most tools and integrated development environments can be found within the Microsoft Developer Network. Around 60,000 developers and almost 4,000 companies contribute to the .Net platform.
Impact of Cloud on .Net Development
Cloud has had a major impact on .NET Development, nowadays companies are transitioning towards public cloud such as Azure, AWS and GCP. It is now very rare to see a developer job spec that doesn’t ask for some cloud experience or awareness.
Microsoft Azure, formerly known as Windows Azure, is Microsoft's public cloud computing platform. It provides a range of cloud services, including compute, analytics, storage and networking. Users can pick and choose from these services to develop and scale new applications, or run existing applications in the public cloud. Azure offers 4 different forms of cloud computing: infrastructure as a service (IaaS), platform as a service (PaaS), software as a service (SaaS) and serverless. This private cloud is most popular with .NET Developers being part of the Microsoft stack.
Amazon Web Services is a comprehensive, evolving cloud computing platform provided by Amazon that includes a mixture of infrastructure as a service (IaaS), platform as a service (PaaS) and packaged software as a service (SaaS) offerings. AWS services can offer an organization tools such as compute power, database storage and content delivery services.
Google Cloud Platform is a suite of public cloud computing services offered by Google. They offer the Google Compute Engine is an infrastructure-as-a-service (IaaS) offering that provides users with virtual machine instances for workload hosting. The Google App Engine, which is a platform-as-a- service (PaaS) offering that gives software developers access to Google's scalable hosting. Google Cloud Storage, which is a cloud storage platform designed to store large, unstructured data sets.
Advantages of Public Cloud
The benefits of public cloud:
Flexible pricing structures are one of the top benefits of the public cloud. Most of the public cloud providers give businesses the flexibility to pay by the hour. It helps businesses to control their costs by paying for the infrastructure only based on their needs. Businesses can run their web applications without committing to a fixed cost for servers, software, setup or maintenance.
Quick and Easy Set Up
Businesses can set up their public cloud in a few hours. It can be easily bought on the Internet and deployed and configured remotely through the cloud provider website. Your IT team can very easily configure and manage the set up remotely with just an internet connection.
The cloud provider is responsible for the maintenance of the hardware, software, and networks in the cloud. So businesses aren’t responsible for keeping their infrastructure up-to-date or managing security or upgrades. It allows them to manage infrastructure with a few staff meaning reduced costs.
Salaries for .Net Developers
- Junior Level- €35-50k (up to two years)
- Mid-Level- €50-€65k (2-5 years)
- Senior Level- €65k +
- Tech/Team Lead- €90k +
- .Net Architect- €90k+
These salaries are aligned to the Dublin market and the high cost of living. Other parts of Ireland will be considerably lower. Check out GemPool’s salary guide for more information.
Typical Interview Process
An interview process for a .NET developer will usually consists of 3 stages:
1st Round/Tech Test
In this round the company will assess if you have the required technical skills for the position. Some companies will ask a lot of technical questions around c#,.NET, Cloud and SQL server to grasp your technical understanding and experience. Others will assign tech tests in which you will have to create an application or solve a problem by coding in c#. In some cases, these coding challenges can be timed and will assess your ability to work under pressure. Website’s like Codility and HackerRank have mock tests which can help developers prepare for tech tests.
This round will dive in deeper into your technical understanding, previous experience and industry knowledge. They will ask about the challenges you faced, the main responsibilities you had in previous roles and how they align to this position. Some companies will ask you scenario based questions related to their development teams or ask you to do some whiteboard problem solving.
3rd Round/Culture Fit
Some companies incorporate this into their 2 nd round but usually 3 rd interviews assess if you would fit in with the company’s culture. They will ask about your best working environment, how you collaborate with others, motivations, aspirations and the Agile/Scrum process you have been involved in. HR staff may also qualify salary, motivations and notice period. If you tick all the boxes an offer could be on the horizon.
Top 10 Companies Hiring
- Amazon Web Services (AWS)
- Verizon Connect
- Fidelity Investments
- Rent The Runway
Using LinkedIn I compiled this list which shows the top ten employers of .Net Developers using the c#.NET skillset in Ireland over the past year. The common trend is that the majority of these are large organizations and they are in the Banking, Financial Services and Ecommerce domains. If you’re looking to get into the .NET space an internship in one of these companies could be a great place to start.
Impact of COVID
COVID has had a major impact in the .NET space, there has been a huge reduction in the amount of opportunities available to IT professionals. Many companies have paused recruitment during these uncertain times while others have had to cut costs and make redundancies. The market has changed from a candidate driven market to a job driven market in a matter of months. From monitoring the market I’ve noticed people are being more flexible with their salary expectations and working conditions in order to find work. Similarly I’ve notice a lot more .NET contractors available as many companies have laid off non essential staff to reduce costs.
However there is light at the end of the tunnel. Over the past month I have seen a rise in the number of companies hiring and a bigger appetite for recruitment. Companies have got used to remote working and are getting around the stigma of onboarding remotely. It is clear we are heading towards a recession, whether this is will be U-shaped or V-shaped remains to be seen.
With Microsoft continuing to invest into their technology I think the .NET platform will continue to thrive. The way of the future will be open source platforms like .NetCore where developers can build applications that can run anywhere. Cloud platforms like Azure will continue to grow in functionality and I think experience with Cloud will become a necessity in Development positions going forward. Over the coming weeks I believe we will see more .NET development positions on the market as companies emerge from COVID restrictions. If you would like to speak about the market or job opportunities feel free to contact me on 01 901 7820 or at firstname.lastname@example.org.
“A good programmer is someone who always looks both ways before crossing a one-way street.”(Doug Linder)