QCon New York 2017 — A journey of discovery

Matt Sagakuchi — “What Google learned about creating effective teams”

Updated Jul 14 2017: Added link to Expert Teams post.

QCon New York 2017 is a conference for professional software developers. A practitioner-driven conference, QCon is designed for technical team leads, architects, engineering directors, and project managers who influence innovation in their teams.

It consists of over 100 presentations across 3 days — far more than one person can attend. But my colleague Dean Baker and I were fortunate to be sent by Odecee — a Cognizant Digital Business — to the conference and were able to attend twice as many sessions. And now you can reap the benefits — knowledge!

The journey ahead

A side effect of the volume and quality of information that we received is that it is too much to put into a single blog post. So over the coming weeks, I’ll attempt to categorise the key things I’ve gleaned and present that in separate posts.

Having said that, ever journey has to start somewhere. So this post will look at the key themes that I picked out from the conference, with links to more-in-depth blog posts (as they become available).

Key Themes

Development Practices

  • Spotify allows feature teams to have Ops people embedded, so they own the entire development, delivery & maintenance pipeline. “Ops in Squads”.
  • Testing in Production
  • Ownership
  • Architecture first THEN organisational change

Data, Visualisation and Machine Learning

  • Humans are good at some things. Computers are good at other things. Together they can produce great things.
  • Machine Learning requires good data. Bad data in, bad data out. So data science is a key requirement to building models that return useful results.

Expert Teams (blog post)

  • Psychological Safety, Dependability, Structure & Clarity, Meaning, Impact
  • Life is more than work

Remote & Lifelong Development

  • Key to working remotely — build and maintain trust by communicating frequently & clearly, be responsive but set boundaries, assume good intentions, help others help you.
  • Become a life-long learner. “Once you stop learning, you start dying” — Albert Einstein.
  • Surround yourself with smarter people so that you can learn new stuff.

On the front-end…

  • Feature flags are necessary in large apps, and there are tools to make it easier to implement (e.g. LaunchDarkly, split.io)
  • Optimise processes for refactoring, as you won’t get it right the first time
  • Design systems as a common language for designers and engineers
  • DesignOps: code as the source of truth, with tooling to automate repetitive tasks

Event Sourcing Scales

Overall I would say that attending QCon NY 2017 was a fantastic experience. I’ve been exposed to lots of new ideas and ways of working that I ordinarily would not have heard of for another 2+ years. Getting rid of staging environments resonated the most with me, as I’ve experienced first-hand how costly they can be while still not preventing production bugs.

Stay tuned for more posts soon!