Loading…
This event has ended. Visit the official site or create your own event on Sched.
  • Registration is open every day from 7:30 a.m. until the close of the day’s sessions. 
  • 30-minute refreshment breaks are at 10:00 a.m. and 2:30 p.m. daily (Wednesday afternoon break is at 2:00 p.m.). 
  • Lunch is 12:00-1:00 p.m. daily in the Catalina Ballroom (Monday lunch is in the Shutters Hospitality Suite)
View analytic
Tuesday, May 3 • 3:00pm - 3:30pm
Model-Minded Development

Sign up or log in to save this to your schedule and see who's attending!

  • Domain-Driven Design (DDD) says that we should be mindful of domain models and embed them in our code.
  • Design Patterns say that we should know a catalog of patterns so we can solve recurring problems that arise in object-oriented (OO) code.
  • Software Architecture says that unless we are mindful of large-scale patterns and models, then our systems will not achieve the qualities we seek.
  • Test-Driven Design (TDD) says that we should structure our code so that it can be more easily tested.
  • Programming styles (functional, OO, procedural, etc.) say what the core abstractions of our programs should be.

The common denominator here is that software developers are expected to keep in mind many abstract yet complex models that constrain the code they write. In some ways, these constraints are a burden, and in other ways, they are the light that illuminates a path forward.

I will discuss an idea called Model-Minded Development that generalizes across DDD, design patterns, architecture, TDD, and coding styles. The defining characteristic of senior software developers is their facility with Model-Minded Development, and it enables them to operate at an advanced level.

 

Get the slides.


Presenters
avatar for George Fairbanks

George Fairbanks

Google
George Fairbanks has been teaching software architecture and design since 1998, is the author of the book Just Enough Software Architecture, has a PhD in Software Engineering from Carnegie Mellon University, and is a software engineer at Google.


Tuesday May 3, 2016 3:00pm - 3:30pm
Fairbanks B