An avid programmer since the mid-80s, I have used and abused Prolog, LISP, Smalltalk, Java, Erlang and Elixir. Years spent in corporate IT departments and with startups have me convinced that lack of conceptual clarity is the death of software projects, which makes me a friend of Domain Driven Design.
I am currently software architect at Starlit Software. I live and work in Portland, Maine.
In my spare time, I train obsessively at Aikido of Maine, organize the local Erlang/Elixir and Elm meetups, and dabble in robotics with the Lego Robotics sets I bought "for my son".
A couple of years ago, I found out I could program a Lego EV3 robot using my favorite concurrent programming language (Elixir). Way back in the 80s, I had read Marvin Minsky's "Society of Mind". Now was my chance to implement a simplified version of it, just enough to give a Lego robot interesting autonomous behaviors. Minsky's Society of Mind calls for many agents doing simple things and interacting in simple ways, causing emergent behaviors we perceive as intelligent. So I set out to design and implement a simple model of the mind, with concurrent agents responsible for perception, memory, motivation, attention, behavior and actuation.
It worked! My robot could "feel" hunger, fear or curiosity and act accordingly, always "aware" of its environment. I then extended my model to encompass simple social interactions between robots, such as greed and panic. It was all great fun. Stepping back, I now realize that the most engrossing aspect of this project was coming up with a working domain model for the mind, and defining a domain language for cognition. I will share my journey with you.
Author of “Domain-Driven Design”
Object Design Pioneer
Inventor of Wiki
Author of “Implementing DDD”
Inventor of EventStorming
Serial DDD Advocate
Student of Systems
Java Champion and Author of POJOs in Action
Creator of Axon Framework
UX Expert, Business Analyst and Software Developer
Asker of Inconvenient Questions
Secure Domain Philosopher
Author of Secure by Design, DDD Enthusiast, Coder and Quality Defender
I Model Business Domains For Fun.
Designer or Engineer? Yes!
Intense perfectionist with a passion for DDD and BDD
Full-stack developer. @dddmadrid Organizer
DDD Practitioner and FP aficionado
Shipper of Things
Author of "Head-First Domain-Driven Design" O'Reilly 2018?