"Some may ask why we didn’t announce these role reductions with the ones we announced a couple months ago. The short answer is that not all of the teams were done with their analyses in the late fall; and rather than rush through these assessments without the appropriate diligence, we chose to share these decisions as we’ve made them so people had the information as soon as possible."
> But they don't mutate data and hence every function call creates a new data in memory taking up space.
Well, only if you mutate the data. And even then, most functional languages provide persistent data structures that allow efficient sharing of the unchanged parts of the data structure.
> Now my question is where do I learn about these nitty gritty's? Should I read about compilers more? Or systems? Or what?
I'd recommend choosing a functional language and an imperative language and learning both.
For some reason I'm kind of sad seeing Twitter's (very cool) homegrown technologies in the "Old" diagram with the "New" architecture basically Google Cloud. I'm sure it makes sense internally, but it feels like the loss of an innovation center in the streaming space.
One advantage of Kafka is the ecosystem effect. There are many systems (Flink, Kafka Streams, Pinot, Druid, Presto, etc) that connect to Kafka. I'm not sure about the extent of Pulsar support here, although I'd love to learn more!
[0] https://upload.wikimedia.org/wikipedia/commons/9/92/Annual_A...