On 18-20.10.2017 I had a pleasure to attend .NET Developer Days 2017 conference in Warsaw. The first day we took part in a full-day workshop on containers with Docker and the next two days we attended the conference itself. In this post I’d like to share my thoughts and insights on the conference, its organizational aspects as well as my subjective opinions on the sessions I attended.
Let me start by describing the workshops and all sessions I was present at. You can find the list of all sessions that were held during the conference on its official website.
Day 1 – workshops
Breaking Apps Apart Intentionally – Visual Studio + Docker + Sprinkles of Azure = Modern Microservices (Alex Mang)
As I mentioned before, .NET Developer Days offers pre-cons as a full-day workshop. We chose above-mentioned workshop hosted by Alex Mang:
Here I need to mention one organizational drawback – we didn’t have any desks in the workshop’s room, which was quite uncomfortable – it’s always better to be able to have your laptop on the desk in front of you in order to write down some stuff or test things covered by the speaker. It was surprising as in the other rooms where the rest of workshop sessions were held the desks were present.
That is however the only dark side of this workshop. Alex hosted a very good session, explaining the containers concept using Docker, DockerHub, Visual Studio and Microsoft Azure. Maybe in the beginning the session was too “slidy” with a lot of architectural diagrams, but fortunately around the middle of workshop Alex switched to VS and PowerShell showing us several fancy features of Docker:
Day 2 – conference 1st day
5 unit testing facts I wish I know 10 years ago (Dror Helper)
The session’s difficulty level was defined as 200, which means it’s an “easy” one, however I really enjoyed it. Dror showed some basic, but very important concepts needed to start writing unit tests. Maybe it’s even more accurate to say he eliminated all of the most common excuses a lot of us (programmers) have to not write unit tests. Very important knowledge so to say 😉
Slides were very good quality and the speaker himself is quite a funny guy 😃
How Far Can ‘Serverless’ Actually Go? (Alex Mang)
Alex is a kind of guy I like – a bit american-styled speaker with appropriate sense of humor. During the session he explained and showed how to build an application using Azure Functions. Even though I don’t use Azure at all personally (just tried hosting few simple web apps) the topic is interesting showing how easy it can be to build serverless apps or services without setting up any infrastructure.
PS: The photo I’ve taken was even chosen as the photo of the day by Alex😃 He is active in social media and I definitely recommend to follow this guy.
Adding history to CRUD (Dino Esposito)
Dino is a legend. I met him for the first time on the previous edition of the conference last year. When speaking, apart from begin full of humor and telling many jokes, he seems to be so much excited and involved in what he’s talking about.
During the presentation Dino showed very engaging mechanism introduced in SQL Server (from version 2016) – temporal tables. Creation of this mechanism was somehow triggered by GDPR regulations introduced last year by the EU parliament. One of the practical consequence of the regulations is that every application processing personal data must keep full historical track of changes on this data. Temporal tables give us this possibility “for free”. I didn’t know about this concept and I encourage you to read about it.
In the end, Dino’s presentation was very good, slides were great quality and I definitely learnt something new worth knowing.
Launching patterns for containers – it’s more than just scheduling (Michele Leroux Bustamante)
Michele’s presentation was very well organized and clear. I felt she has a huge amount of knowledge and when speaking Michele only says the essentials without unnecessary or not important stuff. We were presented the usage of Azure Container Service with some demos based on Kaffka and few different tools.
There were some issues with the demos Michele showed, but this happens to the best even 🙂
Building for the Future without Abandoning the Past (Jeff Burtoft)Jeff is Microsoft’s employee and you can definitely feel that. Presentation was generally simple and lightweight, but well-told and properly organized. Jeff presented us with some techniques on how to start making our legacy apps/systems better without breaking the previous interfaces and backwards compatibility.
Q&A panel, DevTalk Live and a conference party!After all 2nd day’s sessions were finished, we officially started a conference party. During this time we’ve had some delicious dinner, drunk few craft beers. In the meantime we took a pint and went for a Q&A discussion panel with all the speakers: Few very interesting topics were covered during the discussion panel. I think that the most active speakers during the panel were Alex and Michele. Dino also added quite a few nice insights 😉 After the discussion panel there was a 2nd edition of DevTalk Live hosted by Maciej Aniserowicz:
Maciej talked with Michele and Gill Cleeren. The main topic of the discussion was self-development being a programmer. Speakers discussed whether the programmers should be given time to learn some new technologies at work or they should do it during their free time after working hours. Speakers proposed some nice hybrids of both approaches, but I won’t make any spoilers, Maciej will surely publish the whole conversation so you can listen to it yourself.
What I noticed during the DevTalk Live was that Gill Cleeren is a really smart guy, so I decided to see at least one of his Xamarin sessions the next day.
Day 3 – conference 2nd day
Past, Present & Future of C# Debugging (Alon Fliess)
During this presentation Alon showed the OzCode project which is an extension to Visual Studio that can really revolutionize the debugging process, its quality and efficiency. The idea and the tool itself is great – I really liked it. It helps in debugging by showing the developer a lot more than Visual Studio’s built-in features. It also enormously improves the efficiency of debugging stuff like LINQ expressions.
However, OzCode is a paid tool (free only for active open source contributors whose projects aremeet some pre-defined criteria) and in my opinion presenting such things during a non-sponsored session just feels wrong. I had mixed feelings – I really enjoyed the presentation and the possibilities of OzCode, but on the other hand I knew I will not use it as I don’t want to pay $175.00 / Yr.
Nonetheless, if you are interested in trying out OzCode and maybe buying it for yourself or your company, Alon shared with us a link to register for free 3 months of using OzCode: http://tinyurl.com/ozcodedeveloperweek
Creating a real-world Xamarin application architecture using MVVM (Gill Cleeren)
Finally I went to Gill’s session and that was a very good decision. This presentation was one of the best ones I’ve seen at .NET Developer Days 2017. Slides were very good quality and the topic was perfectly interesting for me. As you may know I’ve been working for a while with Xamarin, however I’ve never really thought about the architectural aspects of my application on such level. During this session I got to know what is MVVM in terms of Xamarin apps and how MVVMCross framework can be embedded into the app. I really recommend looking at it if you’ve also never worked with MVVMCross – it helps with many things we normally need to do “manually” or in a platform-specific way, for instance by adding Data Binding to Xamarin app (which is not present in the core of Xamarin).
Gill prepared a sample app built with MVVMCross – you can find its source code on his GitHub.
I was privileged by attending the pre-cons workshops on Wednesday, which were held in EXPO XXI – the same place as the main conference the next day – and the registration process was held there. It was pretty well organized and took us no more than 10 minutes. The other participants who didn’t attend the pre-cons told me there were also no issues with the registration directly at the conference on Thursday. If this it true then congrats to organizers for eliminating last year’s huge queues 😉
This year we’ve also been given a really nice gift – decent laptop backpacks by Natec:
It was a very good idea – practical and useful gadget.
FoodFood was the same as last year – very good, huge choice, efficient service. Craft beers served during the conference party on Thursday were also really nice 🙂
The conference party which I already mentioned was well-organized. We had a lot of places to sit – so we made a use of it and had a lot of veeeery interesting and inspiring conversations with other participants 😉 That’s a very important part of such events – networking with the others, getting to know their problems in their companies, businesses or life. I think this is one of the aspects in our programming community we are missing the most – meeting others, discussing and exchanging ideas and insights – not matter which company, country or programming religion you come from.
The only thing during the party I would improve is to inform the attendees (by loudspeaker for instance) that events like DevTalk Live are starting – there were maybe around 50-60 people there, whereas it was a great event and some people told me they finally were not there as they didn’t know when it started.
I really enjoyed .NET Developer Days 2017. In general, compared to the previous edition, there were some organizational things improved like registration and conference gifts. As for the speakers, I have a general feeling that the lecturers were a bit better last year. Sessions held by guys like Ted Neward, Jon Skeet or Maciej Aniserowicz are unforgettable and stay in your mind for a long time.
However, it was great to gain some invaluable knowledge, meet many new people and have a lot of great conversations. Thank you all for organizing and attending the conference. See you next time! 🙂