Software Development Engineer

Blog PostsResume

Requirements Authentication: Authenticate users using their card and ATM PIN. Balance Inquiry: Allow users to check their account balance. Cash Withdrawal: Enable users to withdraw cash. Cash Dispensing: Dispense cash in denominations of 500, 20…

The State pattern is a behavioral design pattern that allows an object to alter its behavior when its internal state changes. How it Works? The Context class holds a reference to a State object, representing its current state. The Context delegates…

The Decorator Pattern is a structural design pattern that allows for the dynamic extension of an object's functionality by wrapping it with additional 'decorator' classes. It provides an alternative to subclassing for extending behavior. It is used…

The Chain of Responsibility Pattern is a behavioral design pattern that allows an object to send a command without knowing which object will handle the request. A set of objects is chained in sequence, and the command is passed along the chain until…

The Observer Design Pattern is a behavioral design pattern that defines a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically. The object that is watched is called…


In the previous post, we discussed how to set up an architecture for dynamic configuration management in AWS AppConfig. It describes how we can automate the deployment of configuration on uploading the file in S3. However, dynamically updating…



Partitioning is an important technique for organizing datasets so they can be queried efficiently. It organizes data in a hierarchical directory structure based on the distinct values of one or more columns. By default, a DynamicFrame is not…

© 2024 Ujjwal Bhardwaj. All Rights Reserved.