QCon: Fundamental Answers

Software Engineering Daily prefaces each theme with a collection of fundamental questions. These are the answers to our questions from QCon Week.

What are the common threads that disparate speakers are talking about?

You are building a distributed system. “There will never be a silver bullet,” said Caitie McCaffrey. Consistency, availability, and partition tolerance: pick two, and you often have no choice but to first pick partition tolerance.

Engineers must first identify the distributed computing tradeoffs they are willing to make, then find appropriate architectural patterns.

distributedsystem

Functional programming makes life easier. Jessica Kerr explored the applications of JVM functional languages to concurrency management. Both she and Caitie use the actor pattern to separate concerns in a hazardous distributed system.

Our next theme is React Week, which has drawn analogies to functional programming.

What trends are changing software most forcefully?

Modern security concerns demand new approaches. Bots are generating fake ad clicks, attacking our banks with refrigerators, and tempting us with lascivious messages on Ashley Madison.

Every important problem is an engineering problem. QCon talks have a huge range of topics. Health, sociology, sales, operations, and logistics have changed because data velocity provides a tight feedback loop.

Building smooth movement of data is a distributed systems engineering problem.  Interpreting that data is a statistical engineering problem. Acting on those interpretations is a managerial engineering problem.

What languages, patterns, and management strategies are gaining in popularity?

Open-source continues to change the world. In the past, Microsoft rejected open-source, but now they are embracing it. Phil Haack talked about .NET and NuGet, and Caitie McCaffrey discussed Orleans.  Each of these is open-source.

React changes how we should build applications. React is Facebook’s open-source JavaScript UI component language. It was mentioned by Jessica Kerr during a conversation that was ostensibly about back-end functional programming. This was a small event in isolation, but was the tipping point for SE Daily to realize we need to dive deeper and do a week about React.

How can a developer optimally take advantage of conference attendance?

Hang out in the hallways and have conversations. They are great for learning and communication. Developers can intermingle with speakers and ask them questions.

Attend talks on disparate topics. Christopher Kelly’s episode embodied this. Health Hacking is not conventionally thought of as related to software engineering, but the episode was all about how to diagnose and solve problems about a complex distributed system–the human body.