The game is afoot !!

NAURIN JAMIL
Cloud Engineer’s diary
4 min readJan 15, 2021

I am a late bloomer, or so to say, I like to try out different things until I know for sure what is it that I really want. It has been this way all my childhood and ongoing adult life. Be it in school, or higher studies and then entering into the professional world, for me, it has always been conviction preceding action. So, before I persuade the world, I need to genuinely convince myself about the purpose of things, or I go low on motivation.

Looking back at my career as a Software Engineer, I have thought about aiming to be an expert in a lot of things over time, starting from Algorithms, moving on to Semantic Web technologies, then DevOps, and so on. I had always been fervently looking for someway to align my skills with the whole concept of social responsibility, which is personally very important to me as an engineer. And if what I am doing is actually making life better for others in some way. Finally, some moons ago, I came to realize the fact that I want to be a flag-bearer in the Cloud Native movement. I have discovered the joy of enabling a software customer, regardless of size, to become lean, agile, scalable and resilient. And this realization has set me on my journey to become a Cloud Native Expert, slowly but surely.

I have had some prior experience of this methodology, but that was before the start of my love affair with the same. When I reflect upon the reason that triggered this passion inside me, it was because of the fateful few months that I spent fighting tooth and nail against monolith applications. It was a nightmare for me, to develop a new feature, or refactor an existing one on the monolith apps, that are already being used by multiple trusting customers. I noticed a severe dread in my colleagues of regression and how they strictly refrained from touching a piece of code that has proven to work, over the years. There were also fateful mornings when applications broke due to tight coupling with external dependencies that were changed without a heads-up to consumers. This led me to question if this was really the optimal way to function as a software engineer in the 21st century? Is our responsibility limited to developing a piece of code that just works for now and has nothing to do with being a sustainable or maintainable solution?

Today, I have resumed my journey to the goal, with a new-found passion and a clear intention of uncovering the plethora of benefits inherent in Cloud Native paradigm. I am aware that it is not a one-stop solution to all problems in the world, but just thinking about the aspects of sustainability covered via SaaS, PaaS, IaaS, faster deployments, leaner services, scalability and resilience, makes the soul of the software engineer inside me smile :).

At this moment, I am beyond pleased with the time and space I am in. I am working in the full capacity of a Cloud Native Software Engineer. The best part of it all is that everything is falling into the right order. I began with shouldering the responsibility of a Site Reliability Engineer which means on-call round-the-clock fire-fighting duties, resolving customer issues with regard to availability/outage, authentication, authorization of microservices all in a short span of real-time. This was a great way to start, because when you delve upon problems pertaining to a microservice, you tend to understand its internal workings quite comprehensively and quickly discover things that can be improved upon or corrected and new features that can potentially enhance its workings. I am getting in-depth experience of microservice development in Java, Node JS and the constellation of frameworks that exist today which make microservice architecture dream into a sublime reality, e.g. monitoring tools like Dynatrace, logging tools like Kibana, authentication/authorization protocols, multi-tenancy and the list is endless.

There is so much that goes into making an application or service truly cloud native and actually usable. Architecture needs to be on-point and multiple factors have to be considered, unlike a monolithic solution (read 12-factor rulings), implementation must be lean and resilient, test coverage ought to be solid. Deployment and operations is a different ball-game altogether. I intend to document my further experiences with all these different aspects over time and if you are also an aspiring Cloud Native expert like me, follow me on my journey. Who knows we might teach each other a thing or two about the limitless cloud :)

--

--