A passionate software developer who loves to work with cutting-edge technologies, likes to inspire people and
have an ultimate goal of making lives easier through amazing softwares
Java, Apache Camel Framework, Spring
SONA COLLEGE OF TECHNOLOGY
Computer Science - Bachelor of Engineering | Jun, 2007 - Mar, 2011
BNYM TECHNOLOGY (FORMERLY INAUTIX TECHNOLOGIES)
Technical Lead | Jun, 2011 - Apr, 2018
- Joined as a fresher to the organization, I was initially trained in C# .Net and worked on multiple ad-hoc
tools for a vendor solution.
- Later got my hands on Java as I had to work on a new requirement which needed some changes to a standalone
java program the team built.
- Then, I primarily started working with Java based technologies.
- Being a technical lead, I now, oversee other developers in the project to primarily review their work and
propose best possible solutions whenever necessary.
AUTOMATED TENDER NOTIFICATION ( @ SCHOOL )
Student | Dec, 2010 – Mar, 2011
It was an automated system which crawls several tender publishers, parses all relevant & important
information, stores them and orders them chronologically for easier glancing and filtering. Yet, the most
important feature was the ability to send SMS to subscribed employees in an event of new tender announcements
so that they never miss it. I did not subscribe to any SMS gateway rather came up with a script to interact
with an online SMS service to send SMS for free.
AUTOMATED APPLICATION MONITORING (@ INAUTIX)
Application Developer | Oct, 2011
In early days at iNautix, as soon as I show up every morning my first task was to login to several windows servers
to check multiple services and a website to make sure they are healthy. I found the manual work to be redundant
when it can be easily automated. I had to learn about adapters to communicate with services in remote machine
and quickly written a solution which is super customizable to adapt to multiple development environments.
The application is capable of checking the state of windows service, start if it was stopped, re-start if
there is a problem and validate a website homepage through HTTP request. This made my morning days more productive
REMOTE DROID PLAYER - ANDROID APP (PERSONAL SIDE PROJECT)
Jun, 2012 – Aug, 2013 |
An android application that can stream local music from android phone to a windows machine through WLAN. It uses
TCP protocol with customized message formats as commands and a simple java web server to serve the music
files. It also has a windows application which was developed using WPF.
Android - Java
C# .Net, WPF
WINDOWS MQ SERVICE (@ INAUTIX)
Senior Application Developer | Jan' 2014 - Sep' 2014
Developed a windows service with an inbuilt scheduler to regularly execute a list of database stored procedures,
read the results and send them over IBM MQ. This has replaced a vendor solution that used to do this by writing
everything into a flat file first and then read them up later to push them into queues.
- Handling server restarts - In case of a shutdown or restart, the service must capture the event immediately
and safe store the state and cleanup and has to exit right a way. Since windows does not provide any
additional spare time then what is available by default.
ANALYTICS DATA FEEDER (@ INAUTIX)
Senior Application Developer | Oct, 2014 - Jan, 2015
A Webservice client to send regular feed to an analytics application. I built it using C#.Net. Basic windows
task scheduler was used to schedule this. The data is stored in SQL Server and a stored procedure was written
to collect all information and directly map them to the WSDL fields so that any future changes are easy to
SHOPLIST - ANDROID APP (PERSONAL SIDE PROJECT)
Jan, 2016 – Apr, 2016 |
Inspired by another minimalistic app, I developed a simple and minimal shopping list application for android.
The app boasted one main activity with major functions incorporated and other additional functions are overlaid
using dialogs. The dialogs are customized and overlaid to make users complete an action with a minimum number
of clicks possible.
Android - Java
MIGRATE LEGACY MAINFRAME COMPONENT TO DISTRIBUTED (@ INAUTIX)
Technical Lead | Jun, 2016 – Nov, 2017
Build a distributed application to replace a legacy mainframe component with major additional feature. The gist
of the business requirement was to balance the transactions that go across more than one BNYM entity.
- Overview everyone's technical contribution to the project and advise on best solutions and standards
- Build an algorithm for a core business function as a standalone java library to have it reused across multiple
- Design key technical components of the application like Camel routes and Unit test cases.
- A complete end to end unit tests using camel's test pattern, junit and mockito
- Build automated deployment pipeline.
- It was important to ensure one unit of work commit as we dealt two different databases (Oracle & DB2). We
used JBoss EAP with inbuilt JTA support to accomplish that.
- As apache Camel can be good for short-lived transaction, we had to add batch processing within camel. I faced
it by splitting a million records table into multiple chunks and process them concurrently in much
- Have the camel routes tested end to end in Junit - Since we wanted the tests as close as possible to real
world, we used oracle database instead of in memory alternatives. Every camel route was tested from the
start to end to ensure complete coverage. This was helpful in identifying bugs at early stage and much
more helpful after that.
Java, Apache Camel, Spring
CONTAINERIZE JAVA APPLICATIONS (@ INAUTIX)
Technical Lead | Dec, 2017 – Apr, 2018
Move multiple java applications to a recently built in-house container platform. The platform was based on docker
and other open source tools for orchestration, networking etc,.
- Streamline the development process by advocating the standard practices for an efficient and productive development
- Review and advise various design solutions to problems raised when moving to containers.
- Enforcing re-usability.