In May 2017, we went to the SDD (Software Design & Development) Conference, an annual conference held in London. The conference was mainly focused on the server-side and front-end development of web development, in particular .NET and Windows, but there were plenty of lessons to be learned for software development in general. With eight talks on-going at any one time there was always something to pique your interest. At times it was a shame that you actually had to pick between some of them that were occurring simultaneously.
Walkable garden area below the water line of the main lake at The Barbican Centre
Where is it?
This year it was held at the rather stunning (in our opinion) Barbican Centre. This Brutalist building is imposing and almost dystopian, yet contrasts wonderfully with the hive of creativity and artistry that happens within. It also has a beautiful central lake and various gardens, that seem to be so ingrained into the building that they almost feel like the lifeless grey concrete is actually alive.
The Conservatory was a particularly pleasant space, and it was here that was the ‘base’ of the conference, where we met between talks. It was here that also hosted our wonderful range of lunches over the three days. Lunch consisted of a buffet with various hot mains available and a dessert available for after. Each day had a different menu and, frankly, they were all pretty great. As far as the choice of venue goes, with the range of creative pursuits that happen here, it seems the perfect place for software to be discussed, after all, we are a creative industry in many senses.
The Conservatory. Home to turtles, red squirrels (though we didn’t see any) and other wildlife, including software developers for a short while. You did get a little bit of a sense that perhaps there’d be velociraptor or two lurking around somewhere as well…
With two of us in attendance, we mostly split our efforts to cover different topics between us, though we did end up going to some particularly interesting sounding talks together. We’ll go over some of the talks that we went to and reflect how they might relate to some of the stuff we are doing here at cap hpi.
The conference kicked off with a keynote from Mark Richards: The Art of Problem Solving. A relatively light-hearted look at how to tackle problems from a standing start. It wasn’t particularly technical, but did offer some great insight into getting into a productive mindset when trying to solve problems. Mark was very engaging, as he would prove to be in a few other talks that we attended over the three days.
Throughout the conference, he did a series of lectures on microservices. One of the more interesting of the talks was his one on Reactive Architecture Patterns. He demonstrated patterns that, in isolation, can provide systems that were scalable, “error resistant” and could deal with spikes of traffic. Namely the Thread Delegate Pattern, Consumer Supervisor Pattern, Workflow Event Pattern and the Producer Control Flow Pattern. The true power of these individual patterns becoming amplified when combining these in one system, to really create a resilient and scalable system.
In addition to this, he also looked at Microservice Patterns and Anti-Patterns over two separate talks (seems that people routinely get microservices wrong) which we felt warranted attendance seeing as this is quite topical with our recent work at cap hpi. It was interesting to reflect how we were approaching our microservices design with these talks. We've broadly avoided any of the anti-patterns in the work we have been doing at cap hpi. A lot of the patterns are mainly adhered too as well, although there is always room for improvement.
There was another presentation that went into a bit more depth along these same lines by Oliver Sturm around Parallelisation with Actors, around its power harnessed by phone networks, especially with Ericsson and their language Erlang, then showing a few more example with a more modern C# equivalent with Akka.
Besides the many microservice based talks we went to, early on was a presentation on distributed caching in .NET by Iqbal Khan from Alachisoft, which is definitely something cap hpi can truly harness as the company grows with us being such a data focused company. He showed how, once the caching is configured and the system is programmed to work with it, basically any amount of scale is achievable.
Dominick Baier and Brock Allen held a good talk on the age-old problem of authentication vs authorisation. Something we have dealt with quite a lot recently as we have moved to RESTful APIs and websites that interact with them. In our various endeavours, this is something we have improved on and, ultimately, we have (sometimes painfully) learnt the same lessons as discussed here.
Another fascinating talk was Christian Wenz's Web App Security; because who doesn’t have the morbid fascination for when it all goes wrong with software (as long as it isn’t our own code that caused it)? Most of these examples were things most web developers are (or should be) aware of. Christian did make a point of highlighting the Modify Opener vector of attack, whereby a page opened with ‘target=blank’ could potentially redirect the original page in the background, thus giving the opportunity to show a convincing fake website to a user, whom may not think to re-check the URL after they were previously confident of being on the correct website (this can be fixed by applying “rel=’noopener noreferrer’”).
The most brain intensive talk was left until last with Sasha Goldshtein. He provided a very in-depth look at some of the useful features of WinDbg, certainly a far cry from the Visual Studio debugger we spend most of our time looking at, but definitely an incredibly powerful tool. Probably the biggest take away from this is the ability to put breakpoints based on any Windows or other API calls, even for systems in production, with the ability to do it remotely as well.
After the talks were done each day, we had a good opportunity to see the bright lights of London (not that Leeds is particularly deprived on the nightlife front). We were staying nearby to the Barbican, so we spent most of our evenings around the Shoreditch area. Shoreditch seems to have a reputation for being a bit ‘hipster’, and it’s easy to see why. Despite being midweek, the whole place was incredibly lively and we visited quite a few great bars. A highlight was probably the Blues Kitchen, where great food was served within the Americana stylings of the restaurant and with a blues band playing on the stage in the corner of the restaurant.
Well, they were mostly playing on the stage anyway
Overall, we enjoyed the time we spent at the conference and, most importantly, feel that we could draw from the experience of the talkers and hopefully apply what we’ve learnt back in the office - whether it was microservices, authentication, caching or debugging. We will also definitely be back to the Barbican whenever we get the chance.
If any of this interested you and you want to find out more, or you just want to check out what was happening at the conference, you can find all of the descriptions of the talks and their presentation slides by following this link http://sddconf.com/sdd_2017_schedule/.