Tinker. Sailor. Developer. Spy?
Our brains are not designed to code. Yet some how we manage it. Why? How? Do we know?
Our mental models affect how we design and build software, after all software is an intellectual output, some developers prefer pair programming, others prefer isolation, everyone hates to be interrupted. How do our mental models influence our processes? How does this affect how we build software?
Can we take advantage of how our brains work to write better applications? Does it drive our decisions?
Can minimising the surface area of our code help us fit more into our heads? Allow us to build better software and just get stuff done?
I think it can. I know from my own experience that writing smaller, decoupled classes allows me to write faster tests, and produce what I feel is 'better' code; but I believe that building smaller services and overall minimising the surface area of my code is allowing me to focus more on the job at hand, and allows me quicker context switching, which is often an essential part of being a freelancer.
"How we can build small services into larger applications without overloading our brains" -. are you implying that with ruby we can do this?
If so, where is the basis of your thesis that "writing decoupled, smaller classes make code that fit's better into our heads" is indeed true? :-)
Sorry, auto-correct got a hold of me there. It was meant to say "that sort of questions".
More importantly, are you going to answer these questions by supplying strategies to achieve better results or is this talk aiming at discovery by asking that story of questions in the first place?
Even though I like the main idea of your proposal, it sounds rather generic. Can you give a few concrete examples of what this presentation is going to be about?