Skip to content

Instantly share code, notes, and snippets.

@andrewabest
Last active October 3, 2018 04:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save andrewabest/33feede3d5bcdd55faa189bd955e57d9 to your computer and use it in GitHub Desktop.
Save andrewabest/33feede3d5bcdd55faa189bd955e57d9 to your computer and use it in GitHub Desktop.
DDD Brisbane 2018 Submissions

Andrew is a Principal Consultant with Readify, and has participated on enough interesting gigs in his time to have a tale or five to tell. Like many he has made some strong opinions along the way - some of which even pertain to software; but is always ready to revise them if a convincing argument (and possibly a cleansing ale) is supplied!

Most of us have a good idea on how to execute a software delivery - we have a clear picture of the practices, processes, and behaviours we employ to ship good outcomes, given a particular business initiative, requirement, or deliverable.

But how we arrive at that point can be a mystery! At the very start lies the infinite universe - all that is possible, and impossible. We need to equip ourselves with tools that can help our businesses understand their portion of the universe - their services, products, customers, market, problems, and opportunities, that can be leveraged to form goals that we can achieve with the help of the software we can craft.

Once we understand the possibilities of what can be delivered - how do we rationalize what we should be devoting time, money, and effort into delivering? This is very much a business decision, and we need to be able to guide our businesses through the decision making process, eliciting, creating, and capturing the data we need to make decisions about what we should be delivering, and when.

In this talk, Andrew will equip you with a set of tools, techniques, and opinions, that will help you help your businesses discover what they could achieve, decide which of these possibilities they should be executing on, and if there is time left - some opinions on the key ingredients of successful software deliveries!

When we have to do something new - something we have not done before - how many of us take the time to really understand what we are working with, the tools and technologies we are trying to wield, before we roll up our sleeves and attempt to apply them?

Many developers, myself included, have fallen prey to needing to Get Stuff Done TM, and have not taken the time to properly understand the tools we are trying to use - our knowledge may be an aggregation of Pluralsight courses, StackOverflow answers, and blog posts - we are aware of a technology, and suspect it will be a good solution to our problem, and jump straight into the "How", but miss a lot of the "Why".

And where is the best place to learn more about the "Why" behind a particular technology? The spec.

Let's dive into the spec of a technology in an area we are all responsible for knowing more: security. OpenID Connect is the standard modern application authentication solution. In this talk we will attempt to build an OpenID Connect Client that can authenticate against a compliant Identity Provider, and prove that specs aren't as scary as they seem, and that they should be one of the first places you look when learning a new technology.

Disclaimer: this talk is about learning fundamentals, not about rolling your own security tools. Don't do this in prod kids - always rely on security tools and technologies built by the pros.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment