I had heard great stories about QCon. It’s the conference where practicing engineers find new trends and technologies and learn how to adopt them. Did the content match the inviting wrapping? This is my experience from QCon London 2017 as a first time QCon participant.

The QCon London conference is a three day event. Each day starts off with an inspiring keynote, after which the conference splits into seven tracks that are focused on a particular topic. One of the unique selling points (USP) of QCon is that all tracks are curated and speakers join by invitation. This makes all presentations stand out as unique even within a track, and the track topics themselves seem to be chosen from coming trends.

As a participant you have complete freedom to select which presentations to follow. You may focus on a particular track or pick presentations freely to get something from several topics. I tended to do the latter.

Inspiring talks about useful stuff

The tracks were chosen wisely and covered a lot of ground. Here are some of the 21 track topics:

  • Architecting for failure
  • Dark code: The legacy/tech debt dilemma
  • Applied JavaScript - Atomic Applications and APIs
  • Engineering Culture @
  • Architectures You’ve Always Wondered about
  • Fast & Furious: Ad Serving, Finance, & Performance
  • Modern Learning Systems
  • Containers - State Of The Art
  • Workhorse Languages, Not Called Java
  • Soft skills: Essential Skills for Developers
  • Modern Distributed Architectures
  • Practical Cryptography & Blockchains: Beyond the Hype
  • Observability Done Right: Automating Insight & Software Telemetry
  • Security: Lessons Learned From Being Pwned

There are not many buzzwords in those titles, and that is in essence what QCon is about. It is less about hype and more about practical lessons and experiences. Still the following topics were covered well:

  • DevOps
  • Internet of Things (IoT)
  • Blockchain
  • Containers
  • Microservices
  • Security
  • Agile
  • Cloud
  • Machine learning
  • Continuous Delivery

The refreshing focus on hands-on experience not only makes it interesting, but also useful. The speakers are engaging because they are engaged. These are not sales people with all superlatives and no substance. This is the real deal. These are people that have fought the battles of adopting new tech and emerged on the other side with better solutions and experiences to share and learn from.

Great expectations meet reality

The concept of QCon is very good. The focus on curated content pays off. It is obviously a well-oiled conference machine behind it, but still there are issues that can be improved.

What is the thing about black on white bullet point PowerPoint presentations? A conference presentation isn’t and shouldn’t be a white paper. One would expect the track hosts to have tools for QA to assure a minimum of quality. Bullet point hell should be avoidable these days. The same goes for expert language. Few people share the same subset, and QCon has a diverse audience, despite the focused selection of topics. To be fair most presentations avoided these pitfalls, though, but the exceptions were obvious. We can all learn from the contrasting experiences.

There were also food, exhibition areas and social happenings. These were OK, but not the reasons to visit QCon London 2017. Enough said.

The new

Coming back from QCon, I think the most common question I have been asked is “What was new this year?”

“New” seems to matter, but I found few topics that were completely new. Based on experiences from other conferences, I did however notice a focus shift from “Look! New and shiny!” to “These are our best practice experiences from adopting this new tech.” This practical approach seems to be another USP for QCon. Less spectacular and much more useful.

Still, I think the conference started with a bang through the keynote “Security War Stories: The Battle For The Internet of Things”. This was an engaging talk about how much is already connected to the Internet and the security risks associated with that. As engineers we all know the importance of security software and keeping up with security standards. What was considered Fort Knox level security five years ago may be as secure as leaving your jewelry under your beach towel today, so upgrades are mandatory. When more of the physical world gets online, the same security decay happens in things on the Internet. How will they keep up? The speaker Alasdair Allan warned about losing sleep over this topic. This is certainly a hot potato to handle for the future.

Inspired to adapt and adopt

After three days of presentations I had a lot of new information. It was more about the “how” than the “what” of the new technology trends. Here are some of the things I felt inspired to do after QCon.

Take a closer look on the practices of distributed app architectures to avoid microliths

Distributed architectures and microservices form the basis for a world of continuous delivery of functional apps. Many app solutions are distributed already, but may still inherit some of the less desirable properties of the monolithic past. I am currently engaged in an ongoing transformation from legacy monoliths to distributed apps, and especially the presentation “From Microliths to Microsystems” shows how the transition to microsystems also means adopting a new set of best practices.

Be aware of the security issues of IoT

IoT is growing and growing fast. Soon everything with a function is connected. It is only a question of time before there is no clear line between IoT and the classic Internet. When your shoes are on the Internet and can carry software, there is no reason they can’t carry malware. Can a camera in your IoT-enabled glasses be hacked to pick up your pin codes when you enter them?

Have a DevOps focus when building systems

DevOps is the integration of development and operations with continuous delivery as the driver. As old monoliths are replaced with distributed microsystems, the number of servers to monitor and maintain rise exponentially. This is a monitoring and debugging disaster waiting to happen unless there is a focus on a unified way of monitoring operations, detecting errors and providing information to analyse it. There are many pitfalls here. There is the danger of information overload, while there is also a danger of not logging enough for analysis. In the presentation “Avoiding Alerts Overload From Microservices” Sarah Wells of the Financial Times made it pretty simple: “I only want alerts for things that require me to act” and “When something goes wrong, I’d like everything to be logged and available for analysis”.

Embrace asynchronous operations

Asynchronous vs synchronous communication between microservices was mentioned in several presentations, and it is one of the paradigm shifts that come from moving from a monolith to microservices. Thinking asynchronous communication as your default is new. Even if it makes a lot of sense, I personally need to adapt my mindset to embrace this.

Learn more about the tools involved in managing a distributed systems architecture

The tools of the cloud and microservices are still emerging and maturing as new needs rise in the distributed world. One example is container orchestration. As each microservice needs one or more microservers in containers deployed on different cloud providers, these containers with their servers need to be managed. A hot candidate is Kubernetes, which is an open-source system for automating deployment, scaling, and management of containerized applications. The adoption of these concepts and tools is necessary to be able to connect the dots for a complete distributed systems architecture.

Search for the happy balance between new tech and established principles that just work

The western world embraces youth. New is often better, but in the names of the MiniDisc, DVD-audio and Google Glass, new stuff sometimes fail or are short lived at best. Sometimes the first attempt fails, only to pave way for the successful next generation. Since many presentations in QCon are based on experience, they also often recognise how new ideas go together with established principles or is simply a way of reinventing existing ideas in a new context. An example is how microservices are not a new idea, but as new technology has enabled distributed systems and cloud deployment, microservices has moved from idea to practical solution. Really good principles are long lived. Engineering great solutions means joining experience and wisdom with the new opportunities. This is not an easy task and a continuous learning process.

…but what about innovation?

Even if completely new buzzwords were absent at QCon, I think the hottest buzzword (besides “innovation”) is still “blockchain”. The use case that everyone refers to is Bitcoin, but there are a lot of ideas out there on how to utilize blockchain technology. It is a technology with obvious USPs, but also with some weaknesses, like the increasing cost of mining new block hash codes. Transforming the blockchain ideas into workable software products and new ways to remedy the weaknesses of this technology are opportunities for innovation. My guess is that this is where new experiences will emerge in the next couple of years. If they do, we will find them on QCon.