Discussion about this post

User's avatar
Claus Polanka's avatar

What a great idea 💡. If your time allows, could you maybe provide an example (in code)?

Expand full comment
David Miller's avatar

In principle I could build such a system with Java and Angular (the platforms my team understands). Each slice gets its own Java package, and Java modularity rules and ArchUnit tests could verify no slice uses a package from another slice. Slices can only use a small kernel of event services. In Angular / TypeScript each slice could have its own library.

My concern with keeping Java and Angular is my team members would keep their old way of thinking. I'm intrigued by the idea of a Linux application: a collection of small binary tools that communicate by pipes. I'm also interested in building this network of functions on a functional platform, like Lisp or Haskell.

Still, sticking with my current tools means not having to reinvent the build pipelines or the packaging scripts. The key thing is to get started; communicate the new ideas and start building something.

Expand full comment
2 more comments...

No posts