In January this year, Enable sent three members of its engineering team to attend NDC (Norwegian Developers Conference) London. NDC is one of Europe’s largest conferences for .NET & Agile development, and hosts a number of fantastic talks from prominent members of the software development industry each year. This conference is a great opportunity to hear and learn from industry leaders, gain exposure to new technologies and ways of working, plus you get the chance to meet and network with other software engineers from all over the world. Read on to find out some key takeaways from the event.
Latest C# features
Enable is a .NET application and it is predominantly written in the C# programming language. Our engineers are always seeking to improve their knowledge of C# and understand how its latest features can be fully utilised. With the recent release of C# 8, we are keen to ensure that we are familiar with all of the new functionality that is available and how to best use it. NDC London 2020 hosted a talk from Bill Wagner in which he discussed some of his favourite new C# 8 features and how they can be used to be a more productive software engineer. Bill Wagner is one of the world's foremost C# developers and has been awarded Microsoft Regional Director and .NET MVP for over ten years. This talk was a great way to learn about new C# functionality and a fantastic opportunity to gain some interesting productivity tips and tricks from one of the most prominent C# developers in the industry.
Serverless computing
We are always looking to improve the performance and scalability of Enable. NDC London included a number of talks by industry leaders about a new hosting model called serverless, and how they were beginning to switch their applications to this new approach. Serverless computing is a hosting model where the hosting provider, such as Microsoft Azure, controls the server and is responsible for executing application code. This approach means that the hosting provider is solely responsible for allocating machine resources to execute this code. The key difference between serverless computing and conventional hosting is that the pricing is based on the amount of resources that an application consumes, rather than being determined by pre-purchased capacity. Conventional hosting requires a server and all of its associated resources to be reserved. This means that an amount of resources (usually enough to handle the application's peak load) must be reserved, paid for, and available at all times, regardless of whether or not these resources are being fully utilised.
Serverless hosting automatically scales based on application load and the hosting provider will automatically provision more hosting resources to meet an application's demand.
The hosting provider manages all of the server infrastructure and ensures that the servers are kept up to date with the latest security updates as soon as they are available.
Serverless offers a pay-per execution billing model that means that it is only necessary to pay for the resources that are actually used: unused resources are now the hosting provider's problem. These talks and the benefits that serverless offers were eye opening. Our engineers will be using this new knowledge to look for opportunities to migrate portions of Enable's hosting to a serverless model in the future.
The performance of our software is critical to our clients and we are constantly striving to optimise the performance of Enable so that it can provide accurate data as quickly as possible. Our engineers attended a talk at NDC from Microsoft MVP Steve Gordon about the latest C# high performance APIs and new language features that can be used to improve the performance of our applications. This talk covered some great new benchmarking tools that allow the execution time of code to be accurately measured. Accurate performance metrics are critical in any performance improvement processes as without these it is impossible to tell whether progress is being made. Steve also covered a number of the latest language features that can be used to improve application performance.
NDC London is a great opportunity to challenge and improve our technical knowledge and processes. We have certainly learned a lot from the conference this year, and it has also reinforced our faith in a number of our existing engineering processes. If you’d like to find out more about Enable’s previous trips to NDC London, take a look at last year’s report.