Dan North discusses the need to embrace uncertainty of scope, technology, effort and structure, expecting the unexpectable and anticipating ignorance.
Jamie Allen explains some of the terminology encountered by Scala developers and not only: OO features, pattern matching, functional programming, actors, futures, tuples, implicits, type theory, etc.
Robert Reppel discusses applying DDD and SOLID techniques in order to improve legacy code, exemplifying with real code.
Alex Aitken and Nick Faulkner share lessons learned building a cross-platform HTML5 application based on GOOS principles (Growing Object-Oriented Software).
Matt Butcher explores the philosophical systems devised by Plato and Aristotle, showing how Plato laid the foundations for what is now OOP, while Aristotle’s dynamic model is at the core of FP.
Eric Evans shares 4 strategies for dealing with messy legacy systems: Bubble Context, ACL Synchronization, Exposing Legacy Assets, and Domain Events Channel.
Stacia Viscardi outlines the weaknesses of traditional resourcing methods and their illusion of efficiency, presenting a way for transitioning to a leaner and more innovative approach.
Ola Bini attempts to answer a few questions: Why are new languages still being created, Is it worth choosing languages strategically, and Does language actually matter?
Stuart Dabbs Halloway explains what the impedance mismatch is and what can be done to solve it in the context of RDBMS, OOP, and NoSQL.
Steve Vinoski discusses innovation and product life cycles, how they affects the market and someone’s products, and what one should know in order to succeed in a very competitive landscape.
Diomidis Spinellis discusses measures, methods, tools and techniques used in a fight against widespread tax evasion, bureaucracy, fraud and corruption in Greece.
Don Reinertsen proposes addressing uncertainty not by considering it harmful nor by embracing it but by efficiently reducing it in the context of the economic laws governing the software dev process.