Submitted by Ian Johnson
In a reasonable a system (i.e. a system that helps me to understand it, to reason about it) I should be able to understand how to make a change without holding the entire system in my head. I should be able to reason where the change needs to be made and reason about the impact it will have.
I want to explore what reasonable means to me, from the processes of the team all the way down to an individual block of code. Along the way, we will encounter existing frameworks, tools, and patterns that our community has developed over the years to help us to reason about our code and processes; I feel that they have often been misused and end up creating the opposite effect, adding unnecessary complexity to how we work.
Ian is a software developer working at Redgate, a company that develops tools for developers and database administrators.
Ian is passionate about writing maintainable code that delivers on the needs of users. Though he considers himself an introvert, Ian loves talking with other developers, learning from their experiences and sharing his own.
Outside of work, Ian is a passionate Star Wars fan and has been known to make the occasional really bad pun, but all of his code is "no-pun sourced" (sorry, couldn't resist).