Often the first question mobile engineers ask ourselves when sitting down to build an application is what architectural patterns we should use. We try to lay the foundations for our house before we know how many rooms we need to build.
If we want to retain our ability to react to the evolving needs of our users, then we must accept that it’s impossible to know at the beginning of a project what patterns will best suit what is being built. All too often it turns out that the perfect patterns we chose at the beginning don’t work so well with the desired functionality, leading to code that's difficult to understand and maintain, and eventually to expensive rewrites.
So what if we could just... not choose? This talk will outline an incremental approach to application architecture that works in concert with product design, beginning with broad functionality and allowing the design to reveal itself over time as the specifics of our application become clearer.
Matthew is a self-taught software engineer and recovering mathematician, who cares about software quality, architecture and testing
He currently works as an engineer at SoundCloud, working on the Creator Networking team, helping SoundCloud's extensive creator community share content, grow their audience and receive feedback on their work.
Prior to joining SoundCloud, he worked as an engineer at Clue and FanDuel, and taught software engineering at CodeClan.