Wells & Fargo, VISA, Fidelity, USAA, HSBC, Deluxe Corp

advertisement
Sujoy Datta Choudhury
A hands-on, seasoned senior middleware technologist having over 12 years of rich experience in various
phases of Software Development life cycle like requirement analysis, feasibility study, design preparation,
development, coding, testing, mentoring and reviewing.
Well versed with software development methodologies including Object Oriented Analysis and Design with
expertise in JEE related technologies and RDBMS.
Technical Skills
Languages
Technologies
RDBMS
Web/Application Servers
Version Control Tools
IDE
Build Tools
Operating Systems
Java, XML, SQL, PL/SQL, HTML, DHTML, JavaScript
Web Services, Servlet, JSP, SOAP, JMS, RMI, EJB
SQLServer2005/2008, Oracle 9i/10g/11g, MySQL5.5
Weblogic10.x/9.x/8.x, Webshpere7/6.x, Tomcat6.x/7.x, JRun3.1
Perforce2010.2, AccuRev4.x, Star Team4.0
Eclipse Indigo, Netbeans5.x
Ant1.6.x/1.7.x
Windows Server/7/Vista/NT/XP, AIX, Ubuntu
Industries
Banking, Finance, Insurance, Retail, Pharmaceutical, Telecommunications, Health-Care, Bio-Tech
Customers
Wells & Fargo, VISA, Fidelity, USAA, HSBC, Deluxe Corp., Wilmington Trust Corp., Sallie Mae, Life Technologies, Lowes,
IKEA, Medco, UHC, Proximus
Professional Experience
Unica, An IBM Company – Principal Consultant
November 2007 – Current
IBM Unica Marketing Operations (UMO) streamlines marketing processes and improve marketing
management. With Unica Marketing Operations, marketers increase their efficiency by gaining better
control over their budgets and processes. Unica Marketing Operations helps marketers align
resources to objectives, streamline production processes, track budgets and expenses, and improve
team collaboration.
 Designed, architected and implemented “Product Extension Group” (PEG) framework from scratch
on top of the product UMO.
 Implemented the Client Side of the Java Web Service using Axis1/2 with Java Servlet.
 Designed a generic XML scripting tool to solve dynamic customer requirements.
 Written a parsing algorithm for the script XML to communicate over SOAP based Web Service.
 Developed a Swing based UI tool to auto generate XML scripts.
 Implemented a decoupled messaging system using JMS for efficient data synchronization between
different systems.
 Written Store Procedures in SQLServer and Oracle to solve complex customer requirements.
Extensively used JDBC APIs for calling Store Procedures and other SQL statements from XML
script.
 Responsible for requirement gathering, providing efficient solution to various customer issues,
delivering customized code, deploying and testing.
 Involved in client interaction for resolving technical and functional issues on a daily basis.
 Mentoring customers, partners (Acxiom and PinPoint Solutions) to use PEG framework
 Managed the on-site and off-shore team.
Environment:
Java1.5, JWS, XML, JMS, Servlet2.4/2.5, SQLServer, Oracle, Weblogic, Websphere, AIX, Windows
Emptoris Inc. – Technical Lead
January 2006 – November 2007
Page |1
With a unified set of Strategic Supply Management and Enterprise Contract Management software, the
Emptoris solution suite turns procurement and contracting into a source of sustainable cost savings and
improved working capital. Emptoris frees executives from the compromises and constraints of ERP and
traditional spend management silos with capabilities that not only deliver savings across more categories,
but improve variability of cost structures and take advantage of volatile market conditions.








Managed 3 core projects (Notification, Integration Framework and Multi-Currency) for the Denali
release.
Involved in high-level and low-level design of all the projects.
Implemented the new Notification Framework using Java Collection Framework, JMS and JSP
on top of an old one to make it more flexible, robust and easy to use.
Written Multi-Threading code to handle multiple notifications simultaneously using Java
Threading.
Implemented Apache POI to import/export data to/from the application for the Integration
Framework.
Developed the Multi-Currency framework and implemented specifically for RFx module. Built a
team of 6 to maintain these frameworks for RFx Module.
Understanding various other co-modules for dependency relations and to leverage utility APIs.
Involved in resource planning/recruiting/framework presentation/knowledge sharing with other
module owners.
Environment:
Java1.4.2, XML, JMS, Servlet2.3/2.4, JSP, SQLServer 2005, Weblogic, Windows
Unica Softech – Senior Software Engineer
March 2005 – January 2006
IBM Unica Campaign delivers personalized, relevant marketing messages across all channels.
With Unica Campaign, marketers can plan, design, execute, measure and analyze multi-wave, crosschannel and highly personalized marketing campaigns. Unica Campaign's recognized best-of-breed
functionality and scalability plays a key role in defining and executing interactive dialogues with customers
and prospects.






Implemented “Scheduler” module for IBM Unica Campaign for daemon jobs using Java
Collection Framework and Java IO.
Extensively used Java Threading to schedule multiple jobs at a time without any delay over any
other parallel jobs.
Wrote complex multi-threaded unit testing classes to test the whole end to end functionality.
Involved in implementing the “Calendar” module using Servlet, Core Java and XML.
Wrote complex SQL queries and stored procedures required for inserting, updating and viewing of
Calendar data.
Implemented Java programs to dynamically build the SQL Queries and fetch the data based on
user selection and search criteria on UI.
Environment:
Java1.4.2, XML, Servlet2.3, SQLServer 2000, Weblogic
Kanbay Software (Acquired by Capgemini) – Consultant
December 2003 – March 2005
EBPP (Electronic Bill Presentation and Payment) / EIPP (Electronic Invoice Presentment and
Payment) project is mainly to view “Statements” and “Cycle-to-Date” transactions for a user. The
Feb release of this project consists of two new VIEWs for EBPP and one new VIEW for EIPP.


Proactively developed a “Mapper Tool” using Java Reflection API which saved 90%
development time as it auto-generates the Mapper classes and interfaces from a record class.
Worked on two different projects (EBPP/EIPP and Credit Card Service - eCare)
Page |2







Responsible for impact analysis and design of EBPP/EIPP project to incorporate all the 3 VIEW
changes.
Was responsible for any technical issues of Kanbay’s EHouse Architecture and configuration
related issues.
Responsible for writing and managing the Use Cases, Test Cases, Review Logs and Impact
Analysis for migration project
Designed and developed the “Loyalty Management Service” (LMS) Redemption.
Designed and developed the “Auto Rush Payment” of Bills online.
Work allocation for the team, code-review, documentation etc.
Dev-testing, creating builds, OSC/client interaction for requirement changes.
Environment:
Java1.3, XML, Servlet, JSP, Websphere, Windows
eGain Communications – Software Engineer
May 2000 – November 2003
eGain Service Suite, an innovative and complete suite of customer service and contact center software,
helps organizations transform their traditional call centers into multichannel customer interaction hubs.
These hubs enable dramatically improved customer experience, unified multichannel customer service,
end-to-end service process efficiencies, and enhanced contact center performance.
 eGain Live 6.2.
a) Task allocation and responsible for managing the overall build process, which includes writing
of Ant scripts and scheduling of integrated build with Platform 6.1.
b) Designing and implementing the “Customer Entry Process”, “Live Agent console” and the
integration with the “Unified Agent Console”.

Implementation of Performance and scalability: The quality of any product lies in the factors
like performance and scalability. Three resources: CPU speed and availability, System memory
and Disk (and Network) I/O operations limit all applications.
a) A tuning strategy, like finding the top main bottlenecks and then targeting the quickest and
easiest one to fix and so on, was taken to solve performance problems. Improved the system
response time to 40%-60% in some critical and heavily used user actions. Defined and
developed a process bulk-insert to log the events into a file and later do a time or number of
events based (both configurable) bulk-insertion to the DB. This process has made the product
4-5 times more scalable by reducing 50%-60% DB load.
b) Facilitated static data caching mechanism for the in modules like SAP, UAP, Attributes Settings
and Preference Settings. This exercise speeded up the system performance 30%-50% when it
is heavily loaded with agents.
c) Worked on DB Query optimization using SQL Profiler and the query execution plans of SQL
query analyzer. This exercise includes creating indexes on proper columns, using more joins,
clubbing a set of queries to a stored procedure etc.
d) Written an output filter to zip the response stream, which helped the UI consoles to load
faster.

JSR-107 specifies API and semantics for temporary, in memory caching of Java objects, including
object creation, shared access, spooling, invalidation, and consistency across JVM's. The primary
goal to JCache is to develop a robust yet simple caching solution for eGain Service6. Designed
and developed the distributed part of the project.
a) The application begins by creating a cache name space and associating a cache loader with it.
The cache loader is application code, which materializes application objects to be cached.
Following this simple initialization, concurrent threads may retrieve objects from the cache. If
the object does not exist or has expired, the cache loader is invoked.
Page |3
b) An application may optionally associate a set of attributes with a name space or with individual
cached objects. Examples of attributes are time to live, expiration date, and whether an object
can be spooled.
c) Applications may also explicitly create, replace, remove, or invalidate objects in the cache.

eGain Interact lifts interactive customer assistance to a higher plane, addressing issues
encountered while co browsing complex company Web sites. With the Interact module, common
escorting problems like double posting, frame breaking and session failure are easily overcome,
allowing your CSRs to focus on providing quality online customer service to your customer. The
enhanced quality of service helps you retain customers and increase the number of successful
transactions.
a) Programmed a key module "Cookie Cache", which managed caching of cookies according to
RFC-2109 specification. This applet and server based cache acts as a substitute to the
browser’s cookie caching mechanism. The particular valid cookies were retrieved from the
cache with every request made to the web-server.
b) Implemented HTTP 1.1 (RFC-2616) protocol to retrieve pages from web sites and provided
XML Rules based parsing of web pages. XML rules were specified corresponding to HTML tags,
this facilitated support for future additions to HTML standards.
c) Developed the “Request Manager” module. This module involves in parsing the HTTP request.
Later this request is used to make the URL connection to retrieve web pages.
d) The product has patents of the following new inventions:
i.
ii.
iii.
Browser snap - a way to transmit data from the browser to the proxy server at the
beginning of a new interact session.
Content-based pre and post-cache rules-based processing - This parsing facilitated
user/session specific business rules and co-browsing non-DOM client-side events like
JavaScript functions call.
Multiple sessions on the same browser process - it was a significant improvement on
competitors' implementation where they can only accommodate a single browser session at
a time, on one machine.
Environment:
Java1.3, XML, EJB2.0, Servlet2.2/2.3, JSP, JRun, Weblogic, Windows
Chatur Computer Services, India – Java Consultant
February 1999 – April 2000
Chatur Computer Services has been executing contracts for various financial institutions including
mutual funds and foreign institutional investors.
eSmart web based accountant to manage and maintain Investments, Accounts and Personal Finances.
This is an online Accounting and Investment Portfolio. Accounting module consists of Bank/cash
transactions, which generates several Report Voucher, Day Book and up to Balance Sheet. Supporting to
this several utilities are on the work with Year End and Year Freeze programs.
eNetwork that connects investors with stockbrokers. The idea behind the iBroking is to create a network
that both brokers and investors would find useful in carrying out daily transactional activities without
having to bear the inconvenience of creating, maintaining and administering an online trading website.




Worked with clients to understand the system and involved in writing High Level Design and Low
Level Design specifications.
Implemented the “Accountancy Module” which is the core part of the system using Java Servlet.
Worked on integration of the various modules like Investment, Portfolio management, Personal
finances etc.
Was involved in Unit-test plan for the whole system, Bug fixing and documentation of the
individual modules.
Page |4




Implemented the “Automated Mail Module” to send mails to the users (investor and brokers) the
details of their trading particulars.
Involved in UI (HTML, JavaScript) module. Done client side validation of the product.
Designed and implemented “Administrative Module” of the system. This module validates all kinds
of users, their terms and condition and it takes actions regarding that.
Was involved in maintenance of the web site and troubleshooting.
Environment:
Java 1.2, Servlet2.1, ServletExec, Windows
Education


Post Graduate Diploma in Advanced Computing - (PG-DAC), Pune University, India, 1999
Bachelor of Engineering - (REC Nagpur a.k.a VNIT), Nagpur university, India, 1997
Page |5
Download