Kaushal Kumar
(Permanent Resident, USA)
** ****** ******, *** # ****, Jersey City, NJ 07302
Email: ab9g55@r.postjobfree.com
SUMMARY:
Completed master's degree in Computer Science at Columbia University and
have more than 11 years of complete software life cycle development
experience working through Analysis, Design, Development, Testing,
Implementation of applications in Core Java, SWING, GWT, GWT-EXT, J2EE,
AJAX, STRUTS, Hibernate, Spring, Web Services, JMS, distributed Cache
Management System etc in both standalone and Client/Server and web based n-
tier architecture systems. I have good hands on experience of all phases of
Software Development Cycle (SDLC). My strengths include the following.
. Extensive experience in developing distributed enterprise applications
using JAVA, J2EE.
. Proficient in Google Web Toolkit (GWT) and GWT-Ext technologies.
. Worked on Gemfire distributed Cache Management System.
. Proficient with Spring and STRUTS frame work and hands on experience of
implementing MVC (Model View Controller) Architecture
. Experience in GUI development with JSP, Struts, Java Swing Components and
AWT.
. Good knowledge and experience in AJAX, DWR, JQuery etc.
. Very good experience on Design patterns like Singleton, Session Facade,
DAO, DTO, Command, MVC and Business Delegate.
. Experience in EJB 3. Written complex business logic using Session Beans
and Entity Beans.
. Good experience with Object/Relational Mapping (ORM) tools like
Hibernate.
. Proficient in multithreaded programming.
. Worked on writing JUnit test cases before and while writing code.
. Extensively worked on Tomcat, JBoss and BEA Weblogic Application Servers.
. Have good knowledge in the databases Oracle 9i, MySQL, MS SQL Server and
PostgreSql.
. Familiarity in version control tools like CVS and Subversion.
. Good Experience in Windows and Linux environments.
. Ability to learn new technologies quickly.
. Excellent communication skills and versatile team player.
SKILLS:
Languages JAVA, C, SQL, Java Script, AspectJ
java/j2ee technologies Spring, struts, Hibernate, WebServices
(Axis), JMS, servlets, JSP, EJB, JDBC,
JNDI, Socket and Multithreaded
programming.
web XML, XSL, XSLT, XPath, DTD, XSD,
technologies/services JavaScript, HTML, CSS
Third party apps PayPal, Amazon web services
Distributed Cache Gemfire with weblogic and standalone
Management System
rdbms Oracle 9i, MySql, MS SQL Server,
PostgreSql
Environment Windows, Linux
Persistence /other Hibernate, LOG4j, JUnit, Ant
tools
frameworks Struts, Spring, Play
IDE Eclipse, IntelliJ IDEA
version controls CVS, SVN, Perforce, Visual SourceSafe
application servers WebLogic, Tomcat, JBOSS
Education:
Master of Science:
MS (Computer Science, Columbia University) : 2007. (GPA: 3.6 / 4)
Bachelor of Technology:
BTech (Aerospace Engineering, Indian Institute of Technology, Kanpur)
: 2002
Professional Experience:
G Project Inc. (Goaloop.com)
09/2012 till date
Role: Chief Technology Officer and Chief Technical Architect
Location: 603 West 115 Street, New York, NY - 10025
Description:
I am currently employed at G Project Inc and I am responsible for the
development goaloop.com. It is a social networking platform with
functionalities ranging from basic user-interaction workflows to complex
monetary transactions. I designed the whole application from scratch and
developed it with a team of 5 developers. We launched the application last
month and currently the application is in invitation-only alpha mode. In
this job I donned several hats, including requirements gathering, building
tech-specs, design and development, work delegation and project management.
As with any other startup I had to keep a close focus on meeting deadlines
while building a robust software.
There has been many challenges in this role, but one of the biggest
technical challenges has been to find ways to keep the response time of the
application fast, even for content-rich pages. There are many parts of the
application which contain enormous amounts of data and it was a big
challenge to solve the issue of slow response time. I solved this issue by
designing and developing an in-house caching system.
Another wonderful aspect of this role is that I got an opportunity to look
through varied aspects of web application development. Finding an email
server which suits our needs, implementing the best SSL encryption for the
website, doing research and using various Amazon web-services (S3, EC2,
RDS, SES and so on), going through the documentation and then implementing
PayPal for monetary transactions etc are just a few examples.
Responsibilities:
. Requirement gathering: discussing the workflows with the founder and
other team members, give technical inputs, clarify technical issues
and challenges and come up with the UI workflows for best UX.
. Design the database for the whole application
. Design the backend architecture of the application
. Come up with tech-specs for the team.
. Hands-on coding
. Code-reviews of work done by other team members.
Goldman Sachs
10/2010 09/2012
Role: Senior Analyst Developer
Location: 200 West Street, New York, NY - 10282
Description:
Worked at the Corporate Treasury Technology division of Goldman Sachs,
which oversees the funding operations of the organization. I worked on the
technology side of the operations, building tools for analyzing the data,
creating reports etc. This position provided me a view of the horizontal
slice of the firm's trading and funding operations. It required gathering
data from various trading divisions of the firm, consolidation and
transformation of the data for various purposes like regulatory reporting,
auditing, analysis and risk management.
Responsibilities:
. Building applications using Hibernate persistence API and server side
java programming.
. Data management using in-house cache management systems. Keen focus on
managing huge amount of data being sourced from all parts of the firm.
. Working on the front-end of the application built on internal
frameworks which use MVC architecture like struts etc.
. Designing and implementing various functionalities based on user
requirements specs from corporate treasury.
. End to end designing of the applications, starting from database
designing, in-memory cache management to backend and front-end
designing and implementation.
Spiral Universe
03/2009 to 10/2010
Role: Lead Developer
Location: 1311 Mamaroneck Ave, White Plains, NY - 10605
Description:
Worked on the organization information management tool, built on the
cutting edge web 3.0 technologies like GWT, GWT-Ext, Spring and Hibernate.
It's a web-based application built on top of the revolutionary concept of a
WebTop. This software was launched for schools as school management
software and was very successful.
Responsibilities:
. Worked on the backend of the application built on Hibernate
persistence API and server side java programming
. Worked on the front-end of the application built on GWT and GWT-Ext,
including customization of various GXT core classes and using advance
GXT APIs like GXT charts etc.
. Designed and implemented various functionalities based on user
requirements specs.
. Database design and sql/hql query implementations, along with the
hibernate layer request/handler implementations.
. Developed parts of the application using JSPs, servlets, JQuery etc.
. Implemented ehCache as a cache management system.
Citibank 08/2008
to 02/2009
Role: Consultant
Location: 283, King George Road, Warren, NJ - 07059
Description:
Worked on the development of applications, which dealt with Reference Data
in Prime Finance Domain. At that time the prime finance business used to
get the required data from multiple internal data repositories within the
firm. It also sourced data from outside vendors. In many cases, prime
finance platforms distributed reference data among themselves which created
duplication of effort. Reference Data team provided Ref Data as a common
asset and carried out the activities of sourcing, maintenance and
distribution of data in a centralized fashion. This effort provided
consistent prime finance reference data for client reporting and benefited
the business by avoiding conflicts, duplication of efforts and
decentralized data maintenance.
Responsibilities:
. Worked on the development of J2EE applications to retrieve, display
and update the reference data.
> Created a web application using Struts, Spring and Hibernate to
retrieve data from the web services and present it on the UI.
> Used spring beans and dependency injection techniques to
implement the struts action classes.
> Used Javascript and AJAX to get data for various sections of the
UI without refreshing the whole page.
> Used advance javascript libraries to do client side validations
and UI manipulations.
> Used weblogic to deploy the web services.
. Implemented web services to make the data available for internal
clients.
> Used AXIS and mule based internal web services framework to
implement the web services.
> Used Spring to configure the web services application.
> Used Spring AOP interceptors to implement calls to distributed
cache APIs.
> Used Hibernate to retrieve the data from the database.
> Used Weblogic to deploy the web services.
. One of the biggest challenges was to keep the response time to
retrieve/update the data because the large database size tends to take
a lot of time in serving the requests. We implemented distributed
cache to tackle this problem by maintaining in-memory caches to
retrieve the data instead of going to the database each time.
> Implemented the distributed Cache by creating various regions
and configuring indexing in Gemfire application.
> Implemented a multi-threaded Cache-Loader to load all the data
in the cache during startup.
> Implemented background multi-threaded daemon classes to keep the
cache updated and in sync with the underlying database.
. Wrote JUnit test cases to test the caching scenarios and to test the
programs to fetch data from it.
. Implemented an internal code release tool in perl and CGI.
. Tested and deployed all the applications in UNIX.
. Created cron jobs, monitored application performance and memory
availability in UNIX environment.
. Wrote stored procedures and sql queries in Oracle, to interact with
the database to implement business logic.
Environnent: Eclipse, Windows, SVN etc.
Technologies Used:
. Java and J2EE, Multithreaded Programming
. JUnit for writing test cases
. Spring, Struts, Javascript, Ajax, XML, Hibernate, Web Services
. UNIX, Perl, CGI.
. Gemfire as distributed cache management system
. Mule as the framework for web services
. Weblogic as the application server, Oracle as the DBMS
Tradingscreen Inc. (www.tradingscreen.com) 12/2007 to
08/2008
Role: Software Developer
Location: 30 Irving place, New York, NY - 10003
Description:
Worked on the development of an electronic trading platform, which has both
buy-side and sell-side components. The platform facilitates the buy and
sell side firms for electronic order routing, execution management, and
clearing along with additional value added services such as real Straight
Through Processing, Prime Brokerage enabling, Pre-Trade analysis,
Transaction Cost Analysis and Strategy trading across all asset classes.
The work involved creating new functionalities or extending existing ones
in the backend using core java and using Swing for the frontend.
Responsibilities:
. Worked on the components for exchange connectivity and order processing
using multithreaded core java components.
. Created UI components to provide new functionalities for various clients
using SWING.
. Worked on the Oracle database to perform the data integrity checks.
. Worked on writing sql queries to do data lookups in Oracle database.
. Built, deployed and supported gateways which process fix protocol
messages using core java and fix engines like quickfix.
. Developed line-handlers for orders and executions targeted at various
exchanges.
. Built a platform for clients who wanted to connect to Bloomberg's
Portfolio Order Management System. This system provided a platform for
clients to talk in terms of fix messages, and yet connect to Bloomberg
POMS, which has its own protocol.
. Worked on Liffe APIs, including JNI layer, to make the interaction
between java code and C code possible.
. Implemented various Liffe APIs to accept intra-day market updates,
execution submissions and handling response from the exchange.
. Deployed fix gateways on UNIX and created cron jobs to schedule the
gateway start/stop times etc.
Environnent: Core Java, Swing, Windows, UNIX, Oracle, SVN etc.
Technologies Platform: JMS, JNI, Core Java, Multithreading, Hibernate etc.
GlobalLogic India Pvt Ltd
06/2005 to 07/2006
Client: Bank of America
Role: Senior Software Engineer
Location: 60, Broadway, New York, NY - 10004
Description:
Design and develop Wealth Management application. This application is
designed to assist advisors with full lifecycle advisory capabilities to
acquire, implement and manage client wealth based on industry best
practices. It helps advisors to create portfolios for various clients, and
manage them by providing historical data and its analysis.
Responsibilities:
. Used Struts framework for defining the Application UI framework and
logic.
> Worked on Action Classes for executing specific request from the
client.
> Extensive use of Dyna Action form.
> Used Validator Framework to separate the validation logic from the form
bean.
> Extensive use of Declarative Exception Handling.
. Used hibernate to interact with the underlying database in the session
beans.
. Used JavaScript for client side validation.
. Involved in defining and dynamically populating page layouts using Tiles
Framework.
. Used JSP as presentation layer and EJBs (Session & Entity) in the
Business and Data Access Layers.
. Used AJAX to make asynchronous calls from the JSP to backend servlets.
. Involved in designing and developing the EJBs that hold the core business
logic and perform all the relevant transactions.
. Collected and manipulated the data using Collections.
. Developed complex SQL queries for data manipulation and querying data
from Oracle database.
. Involved in preparing Ant builds scripts (XML based), deployments,
integration and configuration management of the entire application
modules.
. Generated log files for application logging and debugging using Log4J.
. Deployed source code control processes across the team using Win CVS.
. Deployed the application in JBOSS application server in UNIX.
Environment: Java, EJB, oracle 9i, Struts, Log4j, windows, UNIX, Oracle,
JBOSS, CVS.
Tavant Technologies Pvt. Ltd. (www.tavant.com)
02/2004 to 06/2005
Role: Software Engineer
Location: Bangalore, India
Description:
Worked on the development of a product called infrared
(http://sourceforge.net/projects/infrared/), which is used for monitoring
the performance of a J2EE application and diagnosing performance problems.
This application can be integrated with any J2EE application using AOP
classes, and then it collects matrix about various aspects of the
application performance.
Responsibilities:
. Used Struts framework to convert the initial JSP based product to a J2EE
standard web component.
> Worked on Action Classes to execute the frontend logic of the
application and direct the response to corresponding JSP pages.
> Worked on JSP to write the frontend of the web-application.
. Used JavaScript for client side validation.
. Wrote backend StatisticsManager to write the logic to gather performance
matrix.
. Worked on Aspect Oriented Programming (AspectJ and AspectWorkz) to
instrument the java Byte Code and integrate this web application with the
J2EE application to be monitored.
. Created Tiles Framework to create and maintain the layout of the GUI.
. Prepared Ant builds scripts (XML based) to build and integrate the
application with the J2EE application to be monitored.
. Used Log4J for logging.
. Used JUnit for writing test cases.
. Used subversion source control for repository.
. Deployed the application in Weblogic application server.
Environment: Java, JUnit, MySql, Struts, Log4j, windows, Weblogic, SVN.
ADDITIONAL WORK EXPERIENCE: (part time work while doing Masters at Columbia
Univ)
Center for Computation Biology and Bioinformatics
(http://www.c2b2.columbia.edu) 07/2006 - 12/2007
Role: Research Assistant
Location: 1130 Nicholas Ave, New York, NY - 10032
Description:
Worked on the development of software application geWorkbench
(www.geWorkbench.org). It was a swing-based application and was used for
data analysis and visualization of bioinformatics data. It was a hugely
multithreaded system and had complex business logic units.
Responsibilities:
. Developed various swing components in the application from scratch.
. Extended various existing components.
. Created multithreaded environment to execute logic of various components.
. Used many third party APIs for data visualization.
. Used Log4j as logging framework.
. Used JUnit for unit testing of the code.
. Used CVS as source control.
Environment: Java, Log4j, Windows, CVS.