Function Tech Lead/ Java-j2ee Developer Resume
Weehawken, NJ
SUMMARY:
- Over 12+ years of experience in design and development of various financial processing applications using Java and J2EE technologies.
- Worked as Team lead at onsite (US) consisting of 5+ team members for Confidential projects.
- Experienced in Java, J2EE (RMI, JMS, Spring framework, Servlets, JSP, Struts2.x, EJB etc), multithreaded(concurrent API), web services(SOAP/REST), SQL, PL/SQL, Oracle, XML
- Worked with various Application servers like Websphere 7.5.x, Weblogic 8.x, 9 and 10.3 Jboss and Tomcat.
- Excellent working experience with Java Messaging JMS and server side applications
- Fast learner, team person, ability to lead as well work as a team member, creative and dedicated.
TECHNICAL SKILLS:
Languages: J2SE1.6, C, PERL.
Web Technologies: webservices(SOAP/REST),Spring, Struts,, Servlets 2.1, JSP1.1, CGI with PERL & C. JQuery/Ajax(only for a single project module not proficient yet)
Distributed (Messaging) and ORMSonic Broker7.x, Talarian5.5 - Smart sockets, JMS 1.1(worked on Weblogic, Websphere and Jboss)., Websphere MQ, Tibco-EMS, RMI, EJB2.0(only session and MDB beans)Application Servers and Web containers: Jboss-Fuse, Weblogic 8.1.1 to 10.1, WebSphere7.x, JBoss 2.4.4/3.0.4 , JWS2.0, Tomcat3.x/4.x, Jetty (servlet container) J2EE1.3.
Methodology: UML, UNIRAD.
UML Tools: Together Control (5.5), Enterprise Architect 3.51, Rational Rose (evaluation).
Tools: and Scripting Languages: HTML3.2 and Java Script1.1, Ant1.4/1.5
IDE Tools: RAD 7.5/8.1, Eclipse 3.1.1, WSAD5.1, Borland Jbuilder6, Visual Caf, Visual J++, IntelliJ IDEA 3.x
Source Management: Github,CVS, PVCS, Perforce, Microsoft VSS, Star team4.1, SCCS. Serena dimensions
RDBMS: Oracle8i, 7.x., 9i. IBM DB2/UDB.(client only), Sybase and MS SQL.
Operating Systems: Sun Solaris 2.8(Sun OS 5.8), Windows 2000/NT/98/95.MS-Dos.
Design Patterns: Singleton, Composite, State, Proxy, Lookup, Registry, Factory, Facade, Decorator, MVC, IOC/DI(in spring).
PROFESSIONAL EXPERIENCE:
Confidential, Weehawken, NJ
Function Tech Lead/ Java-J2ee Developer
Responsibilities:
- Analyze current LB provisioning via SNOW(serviceNow) fields. Designed Input/output fields(schema) required for LbaaS.
- Created RestFul microservices from existing Maven archetype templates provided by Confidential custom RPP(Resource provisioning proxy)
- Created LbaaS Adapter Rest Service- consumer facing microservice.
- Created LbaaS endpoint Rest Service - a microservice that actually creates a Load Balancer in Netscalar device for a given DataCenter and Region.
- Created LbaaS schema (data/schema objects that are using by both adapter and endpoint for internal communication.
- Create OSGi bundle(kar file) via Maven and deploy on Confidential custom ESB, RPP platform built on top of Red hat JBoss Fuse6.2.0
- As functional tech lead, involved in design/POC implementations for HP cloudFoundry, and sampls apps using OpenStack API .
Confidential, NYC
Senior Java/J2EE consultant
Responsibilities:
- Create implementations for new Services/Architecture blueprints. Involves exploring new APIs from Vendors(mostly IBM services) and integrate with existing Services.
- Created new RESTFul Service to get documents from Ondemand Server. This is part of migration project from Mainframe to AIX servers(backend) and migrating clients to new ICN (developed by other teams). My part involved in providing a stop-gap solution for BTS areas who still wanted to use existing Service. This involved in creating a REST service that would accept JSON object and return JSON as response. Response object contains a HTML with CSS, contains list of documents from Ondemand server with hyperlink that either can get the actual document from new ICN service or existing service.
- Created new ITIM Create user service that allows specific BTS areas to create users in TIM/TAM servers directly instead of going to manual process( send an email/servicenow request to backend teams)
- Created load test utilities using new Concurrent API(executionService and Completion Service) to emulate a load activity on ODService for performance tuning/analysis purposes. User of this utility can specify how many simultaneous requests they want to process with list of all folders. This utility would kick off that many calls to the service concurrently, collate results and print out times taken( it’s a non-ui Util).
- Involved in migration of all services from websphere 6 to websphere 7.5 platform( this project was already in process at the time of my starting at Guardian). Mostly involved in testing and coordination activity.
Technologies:Core Java 1.6(Multithreading using concurrent package, Data Structures(only Java )MQ Series 1.6, JMS, RAD 7.5/8.1, Websphere 7.xMakefile modifications for migration for token creation from mainframe to AIX. An exit program required by users to access the back end server.
Confidential, Weehawken, NJ
Senior Java Developer
Responsibilities:
- Java Developer role and work on TDA’s Phase-1 plan- address current PROD issues and improve back-end FeedHandlers’ performance, stability and availability issues.
- In progress: Initiated MC tactical plan phase-II: Initiated POC for couple of Feedhandler migration using Spring framework.
- Designed, Developed generic caching to allow cache any object type using Java Generics and Java data Structures. This implementation (currently in PROD since Nov’12) allowed batch jobs that were taking more than 11 hours to complete within 2 hours as part of Phase-1 performance improvements across important Feed Handlers.
- Developed self-expiration objects, with configurable time-to-expire, that are stored in cache.
- Improved Feed handler process availability, which usually hangs due to threads processing corrupt messages going out of thread pool putting current process in hang state, by moving all un-handled (corrupt/bad messages) to Dead Letter Queue.
- Created/Setup a daily job(shell script) to read all messages from DeadLetter Queue and send out email to prod support DL group.
Confidential, NYC, NY
Senior Java Developer
Responsibilities:
- Senior Java developer role.
- In progress: LiquidityRisk processing: risk occurring due to liquidation of an instrument. This is currently in dev progress with a draft FRD.
- Automated JV Split (Joint venture split) process: split risk and clean pnl between different books. When traders book trade on behalf of their counterparts in other regions ( eg. EMEA /AEJ) in their book, the risk, pnl from this trade is split to his counterpart book.(to synthetic node or book ).
- Coding for specific risk and systematic risk: risk occurring due to non availability of enough(atleast 3 years) market data for a market observable(eg. Newly issued IPOs, say, LNKD), analyst come up with XM(extreme move) and Beta(systematic risk) which has be adjusted during VaR calculation. Granularity is at dimension level.
- Designed and developed Caches to hold HypoPnl, TradeCache,Data data.
- Work with Offsite ( Confidential Mumbai-powai office) on project/module basis and not a complete full-fledged roll.
- Bi-weekly first level production support on ROTA basis during local(NY) time.
- Developed Trade Calendar Messaging service using Tibco EMS topic publishing/receiving to allow users to roll Over (override) a particular Books(node) risk sensitivities. This can be done at both trade level and book level using a excel template.
Confidential, NYC,NY
Senior App Developer/OnSite Lead
Responsibilities:
- Onsite Team Lead(for workflow module).
- Designed and developed SOA based services that intercommunicate with each other .All services deployed on Weblogic9.2/10.x.
- Setup process for novating trades from ICE/Tzero..
- Install SSL s for accessing BoA’s Entitlements services. Developed WSDL based service to retrieve user Entitlemnts.
- Developed STP eTrading platform with Bloomberg(BBG) into BOA’s Back office systems.
- Developed Workflow as a webservice(WSDL), that receives all communications from UI(.NET) which in-turn communicates with other services for booking Singlename CDS, CDSI, Tranche trades, NEW, Step-in, RemainingParty(RP) and PartialRemaingParty trades
- Setup Weblogic Foreign JMS to send and receive messages from Sonic Broker.
- Developed MessageDrivenBeans for receiving messages from clients and process asynchronously.
- Participated in analysis and design for new projects under way to Unwind Trades and compress existing SN and Index Trades.
- Level 1 production support. Interact with users/external systems’ support.(a very small team of 4 ) Had to work or BAU projects as well as support production systems on a scheduled basis.
- Create/Setup JMS queues in Weblogic. Develop corresponding MDBs, and message producers.
- Developed connectivity to external brokers such as Tzero/ICE, GFI, ICAP and interdealer using broker specific APIs and STP trades into Bank’s Back office.
- Developed XML translators using DOM parsers and XPATH to convert receiving FPML messages from brokers to local business objects.(POJO).
- Developed sql scripts/procedures .
- Developed/modified existing processes to handle ISDA standardization for CDS trades like SNAC, SANZ, Std. Emerging Market CDS trade STP.
Confidential
Responsibilities:
- Onsite Team Lead./ Senior Developer.
- Designed and developed Workflow layer to integrate Sales and Trader platforms, Messaging layer being interface for both systems.
- Devloped FpML transformations that parse incoming FPML(XML) and translate to Java Objects for SN,Index and tranche trades that flow between Sales-Trader systems
- Developed Command API to refresh correlations in Banyan from external Systems. Developed COM component and integrated into Excel to create and send BanyanCommand to refresh correlations.
Technologies: core Java(collections, Multithreading, Generics,autoboxing) 1.4 and 1.5, Spring2.x, J2EE, Weblogic 10.x, Oracle, Sql Server, Linux, Unix(solaris) and Weblogic 8.1, 9.2,10.3 .
Confidential, NYC, NY
Senior Application Developer/Onsite Team lead
Responsibilities:
- Tech. Lead Onshore leading a team of 5 members.
- Involved in technical design for Migration.
- Day to day product support. Fix the problems, if any, with risk and PnL numbers generated through batch runs.
- Coordinate with both upstream and downstream systems with feeds being generated. Create new feed specifications
- Project Management: create and maintain project plan(MS Project), conduct meetings and update all stake holders
- Understanding business functionality and preparing Functional specifications review and convert to technical specifications.
- Preparing Technical specs that include, Class and Sequence diagrams.
- Design new functionalities-followup coding and review developed code
Confidential, NYC,NY
Senior Application Develper/Team Lead
Responsibilities:
- Manage Project plan, Project Deliverables. Project Closure documentation.
- Gathering business requirements from users, both front and middle office.
- Preparing functional and technical specification.
- Designing workflow using Weblogic integration server.
- Performed Fit-Gap-analysis to check whether there exists any system/processes in firm that already performs the jobs being developed.
- Designed and developed (coded) infrastructure objects for processing Market (Curves) Data using Messaging service-Inbound service.
- Market data Service, a service using messaging framework, caters the needs of all clients (to the MDS) with static and fixings data from the database on demand for a given date.
- PnL Predictor - Used to analyze the risk specifications used by the system to calculate greeks. Designed basic architecture.
- Generating risk reports using OLAP cubes with Actuate iServer/Oracle setup (Under development).
- Designed and Developed Automated process to capture closing market data to support a variety of business process, including curve fitting, transaction pricing and price reconciliation
- Developed shell scripts that will be called from Auto sys job monitor.
Environment: J2SE1.4.1, J2EE1.3, Weblogic8.1.1, JMS1.1 Windows 2000, Sun Solaris 5.8, Oracle, eclipse3.0.1., Hibernate3.1.1
Confidential
Sr. Java Application Developer
Responsibilities:
- Processing feeds coming from different systems to Confidential . The inbound feed comes in both ASCII/EBCDIC formats to be parsed, formatted, create corresponding Java objects and fed into the Transaction processor (EJB) which will in turn create Transaction product objects and persists into database (DB2).
- Designed and developed infrastructure objects for processing all the feeds.
- Infrastructure objects include creating XML format for the feed layout that’s defined in COBOL format. Developed XML parser using XPATH, to read the file using the defined XML format.
- Session Beans for processing the feed on the Application server, which will in turn create Transaction objects for further processing, done by Transaction processor.
- Developed both ASCII & EBCDIC translator that converts data in EBCDIC format to ASCII format and vice-versa.
- PL/SQL for persisting into database. Feed processors that are not required to call any EJBs are processed via a stored procedure.
- Developed shell scripts that will be called from Auto sys job monitor.
Environment: J2SE1.3.1, J2EE1.3, WSAD5.1, Web sphere, Windows XP/2000, Sun Solaris 5.8, DB2.
Confidential
Responsibilities:
- Understanding business functionality and converting to Generic API.
- Designed and developed Java API for REFS system: REFS contain several lists of interests. Its functionality is to provide all its clients the ability to search the lists and return a definitive hit count or to return all the matched patterns in different flavors.
- CLIPS web interface: Designed and development undergoing.
- Involved in developing Java API for converting XML alerts, generated by Mantas system, to Confidential ’s internally maintained Support Requisition system, in short SRS.
- AlertDeamonProcess: A 24/7 alert monitering system monitored by GS’s Hawk monitoring systems. Develop Java utility for reading XML data from external system converts and re-sends to SRS- Support Requisition System, used in GS for bug tracking.
Environment: J2SE1.4, eclipse2.1, Ant1.5 scripting, Tomcat 4.1.18, Windows XP/2000, Sun Solaris 5.8
Confidential, NewYork-NewJersey
Onsite Team Lead/Sr Java Developer
Responsibilities:
- Tech lead- Onshore. (Client Interface)
- Maintain Project plan.
- Preparation of requirements document and UML documentation using Together
- Development of various critical modules including
- MDBs (Message Driven Beans) to interface the middle tier with S1 Smart Server and Confidential Client. Clients use JMS Queues to send the data (Orders) and subscribe to JMS Topics to receive Orders placed by other clients of the system.
- JNI wrapper for the existing communication code (Legacy code of S1Trader) written in C/C++ language, which opens a socket connections and maintains the session until the client conveys logoff message. Modified existing C code for JNI wrapper to work. Also created makefile for building Library (.so) file.
- UserConfiguration module, maintaining and sending the user profile details to clients (applets) upon logon or when ever the user changes their respective configuration details. These user Profile objects, called ConfigObjects were stored into database (Oracle) as Blob objects.
- TradeManagement module, establishes a communication with an exchange. Receives orders in CMS (SIAC/NYSC) standard format from the exchange, which is then parsed and placed into Hashmap and published onto MiddleTier for further processing.
- HeartBeatMonitor module, monitoring various Server components and recovery procedures being done using pure Java socket programming
- Setting up Configuration Management - Development of Ant and shell programming
Environment: EJB2.0, WSAD5.1, Swing/JFC, Jboss3.0.4, Servlets2.1, JNI1.1, Oracle8i, Jdk1.4, JMS1.0/1.1, Sun Solaris 2.8(Sun OS 5.8), Windows 2000.
Confidential, NYC,NY
Java Developer
Responsibilities:
- HeartBeatMonitor (HBM) Service - developed, using smartsocket api to maintin all clients’ “stay alive” connection with Smartsockets messging server. Sends heartbeat msg to all clients, upon not receiving ack back, process initiates logoff on that client
- Order Reduction - developed OrderMatching logic and also logic identifying best bid and best offer for a particular structure. When a trader lifts/hits an Order for a trade, his orders should also be reduced by the size that he traded for - Reduction Logic.
- ExceptionReportingSystem (ERS): designed and developed Exception/error reporting systems using startteam’s startgate API.
- Fixed some show stopper bugs: Fixed most of the bugs related to GUI(JFC/Swing) issues on the client part of the Application.
- Reverse Engineering: using Together 5.5, Reverse Engineered important modules of the system . Generated Class diagrams, created State-Transition diagram, SequenceDiagrams
Environment: Talarian SmartSockets5.5(Messaging), SmartMQ, Swing/JFC, Oracle8i, Jdk1.3, Sun Solaris 2.8(Sun OS 5.8), Windows 2000
Confidential, NYC, NY
Java Developer
Responsibilities:
- IssuerDataModule - Developed JSP/java objects required to get the entities’ prices and display on web.
- Pricing Grid Module - designed and developed applet-servlet communication. This Applet sends all the details entered by the client trader to a servlet which calculates the interpolated price for the credit default swap using a financial calendar developed by third party.
- Transaction Worksheet Module - developed transaction worksheet page that displays trade details for both trader/sales.
- Trader Home module - developed trader home page in JSP that uses Java bean’s gettter methods to display contents.
- Responsible for writing Stand alone programs to update the daily ratings in the database from the information received from Moody’s and S&P.
- Beans associated with all the above modules to show a kind of abstraction between presentation layer and Business layer.
Environment: JavaWebServer2.0, Servlets1.1. JSP1.0, JDK1.2, Sun Solaris 2.8(Sun OS 5.8), Windows 2000. JSP, Servlets, Java Beans, JDBC under SunOS 5.6/NT environment. The database used is Oracle8.0. Driver - thin driver.
Confidential, Hoboken,NJ
Java Developer
Responsibilities:
- Developed five screens on the client side using SWING, drag and drop.
- Developed client side to drag and drop a JTree node(both leaves and parent nodes) on to a JTable. This Jtable cells which are inturn containers (Jpanels). So that they can be filled with other components( like a graph bar or a view option component etc)..
- Developed CORBA Client side Objects to connect to the database and to retrieve the data. Developed utilities to read the data from one a CORBA server and sends to the client application
Environment: Java, CORBA (Visigenic's CORBA 3.2 for Java & Cpp), Swing, JDBC, MS Developer Studio 5.0.
Confidential
Java Developer
Responsibilities:
- Responsible for server side scripting using Servlets.
- Used JDBC-ODBC bridge driver to connect to SQL Server 6.5
- Customized queries to retrieve data, developed user interfaces in HTML which are dynamically generated by a server side program - Servlets.
Environment: Jdk1.0, Servlets, JDBC1.0.
Confidential
Java programmer
Responsibilities:
- Responsible for server side scripting using Servlets.
- Used JDBC-ODBC bridge driver to connect to SQL Server 6.5
- Customized queries to retrieve data, developed user interfaces in HTML, which are dynamically generated by a server side program - Servlets.
Environment: Jdk1.0 Servlets, JDBC.