15 years ago, just one year into my 1st job, I submitted my resignation to work on a new startup. One of my seniors was very surprised and asked me why! I was super excited to work on VOIP/SIP and explained that to him (little did I know I’d spend next 7 years of my career debugging UDP pakets in etherial, yes wireshark was called etherial back then). My senior smiled and replied, “you are still young, after a while you will realize everything is ultimately just input/output

15 years down in my career, while I dont fully agree with that, I do appreciate where he was coming from. The other day I had 4 session in 2 day with 4 different teams who has very different domain from each other:

  • 1st one was how to collect and process and analyze millions of set-top-box sending usage data
  • 2nd session was about the next step design of a “metadata-hub” for efficiently storing and distributing video metadata for all the video platforms we have.
  • 3rd was about collecting video click data and feeding it into the recommendation system and using the recommendations on the web.
  • 4th was about a jenkins pipeline and building a jenkins helm chart itself(egg vs chicken)

The whole time (actually starting from 2nd meeting), I couldn’t stop thinking about that quote “everything is eventually input/output”.

Lol I am not sure whether to take this mental state of mine positively or negatively. Have I reached some new architect high where I am seeing the superior abstraction in everything or I got too old and boring and every problem looks same to me 🙂

Trying to look a bit deeper, I realized, with all the OSS frameworks/libraries and aws building blocks(or any public cloud offering) our problem space shifted a lot. All we do these days is glue different services / tools together to deliver business value. And who does the glueing? Your Pipelines !!! Its all about the Pipelines!!! Just looking at the small team we have, we got so many pipeline execution framework running in production at this moment: Conductor, AirFlow, AWS Steps, Jenkins-X, Argo (kubeflow pipelines), Activiti (I know too many!!!, but its about right tool for right job 🙂 )

So yes, if I had to rephrase my senior 15 years later, I’d say, Its all Input/Output And the pipelines in between.

or may be I am missing my SIP/RFC3261 days too much!!!


Again, me trying to learn some python (because I want to talk to my Anki Vektor) and make something useful so I can use day to day. I must say, this code has been very instrumental in me keeping an eye on every k8s events and find some gotchas from them when we went live in large scale EKS production platform.

PS: as a java developer, once you go past the odd syntax of passing around self , its probably the easiest language to pickup