After living 5 months in Germany, given opportunity and encouragement I finally got from under the rock and went to IT event – NRW2013 conference. Language barrier is still big obstacle, but, as it turned out, listening to well illustrated talks on subjects that touch more or less known domain is not very hard. NRW2013 conference consists of 2 days – one workshop day and one conference day. I attended only conference day.
Scriptcs (by Fabian Deitelhoff)
After short opening session first talk I attended was about Scriptcs. As it turned out there are people out there trying to make it possible to write scripts using C#. As far as presentation was interesting from technical point of view (compilation as a service is intriguing idea) it was not very well prepared. Not working samples can drive any presentation down, so they did this time. When it comes to the idea itself I don’t see C# as a language suitable for scripting (too much structure and syntax stuff). From what I read and heard F# will fit this purpose much better (getting to know this language is still on my TODO list). But given number of people knowing C# and not knowing F# (at the moment this includes me) possibilities given by Scriptcs definitely add value and thus I can see future for this product.
F# type providers – Intro (by Steffen Forkmann)
After Scriptcs presentation I stayed in the same room to listen to Steffen Forkmann talking about types providers in F#. Presentation and samples were better then in the first talk. Samples were working and showed interested possibilities of automatic discovery of data types based on loosely typed data sources like JSON, CSV files, REST APIs and others. After conducting such discovery(very easy to do) developer can program against strongly typed API originating from data source. Some samples featured also generation of JavaScript code based on F# code. Unfortunately, from what I understood, due to differences in natures of languages and compilation process idea of type providers is not easily portable to C#. That’s a pity. I really like the idea.
T4 Code Generation (by Christian Giesswein)
Next I went to listen to talk about T4 templates. I picked this talk not because it seemed interesting to me, but because other talks didn’t. Audience interest was big, additional chairs have been brought into the room.I used T4 templates before, so I didn’t expect to learn much new stuff. Christian’s presentation was prepared well and has good samples included. Even though I had huge troubles understanding what is being told due to poor sound conditions (echo) I was able to follow presentation. And I have learned something new. I never used “<#+” in T4, but now I know that there is such possibility.
Build – Measure – Learn: Wie bei Microsoft in der Microsoft Developer Division entwickelt wird (by Christian Binder, Microsoft)
Last talk before lunch(no other talks in parallel) was from Microsoft represented by Christian Binder. Way of presenting, fluency in form as well as the content was on very high level, leaving all other presenters behind. Audience got handful of information about changes going on in Microsoft. In general we were shown how do they make their process more agile using feedback loops. I liked it and I have to admit that I felt some pride acknowledging that during last months I took significant part in making process at ControlExpert similar.
Lunch
And then there was a lunch. Food was nice (although I am not very picky when it comes to food, so don’t take my word for it), but number of sitting places to consume it was to small. Anyhow we found some free spots.
Refactoring von .NET Legacy Code (by Thomas Schissler)
After lunch I went to talk about refactoring techniques. This subject is always interesting for me. Probably that is why I did not get much new information from presentation (I would say that presented techniques are what every developer should know). Presentation was well prepared and presented in professional manner, no complaints here. Instead of samples Thomas showed on piece of code how to apply what He was talking about – very nice. New things for me were techniques of visualizing the steering flow in code (using feature named Code Maps from VS Ultimate 2013) and using such visualization as help in debugging legacy code. I can not judge if this technique is useful. I have big issues with visual programming, but maybe just using visual programming tools to visualize entangled code can be useful… but on the other hand convoluted code produces entangled and unreadable diagram(?). Anyhow this presentation left good impression. I agree with almost all things said and I can justify them from my personal experience (especially that unit testing is essential :-))
Continuous Delivery: the Good, the Bad and the Ugly (by Sergey Shishkin)
The next talk was prepared by my colleague Sergey Shishkin. Sergey was sharing His ideas and insights about continuous deployment and delivery, which are the subjects that He has been focusing on in ControlExpert. This subject is also in center of my interests. Before Sergey showed up in ControlExpert I was doing continuous deployment following the same philosophy but using different (probably worst) tools. I know Sergey’s work and I’m big admirer and follower in most parts but critic in few other parts. Presentation was focused mostly on philosophy and ideas to be implemented for improving development process, like visualizing deployment, using quality gates, automatic dependencies restoration and so on. I have minor disagreements with some ideas (like for example avoid branching), but in general I found this presentation nice roundup of current trends in organizing software development processes. Suggestions were kept on high level of abstraction not showing attachment to any particular tool-chain, which makes this presentation very universal. When it comes to slides of preparation they were raw, over-simplified and thus extremely stylish. That fit my taste the best from all the presentations at NRW2013. Of course this comes with a price – slides are near to useless without presenter. Also what is worth noticing is fact that Sergey’s talk was the only one I’ve attended that engaged vivid discussion that lasted beyond planned presentation time.
Deploy & Deliver – Alles Continuous? (by Michael Willers)
Last talk of choice that I went to was also prepared and held by my colleague – Michael Willers. I didn’t knew what it was going to be about. Title suggested some pros and cons for continuous deployment and delivery. But it was not. As it turned out Michael showed what He has been working on during last months in ControlExpert. That is establishing common build scripts (using msbuild) structure and design. This talk was the hardest for me to follow in terms of language. Presentation was well prepared, contained good (production-proven) samples. Only disadvantage I can find is the same as for Sergey’s presentation – useless without presenter. Interest in subject was not very big. I assume that this was because that in parallel there was presentation about TypeScript. If I would have known that Michael is going to talk about subject that I already knew well (I was and still am remotely engaged in developing what was presented) I would have attend TypeScript talk as well. Anyhow Michael got pretty good response from audience, there were some questions asked, doubts raised and so on.
Touch Technology: Berührungsangst vs. Mut zum Anpacken (by Ingo Dahm, T-Systems)
Last talk (not talks in parallel) was about how innovative ideas emerge from what we know by evolution and how they influence our lives. Presentation was OK, well presented, but it was nothing groundbreaking when it comes to message (as far as I could understand it). It was OK, I just am not sure that it fit well as a closing talk at IT conference.
After that there was short closing talk by guys behind NRW and prizes lottery. As expected, I didn’t won anything :-(.
Summary
From my personal perspective the best talk was the one from Microsoft, second best one was the one about types providers in F#.
Overall conference day of NRW2013 was OK.. just OK. I am not blown away, neither by organization nor by topics (this is very subjective and possibly due to choice of talks I attended). My complaints about organization are as follows:
– place was so-so, smell of cigarettes is not my favorite one,
– chairs were not comfortable enough for sitting all day
– seems like sound conditions were not taken into consideration at all (this may be just me, I need clear sound to understand anything in German)
– some small snacks beside lunch time would have been nice.
But after all it gave me nice jump off everyday routine. I spent pleasant day with my colleagues, listening and talking about interesting ideas. Also I got two T-shirts, shoulder bag and squeeze ball :-). Considering moderate price NRW2013 has good price/added value ratio. Thus if given opportunity I would probably attend next year.