SANDIPRUPRAO MOHOD
Email:sandipmohod@gmail.com
Contact No: +1669 241 9001
CARRIER SUMMARY
Java Developer with 10+ years of experience working with CMM Level5 industries in the field of IT with focus on
requirement analysis, estimations based on software models, design, development, maintenance and unit testing
of web applications, with efficient use of JAVA, J2EE Technologies and Oracle PL/SQL. Worked primarily as middle
tier developer in the domain of Banking & Financial Services, Reference Data and Retail.
TECHNICAL SKILLSET:
Programming Skills: Java/ J2EE, Java Servlet, Java Struts, JSP, Spring, JDBC, Hibernate,
JUnit, JMock, RESTFul & SOA based Web Services, JAXB
Web Technologies: UML, HTML, Java Script, CSS, JQuery, Apache, WebTomcat, JBoss
Framework: Struts, Spring 3.0, Jersey 1.17
Database Skills: Oracle PL/SQL, MySQL.
Version Control: Subversion SVN, GIT
Change Management & Bug Tracking Tools: JIRA
IDE: Eclipse, Toad, Spring Toolkit, SQL Manager Lite for MySQL, MySQL Workbench
Tools: Maven
EDUCATIONAL QUALIFICATIONS
Master of Science in Computer Science from Amravati University, INDIA with 61% Marks
Bachelor of Science in Computer Science from Amravati University, INDIA with 66% Marks
PROFESSIONAL EXPERIENCE
Macy’s.com,San Francisco,California,United States, Senior Java Developer
04/2015 – Till Date
Project: PROS (Product Recommendations and Optimized Services)
PROS is e-commerce application which consists of different modules like RTO, MMM, and Milan.
RTO module serves the recommendations to the macys.com page. The recommendations are provided by
MMM which acts as a reservoir for the recommendations for the given product ids. The recommendations are
determined by RTO and MMM depending upon the experiment and the respective models. Experiments and
the respective models are constructed by the business analysts. To construct the experiments and the respective
models, users use Milan as a user interface.
Responsibilities:
Designed and develop web Services (Restful).
Design and develop User Interface.
Data modelling
Use design patterns.
Use Java 1.6 concurrent packages.
Use Spring Profile.
Use JBOSS to deploy application
Use Jboss Infinispan for Cache Replicationacross all application instances.
Use GITHUB repository for source code management.
Environment: Java, J2EE, JBOSS 6.1, Jersey 1.7, Spring Toolkit, Maven, AngularJs 1.4, XML, GITHUB, Oracle
10g, Spring 3.0, Junit, Jboss Infinispan 6
PLM Logix LLC,SaraToga,California,United States, Senior Java Developer
01/2015 – 03/2015
Project: On the Radar (OTR)
OTR is e-commerce Web Application which uses external web services to fetch the product data from different
vendors like Amazon, Wal-mart etc.In addition to the specified vendor products it cater to the needs of the local
vendor products which are otherwise not visible on vendor’s list like Amazon,Wal-mart etc.
Thus OTR maintain its own products range (garnered through local vendors) along with the products of standard
vendors.
OTR has its Web Services which visits its own cashed database products before asking for information to the
vendor specific web services and display the products to the user both standard vendor products and the local
vendor products as well.
I have used concurrent hits to the multiple vendors’ web services so as to fetch the product from the respective
vendors, apart from hitting the local cache database so as to show the local vendor product as well.
While updatingthe local cache database periodically so as get rid of stale data, I have used concurrent updates into
the memory and final update to the cached database.
Responsibilities:
Designed and develop web Services (SOAP and Restful).
Data modelling
Use design patterns.
Use executor framework (Multithreading) to fire product request call to each vendor web services.
Write packages in PL/SQL
Used Tomcat to deploy application
Used ControlM (scheduled jobs) to refreshthe cashed database after specified amount of time so as to override
the stale product data in the cache.
Used SVN repositoryfor source code management.
Environment: Java, J2EE, Tomcat, Spring Toolkit, Maven, JQuery, XML, SVN, Oracle 10g, Spring Framework,
Spring MVC,Hibernate, JPA
Hongkong and Shanghai Banking Corporation ( HSBC), France,Paris,Senior Java Developer
08/2012 – 07/2013
Project: Risk Wait Assets (eRWA)
eRWA is a web application which calculates the RWA for the trades. The trades are fed to the application from
the trade repository. The application also does the Basel III calculation on the trades and provides it to the
downstream application for analytical purposes either through data files or through web services.
The application also got the user interface. The interface is used by the Business User to do the adjustment in the
trade’s wrong figures trickle downto the eRWA from the feeder. This avoids revisiting the Trade Repository to
fetch the correct figures.
I am involved in writing the web services which are ultimately used by the downstream applications. Also was
involved in introducing the new features in the user interface. Migration of Basel II calculation the Basel III
calculation so as to provide the figures of Basel III to the downstream application through web services.
Application gets approximately 100 files in an hour so as to load it efficiently with all the validations, I wrote
concurrent loader using multithreading. It involved the poller thread which looks for a new file continuously in
specific folders, create a task for the file to load and push it into the waiting queue. Job Executer would pick up
the task; allocate the worker to load the file depending upon the type of the file with due validations.
Responsibilities:
Designed and develop web Services for the downstream application.
Write packages in PL/SQL
Implementing sorting algorithm according to the nature of the data pattern.
Usage of design patternespecially Template pattern, Factory method pattern, and command pattern
Usage of executor framework (multithreading) to load the files.
Use of concurrent primitives like CyclicBarrier to load the files in to the sytem.
Data modelling using sql workbench.
Used Web Sphere to deploy application.
Used ControlM (scheduled jobs)to generate and provide the RWA and Basel III calculation to the
downstream application
Used SOAP services so as to provide the data to the application
Used SVN repositoryfor source code management.
Currently involved in migrating Code repository fromSVN to RTC (Rational Team Concert).
Environment: Java, Web Sphere, Spring Toolkit, Maven, JQuery, AJAX, JSF, HTML, CSS,
Java Script, XML, SVN, Oracle 10g, Spring
Nielsen Company, Oldsmar,Florida,United States, Senior Java Developer
01/2012 – 07/2012
Project: AdRelevance (ADR) US
ADR US is a web crawler which captures ads oninternet web sites. Crawler capture ads based on various rules
defined in the system. The HTTP prober (component) probes different URLs and fetch the HTML contents
which is then normalizes using JavaScripter (Component) and Periphery Prober. The Ads are extracted using
AdEtractor (Component) from the normalized contents by applyingrules. The Ads are recorded in the database.
All new ads are examined by humans, who classify them in many ways and also weed out non-advertising
content. Finally, the data is then is sent to the Web Front-End (WFE) where client can run reports and view the
ads.
I am involved in fixing the Rule engine flaws which are used to identify the ads. Modifythe core part of
application so as to make the system aware of the new tags whichare being added in HTML specification.
Change Rhino component (used to interpret the java script) so as make it aware of newfeatures added in the
JavaScript.
Responsibilities:
Designed and develop new Rules and fixed the existingones.
Followed Javadesign patterns template and observer pattern.
Extensively worked on Java collections API for optimization and thread-safe data access.
Used XML formats to transfer data from the server.
Worked on SQL, PL/SQL using Oracle Database.
Wrote Junits using Mockito, Powermockito for the use cases.
Used Apache Tomcat to deploy application.
Used SVN repositoryfor source code management.
Participated and contributed in daily scrumcalls.
Environment: Java, Apache Tomcat, Eclipse, AJAX, JSF, HTML, CSS,
Java Script, XML, SVN.
Royal Bank of Scotland, Singapore, Senior J2EE Developer
10/2010 – 12/2011
Project: WallStreet Interactive Real-Time Engine (WIRE).
WIRE is an application which is sand witched in betweenSystemX and WSS (WallStreet) application. The
cashflows (premium of the deals) flows from SystemX to WIRE application where the cashflows are processed
automatically. Processed valid cashflows are provided to the WSS application throughWSS web services. WIRE
application consists of three components Importer, Provider and Viewer. Importer pulls the cashflow messages
from SystemX. Provider pushes the valid cashflows to the WSS application. Viewer provides the user interface to
the Business user of the cashflows and allows manual cashflowprocessing.
Responsibilities:
Requirement analysis, designand development of new cashflow validations.
Developed RESTFul web services for payments system and user transactionusing Spring& Hibernate.
Extensively worked on Spring Dependency Injection, AOP for Transaction management.
Worked on properties externalization using Spring.
Worked on fixing the memory leakage problems in Tomcat.
Developed URL Rewrite and Redirect Tool using UrlRewriteFilter & Jetty.
Worked on ActiveMQ as message broker to consume messages.
Environment: Java, Oracle 10g, Spring, SVN, Jetty. Eclipse Indigo, ActiveMQ,
Royal Bank of Scotland, London, UK, Senior J2EE Developer
09/2010 – 10/2010
Project: Forward Looking Activity and Income Reporting (FLAIR)
FLAIR is deal management system where the user can create new deals. The system consists of different roles
which determine whichoperations are allowed on a given deal. Also, the users are arranged in a hierarchy, higher
the position of the user in the hierarchy, more number deals the user can see and deal with.
Responsibilities:
Worked on Search & Reporting module to develop complex search interface using Struts, Spring &
Hibernate.
Developed Reporting framework using Cron, Quartz to schedule and deliver reports created using
Jasper.
Developed UI using HTML, JavaScript, CSS, JQuery, JSP2.0 directives, expressions, actions, tags and
custom tags to allow user for multiple search, does not equal selection, auto complete functionality.
Worked on Struts2.0 MVC Framework for handling user request defining action-mappings,
DispatchAction.
Extensively used Spring2.5 MVC Framework for better leverage, POJO programming, Dependency
Injection, Testability.
Worked on initializing ApplicationContext to retrieve beaninstance, DI (DependencyInjection)
through constructors and setters.
Worked on wiring collectionwhile Dependency Injection of a bean.
Used byName autowiring to reduce the length spring-configurationfile.
Externalized the configurationproperties using PropertyPlaceHolderConfigurer.
Worked on publishing and listening of the EOD processing of the events using ApplicationEvent and
ApplicationListener.
Configured SessionFactory using dataSource, mappingResources, annotatedClasses and
hibernateProperties.
Used Spring quartz cron scheduler using CronTriggerBean to develop email scheduler for sending
notification.
Worked on scheduling of tasks to execute methods using SimpleTriggerBean and
MethodInvokingTimerTaskFactoryBean specifying start and regular interval for golden copy
validation and processingof incoming SWIFT messages.
Worked on Spring JMS using ActiveMQ as Message Broker and JmsTemplate for creating
connection, obtaining a session and actually receiving messages from master sources.
Created DAO layer using HibernateDAOSupport, JdbcDaoSupport and Service layer to implements
required database operations using created DAO.
Extensively worked on Hibernate3.0 for configuring hibernate properties, connection pool, mapping
components using xml file and annotations like @Embedded and @Embeddable and migrating
persistence mappingfrom xml files to annotation on domainmodel classes using JPA (Java Persistence
API) like @Entity, @Table, @Column, @JoinTable etc.
Worked on hibernate DitachedCriteria to apply filters while retrieving the data.
Used Hibernate Generic DAO framework to avoid hand coded DAO implementation taking
advantage of Search interface.
Worked on performance improvement using hibernate second level cache and query level cache using
EHCache.
Extensively worked on Object Oriented Programming aspect of Java using JDK1.5 for collections along
with comparator, multithreading, thread synchronizationusing ThreadPoolExecutor.
Worked on scheduling of jobs using Quartz based on Cron Expressions using Java.
Developed a Reporting framework to generate scheduled reports in PDF, Excel and Word Document
format using Jasper Reports, Dynamic Reports, iReport.
Fully customized DisplayTag for pagination, sorting and export functionality.
Customized the Tomcat log4j.xml for creating different log files with appender.
Worked on UMLet10.4 an opensource UML design plug-in for Eclipse.
Involved in requirement gathering, effort estimation and designing& development of Search and
Reporting module.
Prepared Technical Specification Document and Project Management Plan.
Configured eclipse plug-in for SVN and CVS.
Owned responsibility as SVN repository manager for creating tags, branches, trunks etc.
Responsible for build and deployment of application in ST and SIT environment.
Responsible for code review and executing JUnit test cases.
Environment: Java, JSP, J2ee, AJAX, JavaScript, JQuery, Oracle 10g, CSS, Struts, Spring, Hibernate,
SQLBuiilder, JDBC, PL/SQL, SQL, Windows XP, SVN, CVS, Eclipse Helios, Jasper Reports, Dynamic
Reports, iReport, Ant1.8.2, Tomcat5.5.28, DisplayTag, Eclipse Europa
ABN AMRO BANK NV, London, UK, Java Developer
06/2007 – 08/2010
Project: Corporate Client Identifier (CCID)
CCID is a Reference Data Application, deals with all clients within the Wholesale Client SBU (strategic business
unit) including global clients (multinationals), banks, financial institutions, public sector and corporations.
The application is connected with approximately 80 Interfaces from which it receives the data and to whom it
provides the data.
Application receives Source Client information from the Interfaces.CCID application do the matching of these
clients depending upon various business criteria and fuzzy logic as well. Matching do the cross referencing of these
clients with Master Client regarded as GID (Global Identifier). This all matching work is done by DME (Data
Matching Engine).
DGE (Data Generation Engine) generate the feed containing cross reference and Master Client information to
various target systems specific to respective Target System.
Responsibilities:
Worked on Struts2.0 MVC Framework for handling user request defining action-mappings,
DispatchAction.
Extensively used Spring2.5 MVC Framework for better leverage, POJO programming, Dependency
Injection, Testability.
Worked on publishing and listening of the EOD processing of the events using ApplicationEvent and
ApplicationListener.
Configured SessionFactory using dataSource, mappingResources, annotatedClasses and
hibernateProperties.
Followed Javadesign patterns command and strategic pattern.
SQL performance tuning
Environment: Java, JSP, J2ee, JavaScript,Oracle 10g, CSS, Struts, Spring, JDBC, PL/SQL, SQL, Windows XP,
SVN, CVS, Eclipse Helios, Jasper Reports, Ant1.8.2, WebSphere 5.5, DisplayTag, Eclipse Europa
LIC Employees Co-Operative Bank Ltd , Amravati, Maharashtra, INDIA, Java Developer
12/2004 – 04/2007
Project: Accounting process automation.
Since the numbers of employees were less, the accountingpart was being done manually. But as the employees’
number grew, bank took the decisionto automate the accounting part. The accounting is divided into different
modules. The modules were for Loan, Loan Installment, Fixed Deposit and saving account.
I was involved in writing the use cases using UML for various modules, design and development of the different
modules.
Responsibilities:
Design and development of User Interface, client side validation, business logic to allow super user to
print the reports for applications on daily and weekly basis in excel format.
Worked on Struts2.0 MVC Framework for handling user request defining action-mappings,
DispatchAction.
Followed Javadesign patterns observer and adaptor.
Environment: Java, JSP, J2ee, JavaScript,Oracle 10g, CSS, Struts, JDBC, MySQL, Windows XP,
SVN,NetBeans 5,, Ant1.8.2,Tomcat 4