PANKAJ OJHA
Location:
Tampa, Florida, USA
Phone: 1-813-336-9339
E-mail:
pankajojha.cdac@gmail.com
SUMMARY
●
Techno functional experience of 11+ years in software industry
and very good exposure of software and hardware architecture with experience
in R&D, Development and production environment having performed duties
related of deployment coordination, automation lead, Change approval board
lead as well.
●
Currently working for last 5 years in Oracle Financial Software
Services Limited in Banking applications, working on client location
Citibank, North America since Dec 2012.
●
Extensive experience in Compliance and Anti Money Laundering (AML)
of Citi Bank like Know Your Customer (KYC), Citi Screening (Name
Screening, Actimize), Citi gift and entertainment, Loan Platform.
●
Extensive experience in using Core Java, JNI, JSON, Struts 1.2,
Struts 2.0(custom Interceptors, validations,), Spring
(Dependency Injection, IOC, MVC, AOP, Spring JDBC (JDBC Template), JDBC
DAO (statement, callable statement, prepared statement), JAXB,
Hibernate,
●
Hands on experience in Oracle Pl/SQL technology in writing
cursor, function, procedure, triggers and usage of various collections (V
Array, associative array, nested array).
●
Performance tuning of PL/SQL code using compiler settings
(interpreted/Native code), optimization level settings.
●
Sound knowledge on Application Servers and Web servers – JBOSS
6.2/5.x, BeaWebLogic 10.3/8.1, IBM WebSphere 6.x(WAS), and Apache Tomcat 6/5.
x.
●
Experience on MS-SQL 2008, Oracle 11g/10g/9i/8i, Sybase & MySQL.
●
Experience in Database Development using SQL, PL/SQL in SQL Developer
& TOAD.
●
SME (subject matter expert) for the modules related to global consumer
banking line of business in Know your customer (KYC).
●
Extensive knowledge of Distributed Architecture, Parallel file
systems, Parallelization, High performance computing and have international
publications.
●
Working as the Deployment Lead and handling CAB, BAU support
activities, automation team and coordination with teams across the globe.
●
Worked as the Project Lead for RMB-Loan platform application of
Rand Merchant Bank (South Africa).
●
Worked as Offshore Lead for the Citi Screening project for Citi
bank North America.
●
Good working knowledge of JAVA, Oracle PL/SQL, Struts, Spring etc.
●
Total 3.5+ years of experience in R&D including System Software
Development experience with focus on supercomputing, parallelization concepts
for the application ranging from system software like scheduler, compiler in
CDAC, R&D Bangalore.
●
Good work experience with Parallel programming API like OpenMp, MPI,
and JCUDA.
●
Experience in Java Native Interface (JNI) and Remote Method invocation
(RMI) in business logic.
●
Working experience in Architecture Description using UML with various
Architecture Frameworks like Views & beyond Approach, Siemens Four View
Model, “4+1” Model.
●
Involved in Software Architecture Design using Design Pattern,
Architectural Styles, Ant patterns.
●
Working Experience in Architecture documents like IEEE 1471
documentation standard and Views & beyond documentation standard.
●
Experienced with using Object Oriented Development Utilizing Design
Patterns like Singleton, Factory, Prototype, Chain Of responsibility,
Bridge, Adapter to reuse existing code base and for better architecture of
the application.
●
Experience in compiling and building C, C++ applications using gcc,
g++, icc compilers. Proficient in using debugging tool GDB.
●
Good understanding of the Distributed Architecture, Operating
System concepts like Inter Process Communication (IPC), Synchronization,
Memory Management.
●
Developed User Interface using HTML with JavaScript Validations.
●
Good understanding of user interaction, server-client, business logic,
MVC architecture.
●
University Rank First in VII and VIII semester of B.E. (CSE) with 87.1
and 89.3%.
TECHNICAL
EXPOSURE
Languages
|
JSP, Servlet, Core Java , C++, C,SQL,HTML, PL/SQL, Spring, Struts 2.0
|
|
CASE
Tools
|
IBM Rational DOORS 9.2, IBM Rational Rhapsody 7.5.1, Rational Rhapsody
Gateway, LDRA Testing Tool
|
|
Technologies Framework
|
Struts1.2, JNI, RMI, Grid Services(using Axis, GT4),
|
|
Database
|
Oracle 9i, MySQL, PL/Sql
|
|
Scripting Languages
|
Basic Shell Script, Load leveler Script, PBS Script
|
|
Platforms
|
Linux, Aix, Windows
|
|
HPC Technologies
|
MPI (C, C++, Java ),OMP(C, C++, Java), Pthreads
|
|
Grid
Services
|
GT4,Axis,
|
EDUCATIONAL
BACKGROUND
|
Exam/Degree
|
Board/Univ.
|
Year
|
Specialization
|
Remarks
|
|
PGDAC
|
ACTS,
Bangalore
|
Feb-2007
|
DAC
|
71.7%
|
|
B.E.
|
Rajasthan
University
|
2004
|
Computer
science
|
80.65%
|
PROFESSIONAL
WORK EXPERIENCE
Company Name: Oracle financial services software limited
Client : CitiBank (North America)
Jan 2013 to Nov 2015
Project 1: Citi KYC (Know Your Customer)
Description
|
CitiKYC
is a firm-wide and globally consistent approach to implementing the Global
KYC Program whereby Citi will implement globally consistent standards,
policies, and processes defined by Compliance and drawn from existing best
practices both within Citi and from the industry. This program defines
certain requirements of the Global AML & Sanctions Policies and
consists of the standards necessary to achieve global consistency in the
performance of Citi’s Know Your Customer (“KYC”) assessment, Enhanced Due
Diligence (“EDD”), Customer Risk Scores, Account Profiles and Periodic
Reviews/ Client Refreshes.
CitiKYC
platform will enable a single shared KYC record for the customer to the
extent permitted by applicable local laws and regulations and link related
accounts to maintain a comprehensive understanding of clients and accounts
throughout the bank and across lines of business. CitiKYC platform consists
of a series of functional components that interact to deliver a
comprehensive KYC repository which includes User Interface, Record
Structure, KYC Forms, Workflow, Risk Model, Entitlements Framework, Data
Privacy Framework, Audit Trail, Document Management, Reporting, Data
Migration Facility and Interface Management.
|
Role
: Development, Automation, Deployment, Monitoring Team Lead
Environment : Java (Spring IOC, Dependency Injection, Spring
JDBC, Struts 2.0, JSON, Oracle, Autosys, Service now
Responsibilities:
●
Involved in writing Spring Configuration XML file that contains
declarations, and extensively used Spring IOC and AOP.
●
Involved in developing code for obtaining Hibernate bean references in
spring framework using setter Dependency Injection(DI) or IOC.
●
Involved in developing code for obtaining Data source, session
factory, transaction factory using Spring Dependency injection, access using
app context
●
Implementation of DAO, VO for various modules like entitlement module,
account profile form module and persistence using Hibernate DAO support API
(Hibernate Template).
●
Writing and analyzing Pl/SQL code of various procedures, functions and
corrected the design and performance issues.
●
Used core java with JSON to pass data between the interfaces of the
application, Serialize and DE serialize. Well versed with externalization
concepts.
●
used JDBC (statement, callable statement, prepared statement)
for various modules for DML, procedure/function execution.
●
Developed client side validations in JavaScript and server side
validations in Struts2 for the Client Profile of KYC.
●
Lead for automation and deployment team.
●
Lead for the change approval board meeting for approving changes to be
applied in the production environment.
●
Efforts estimation and the resource assignment for the activities
involving middleware, ETL, Autosys, database activities.
●
SME for GCG (consumer, LOB) and perform techno functional role.
●
Defining the deployment process, monitoring process, coordination with
the teams across regions.
●
Performance analysis of DB packages for the production and estimation
of resource requirement during deployment. Projecting issues and expected
contentions.
●
User requirement gathering and automation of Reporting using service
now.
●
BAU production support activities and User Acceptance Testing for the
fixes.
●
Automation of Health check, Log monitoring (Exception monitoring).
●
Accessing impact of change on services and infra, database, golden
gate, Data load and perform Change approval lead role for KYC.
●
End to end understanding of Incident/Problem/Change management
process.
●
Addition, deletion, update in batch jobs using JIL file in Autosys.
●
Analysis of issue and supporting defects by providing fixes of the
application defects reported by users.
●
Automation of Data patches for the known issues
●
Good understanding of architecture and golden gate issues and
provide solutions.
●
Good exposure to Process involving Incident, Problem, Change request
life cycle in Service Now, Virtual IT and other ticket management
application.
●
Automation of health check, log monitoring.
●
Job status monitoring using autosys API
●
Automation of reports generation and publishing via shell script to
senior management.
●
Planning and implementation of data center migration, fid changes.
●
3-DNS changes in jobs, setting up password encryption (pwp) on unix
host.
●
Planning and Implementation of COB.
Company Name: Oracle financial services software limited
Client : CitiBank (North America)
Dec 2011 to Dec 2012
Project 2: Citi Namescreening (Citiscreening)
Description
|
Citi
Screening system is a name screening system build on the top of Actimize
intelligence server (AIS) and provides the hits to the other system and AML
Name screening unit.
The AML Name Screening Unit will execute customer research based
on demographic information for new and existing customers. The AML Name
Screening Unit is responsible for:
●
Reviewing screening results that result in matches requiring
compliance (level 2) advisement.
●
Evaluating and resolving potential and exact matches, referring as
appropriate to AML Investigations and other compliance teams.
●
Ensure review and disposition is adequately documented.
●
Conducting ad hoc searches to determine if there are customers that
match names referred by Citi businesses, regulators, and government
agencies.
|
Role
: Team Lead and Senior Developer
Environment : Core Java, Shell Script, MQ,
Oracle, Golden Gate
Responsibilities :
I was involved
in writing wrapper scripts on top of the services provided by actimize and
creation of Alert Ingestion utility (MDB) which ingest alerts from various
system and routes them
accordingly.
●
Writing Code for various functionalities using J2EE (MQ) for alert
ingestion and Core Java, Shell script, Pl/Sql
●
Understanding Use Case and Create Design and Activity Diagram for the
Developers.
●
Implemented MVC design pattern using Struts2 Framework in Presentation
tier.
●
Involved in Design, UML Modeling and in developing Use Case Diagrams.
●
Version Management using SVN.
●
SQA activities like RCA, Code Checklist and Review.
●
Timely Delivery of the tasks.
●
Leading the team for configuration management activities of the
application.
●
Involved in other activities like COB/deployment etc.
Company Name: Oracle financial services software limited
Client : Rand Merchant Bank (South Africa)
Jan 2011 to Dec 2011
Project 3: Loan Platform -RMB
Description
|
RMB-Loan
Platform is the system which provides UI to the User for inserting the
information of the Client, loan Deal and fetch information from other
applications running on the server. It also provides the facility to
generate the Amort Schedule based on the Drawdown and the Repayment
profiles saved in the same system. It generates various reports for the
user in Excel, HTML format about the history/background of the client and
current status of the deal. It provides various options for create loan
deals, Loan Management, Portfolio management, various ready to use Template
Setup.
|
Role
: Team Lead and Senior Developer
Environment : JSP, Struts, HTML, CSS,
JavaScript, JBOSS, Oracle 10g
Responsibilities :
●
Writing Code for various functionalities using Core Java, JDBC, POI,
Struts.
●
Understanding Use Case and Create Design and Activity Diagram for the
Developers.
●
Version Management using SVN.
●
SQA activities like RCA, Code Checklist and Review.
●
Timely Delivery of the tasks.
Company Name: Bharat Electronics Limited
Client: Indian Navy
Project 1) Combat Information
System (CIS):
Description
|
CIS is system software which involves embedded applications on
the distributed network in a submarine of Indian Navy. This project
provides the information related to the foreign bodies in/out the water
using modeling of the processed output of various applications like radar,
periscope, etc. The CIS system software works as a diagnostic manager and
the initialization manager for the project. In this project various domain
applications run on platforms like RHEL 5 and windows. The processors which
hold these platforms are intel as well as PPC. The communication between
the applications across the platforms is taken care by the middleware DDS
(Data Distribution service).
The initialization manager works to initialize all
the assemblies with relevant information like it assembly id, segment id,
strength etc. and performs the POST operation on all the assemblies of a
segment and publish the result to DDS data space. The Diagnostic manager
subscribes and aggregates all the results published from segments and
publishes the status of the system/segment/assembly. The results published
in the data space can be used to start the application on the nodes
|
Role
: Deputy Engineer–
Architecture Design, Architecture Description, Architecture Documentation,
Development of the application.
Environment:
Core Java, C++, DDS, Rhapsody
Responsibilities :
●
Developed various API for the post results and diagnostics.
●
Architecture Description using views
and beyond approach.
●
Usage of various architectural styles
like public/subscribe, decomposition, pipe and filters etc.
●
Design patterns used in this are Creational (Factory, Prototype,
Singleton), Structural (Adapter, Bridge).
●
Modeling of class diagram, sequence diagram using UML in Rhapsody.
●
Architecture documentation using the views and beyond template.
●
Added Multithreading to improve upon performance.
Project 2) Development of
Advance Resource Reservation and Scheduling APIs between External Scheduling
Agent and Local Scheduler PBS:
Description
|
SIGG is software for managing requests from the external
scheduling agent of the Satellite based job scheduler. Scheduling Interface
for Garuda Grid behave like an interface between two schedulers as it takes
request from Ganesha Scheduler and schedules on local scheduler (PBS) after
extracting the information related to the availability of nodes in Grid
from the Centralized Resource Manager (Information server) as the
Information server is updated periodically regarding the availability
of the nodes . The Scheduling Interface does an intelligent match making
based on the requirement submitted by the user.
The SIGG invokes the native functionality using
JNI provided by the PBS scheduler and extracts the information related to
the status of the submitted jobs. The use of JNI provides the interface
rich benefits related to the performance and the use of platform sensitive
information. Depending on the number of available nodes in the clusters the
scheduling interface does an intelligent match making and divides the
problem size if necessary for some specific application input data.
This
Grid resource reservation API provides two capabilities. First, it allows
users to make reservations either in advance of when the resource is needed
or at the time that the user needs it. Second, the same API should be
capable of making and manipulating a reservation regardless of the type of
the underlying resource, thereby simplifying the programming when an
application must work with multiple kinds of resources and multiple simultaneous
reservations. If resources are reserved in advance the user can submit the
job with its reservation id else the reservation id will be generated on
the fly and the job will be submitted to the required resource
|
.
Role
: Project Engineer– Design,
Development and self-testing of the application.
Environment
: C, Core Java Linux, Java Native Interface (JNI), XML
Responsibilities :
●
Design the request and response messages format in xml for various
APIs.
●
Wrote API routines using Core Java, JNI and creating new Java classes
as required.
●
Extensively used Core Java and Collections for development and
implementation.
●
Wrote Linux Shell Scripts as required.
●
Added Multithreading to improve upon performance.
●
Design patterns used in this are Creational (Factory, Prototype),
Structural (Adapter, Bridge).
●
Publication for the same topic has been done in the international High
performance computing conference as a regular research paper (Hipc-2008).
Project 3) Grid Enablement Of Disaster
Management Using Synthetic Aperture Radar Application
Description
|
This is a collaborative project between CDAC, ISRO (Indian Space
Research organization).The Air Borne Radar of ISRO captures the flood data
from flooded region and that raw data is send to the Storage Resource
Broker server. Depending upon the availability of the nodes at various
clusters the data may be splitted and uploaded to the server of SRB and SRB
clients are installed at all the compute clusters of Garuda Grid. Then the
DMSAR executable is send to the various clusters and it starts a SRB
Session to download the splitted data at its end and starts processing the
raw data using the signal processing algorithms. After processing the data
at geographically distant locations the results are assimilated from all
clusters.
|
Role
: Design, Development
and self-testing of the application.
Environment
: C++, SRB API’s,
OMP, MPI
Responsibilities
●
Successfully designed from serial to parallel for better performance
using the OpenMp (For Shared Memory IPC) and MPI (For Distributed Memory
IPC).
●
Timing of the execution was reduced from 36 hrs to 1.2 hrs.
●
Scales up to desired number of processes and threads.
●
Porting of the code at heterogeneous clusters of the Grid.
●
Integration with Storage Resource Broker with its API’s
●
Tested on the Garuda Grid (National Grid) and Param Series of
Supercomputers.
●
Publication for this concept is been done in the international
conference held for the Uses of Synthetic Aperture Radar in CEOS-SAR 2008.
Project 4)
Automatic Grid Service Generator Web Tool:
Description
|
This Automatic Grid Service Generator (AGSG) is a tool to
generate Grid services. It frees the user from the detailed steps involved
in making a grid service. It converts an already existing executable file
as a grid service. The AGSG tool can be used on a Globus 4.x based grid. It
contains two Sub Tools: Grid Service generator Sub tool, Client tool to
invoke service. It accepts valid input from user (information like service
name, service description, legacy application directory structure, service
interface (port type in WSDL), input and output messages type, upload
executable/library/supported files. It generates WSDL, WSDD, and JNDI,
Service implementation, Stubs, Client code and then builds the service
using Ant tool followed by Gar files Generation, Mailing service to request
for deployment, Updating Information Server. Client Tool fetches
information from database and publishes service URI corresponding to user.
User can invoke service by selecting URI.
|
Role
: Design, Development
and self-testing of the application.
Environment
: Core Java, J2EE,
MySQL, Linux Shell Script, MVC2, Servlet, Struts, JSP, JavaScript (DOM),
JDBC, Apache Tomcat, Ant, Axis, GT4
Responsibilities:
● Calculate
the Level of Efforts (LOE) required for this change.
● Indulged
in design activities for application and design the database.
● Developing
of the Application using MVC Framework by implementing Controller, Service
classes.
● The
application is developed using Java / J2EE technologies, the frontend is
developed on JSP technology.
● Used
Netbeans as Integrated Development Environment (IDE).
● Used
the MVC design patterns to create the integration layer for web and middle
tier.
● Used
the JAXB package for the creation of all the XML files in the Application.
● Used
the JavaScript (DOM) for the client side validation.
● Developed
and Tested applications on Apache Tomcat Web Server and deployed on the same.
● Extensively
used Java, Servlets, and Struts for development and implementation.
● Work
closely with QA team to assist them during testing of the application.
● Provide
technical support after the website went live.
Project 5) Customization of workflow
tool Triana for Job submission on Distributed Environment
Description
|
This workflow is a graphical user interface and integrated with
the middleware technologies so there is no need for the application users
to pass the necessary administrative overhead (resource specification,
authentication, scheduling, data delivery, location transparency) and to
understand the intricacies of the Grid. User can Define and execute task
flows with conditional dependencies, looping, and conditional logic placed
anywhere within your workflow. This is an automated workflow tool which
takes care of executing the application in the distributed environment. It
executes the application in geographically distant locations and to
assimilate results it gets the part of results back from the different
clusters to the central node. Triana workflow is customized according to
the requirement for use of the functionalities for various grid
applications.
|
Role
: Design, Development
and self-testing of the application.
Environment
: Core Java, JNI,
J-OpenMP (JOMP), JMPI, Globus
Responsibilities
:
●
Study of the open source workflow Triana Tool.
●
Customization of open source Triana for Our requirements.
●
Design, development and testing on the National Garuda Grid.
●
Takes some desired inputs from user and uses the commands of
Middleware Globus to submit the job and fetching the output from the remote
locations.
●
Publication for the same is been done in the international as well as
the national conference (innovative concept)
PUBLICATIONS
●
Research Paper in conference Hipc2008 (international) on topic
“Disaster Management using Synthetic Aperture Radar application on Interfaced
Satellite and terrestrial grid”.
●
Research Paper in ETCC-08 conference on topic “GE-MINDA a Workflow
Management Tool for interfaced satellite and terrestrial grid”.
●
Poster in CEOS-2008 (international) conference on topic
“Automated workflow”.
Place: Tampa, USA
(Pankaj Ojha)