Streams and Gatherers — beyond filter-map-collect
Exploring Java 22's Stream Gatherers API with custom collectors, stateful transformations, and parallel-friendly patterns.
invokedynamic · freelance engineering
My background is with Java backends, from Spring Boot to OSGI, but I dare to venture anywhere where I can comprehend the generated code, leveraging AI coding agents to ship faster without cutting corners.
Spring Boot, Jakarta EE, or any Javaesque environment, think Kotlin or similar, anything is a game. Clean architecture from day one.
Backend is not enough? You provide the design, I deliver the artifacts.
Architecture review, performance profiling, migration strategies, codebase quality audits. One-off or retainer.
Are you working on a project that you cannot take on your own, or you need to extend your team? I can help.
Phase one
The best code cannot compensate for poor understanding of the domain. We analyse the requirements together, and always invite AI for different perspective and deep dive into the dark corners and edge cases. No prompt is left unturned.
Phase two
Letting an agent write code without specification will result in agent drifting unpredictably and loose focus. I am the human in the loop that always keeps the hands on the wheel and steer the process in the desired direction without sacrificing quality for speed.
Phase three
Even with all the speed gained with AI, it is always good to stop and take a look back. Time saved on implementation gives space for innovation and inspires experimentation.
Delivery
With every iteration coupled with specification stored in Git alongside the coding artifacts, taking over and tracing the process is completely transparent. Maintainable source code that your team can take over and extend.
Exploring Java 22's Stream Gatherers API with custom collectors, stateful transformations, and parallel-friendly patterns.
Sealed classes, pattern matching, and algebraic data types — what happens when you treat data as data instead of objects pretending to be data.
A deliberately over-engineered microservice that demonstrates just how far you can push auto-configuration, AOP, and conditional beans before you should stop.
Backend Java and beyond, AI accelerated software development. Let's talk about what you need.
Get in touch